![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
К сожалению, разброс временных рамок от нескольких часов до двух-трех дней.
|
|
#17
|
|||
|
|||
|
значит значения нужно хранить в минутах я так думаю
|
|
#18
|
|||
|
|||
|
Да, верно.
|
|
#19
|
|||
|
|||
|
а лучше вообще в UnixTime. Сейчас пример выложу
|
|
#20
|
|||
|
|||
|
Необходимо, лишь, чтобы при запуске программа считывала последнее сохраненное время, и , после вычисления оставшегося времени, вновь запускала таймер.
|
|
#21
|
|||
|
|||
|
программа будет всегда запускать "таймер" при закрытии и как только наступит нужный срок (например третий день работы) - вылетит с окном, шо мол нельзя работать, денег хочу))
|
|
#22
|
|||
|
|||
|
Не совсем так, это программа для меня. Она мне должна напомнить о прошедшем времени с момента открытия документа.
|
|
#23
|
|||
|
|||
|
Про запуск данной программы в массы думать рановато
![]() |
|
#24
|
|||
|
|||
|
Вот что-то типо такова )))
Код:
// в Uses нужно добавить Registry
var
diff: integer; // глобальная переменная
procedure SaveToReg;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('\Software\MyProg\',True);
Reg.WriteInteger('DT',DateTimeToUnix(Now));
Reg.Free;
end;
function ReadFromReg: TDateTime;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('\Software\MyProg\',True);
Result := UnixToDateTime(Reg.ReadInteger('DT'));
Reg.Free;
end;
procedure TForm1.FormClose(Sender: TObject);
begin
if diff = 3 then // например программа отработала 3 минуты
SaveToReg; // тут тоже нужна проверка, наступило ли нужное событие по времени, если уже да - то делать SaveToReg, если нет - то не делать
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// SecondsBetween, MinutesBetween, HoursBetween, DaysBetween, WeeksBetween, MonthsBetween, YearsBetween - разные разницы
diff := MinutesBetween(Now,ReadFromReg);
//diff - тут для примера разница в минутах
end;
Последний раз редактировалось Assistant, 05.03.2011 в 18:32. |
|
#25
|
|||
|
|||
|
Благодарю, сейчас попробую изобразить. А могу ли я рассчитывать на Вашу помощь в дальнейшем, при возникновении вопросов?
|
|
#26
|
|||
|
|||
|
ICQ: 593977748
только не сегодня, завтра можно, щас бежать нужно на ДР, вотку пить с пивом )) |
|
#27
|
|||
|
|||
|
и с портвейном ))
|