Показать сообщение отдельно
  #24  
Старый 05.03.2011, 18:28
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

Вот что-то типо такова )))
Код:
// в 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;
Ответить с цитированием