Цитата:
Сообщение от "Hatchet" Harry
каким способом можно получить текущее системное время, переведённое в 24-часовой формат
|
Есть функция DateTimeToSystemTime. Можно так:
Код:
var
dt: TSystemTime;
begin
DateTimeToSystemTime(Now, dt);
Label1.Caption := 'Hour: ' + IntToStr(dt.wHour);
Label2.Caption := 'Minute: ' + IntToStr(dt.wMinute);
Label3.Caption := 'Second: ' + IntToStr(dt.wSecond);
end;
Цитата:
Сообщение от "Hatchet" Harry
как сделать чтобы время работы таймера на капче лейбла выводилось выше 24-часов
|
Для этого можно использовать функцию HoursBetween из модуля DateUtils, передавая ей в качестве параметров дату и время старта таймера и результат функции Now.
Код:
Label1.Caption := IntToStr(HoursBetween(StartDateTime, Now));
_____________
P.S. Кстати, если посмотреть исходный код функции Now, то можно увидеть, что под Windows вызывается API-шная функция GetLocalTime, заполняющая структуру SYSTEMTIME с полями wHour, wMinute, wSecond и т.д. Так что если программа для Windows, то можно использовать прямо эту функцию, не пользуясь функцией Now:
Код:
var
sysTime: _SYSTEMTIME;
begin
GetLocalTime(sysTime);
Label2.Caption := 'Hour: ' + IntToStr(sysTime.wHour);
Label3.Caption := 'Minute: ' + IntToStr(sysTime.wMinute);
Label4.Caption := 'Second: ' + IntToStr(sysTime.wSecond);
end;