Содержание материала

Ниже приведён код обработчика события OnClick для Button1. Он показывает диалоговое окошко с текстом в следующем формате

 Windows started on Thursday, February 10, 2000 at 11:42:46 AM

Its been up for 0 days, 3 hours, 22 minutes, 54 seconds

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

ndays: double;

ticks: LongInt;

btime: TDateTime;

begin

{Функция GetTickCount получает количество миллисекунд, прошедших с момента старта Windows}

ticks := GetTickCount;

 

{Чтобы получить дни, необходимо разделить на количество миллисекунд в дне, 24*60*60*1000=86400000}

ndays := ticks/86400000;

 

{теперь вычитаем из текущей даты полученное количество дней работы Windows}

bTime := now-ndays;

 

{показываем диалоговое окошко с сообщением}

ShowMessage(

  FormatDateTime('"Windows started on" dddd, mmmm d, yyyy, ' +

                 '"at" hh:nn:ss AM/PM', bTime) + #10#13 +

  'Its been up for ' + IntToStr(Trunc(nDays)) + ' days,' +

  FormatDateTime(' h "hours," n "minutes," s "seconds"',ndays));

end;

 


 

Code:

function UpTime: string;

const

  ticksperday: Integer    = 1000 * 60 * 60 * 24;

  ticksperhour: Integer   = 1000 * 60 * 60;

  ticksperminute: Integer = 1000 * 60;

  tickspersecond: Integer = 1000;

var

  t:          Longword;

  d, h, m, s: Integer;

begin

  t := GetTickCount;

 

  d := t div ticksperday;

  Dec(t, d * ticksperday);

 

  h := t div ticksperhour;

  Dec(t, h * ticksperhour);

 

  m := t div ticksperminute;

  Dec(t, m * ticksperminute);

 

  s := t div tickspersecond;

 

  Result := 'Uptime: ' + IntToStr(d) + ' Days ' + IntToStr(h) + ' Hours ' + IntToStr(m) +

    ' Minutes ' + IntToStr(s) + ' Seconds';

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  label1.Caption := UpTime;

end;

 


Автор: Павел

 Чтобы определить сколько времени прошло с момента последней перезагрузки системы необходимо воспользоваться функцией GetCurrentTime: LongInt;

 Возвращаемое значение: время в миллисекундах.

 Пример использования:

 

Code:

Edit1.Text := FloatToStr(GetCurrentTime / 1000) + ' секунд с момента перезагрузки';

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить