powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Программа должна определять что начался следующий день как ?
6 сообщений из 6, страница 1 из 1
Программа должна определять что начался следующий день как ?
    #34675056
Begem0t!k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея в том что когда наступает новый день прога должна делать какие то действия.

Текущий день заноситься в реестр ! Чтобы потом сравниваться с текщим днем !
Вот тут то и проблема ! Пользователь может сам поменять дату ! Как это лучше реализвать ?
Удаленный сервер не подходит
...
Рейтинг: 0 / 0
Программа должна определять что начался следующий день как ?
    #34675101
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Begem0t!k
Bk> Текущий день заноситься в реестр ! Чтобы потом
Bk> сравниваться с текщим днем ! Вот тут то и проблема !
Bk> Пользователь может сам поменять дату ! Как это лучше
Bk> реализвать ?Родил на коленке:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  for(FlagStop= 0 ;!FlagStop;Application->ProcessMessages())
  {
    TDateTime d1=TDateTime::CurrentDateTime();
    Sleep( 1000 );
    TDateTime d2=TDateTime::CurrentDateTime();

    int dt=double(d2-d1)* 24 * 3600000 ;
    if (dt< 0 ) dt=-dt;

    if (dt< 900  || dt> 1100 ) MessageBox(Handle,"Дату поменяли, бл@ !", 0 ,MB_OK);
    else
    {
      // тут проверяем, не наступил ли новый день
    }
  }
}

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Программа должна определять что начался следующий день как ?
    #34675114
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Пользователя можно (нужно) лишить прав менять дату
2. Если все-таки п.1 невозможен и пользователь дату меняет:
есть функция GetTickCount() - кол-во мс с момента старта Win
анализируй корреляцию значений системной даты и GetTickCount(), системное время и GetTickCount() увеличиваются синхронно. Это можно делать если прога постоянно работает.

Но если изменение происходит при нерабочей проге и нет связи с внешним миром, то никак. Могут время поменять, комп перезагрузить, или и то и другое вместе. Алгоритм с сохранением состояния обоих значений и учетом перезагрузок сделать нереально, слишком много рабочих ситуаций. Часы единственный источник времени для проги.
Если тебя закрыть в комнате без окон, дверей и часов :), Как думаешь через неделю ты скажешь какое сегодня число? Твоя прога в похожей ситуации.

3. Можешь просто спросить пользователя - дата поменялась, будем делать то-то?
...
Рейтинг: 0 / 0
Программа должна определять что начался следующий день как ?
    #34675133
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то подсказывает мне (форум по Delphi наверно :) ) что ты защиту соорудить пытаешься с триальным периодом.

Как вариант - считай не разницу в днях (хотя и ее тоже можно), а количество дней использования, при старте смотришь - 10 дней записано, значит осталось 5. 15 записано - ни одного не осталось.
А запись производи дня и сколько в этом дне прога отработала. При выходе (или в процессе работы) счетчик отработанного времени в дне увеличивай. Больше 24 часов в сутках быть не может. В конкретном дне 24 часа вышли - значит время двигают.
...
Рейтинг: 0 / 0
Программа должна определять что начался следующий день как ?
    #34675194
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T wrote:

> Что-то подсказывает мне (форум по Delphi наверно :) ) что ты защиту
> соорудить пытаешься с триальным периодом.
>
>
Если честно, проще всего пытаться считать количество запусков или часов
работы в программе.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Программа должна определять что начался следующий день как ?
    #34676326
Begem0t!k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема закрыта
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Программа должна определять что начался следующий день как ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]