15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как долго запущена Windows

Ниже приведён код обработчика события 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


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;