Jak sprawdzić ile czasu upłynęło od startu systemu
Jensztejn
W celu sprawdzenia ile minut upłynęło od uruchomienia systemu możemy skorzystać z dwóch funkcji zadeklarowanych w modułach Windows lub MMSystem.
W pierwszym wypadku kod będzie wyglądał następująco:
program Foo;
{$APPTYPE CONSOLE}
uses Windows;
var
SysTime : Cardinal;
begin
SysTime := GetTickCount div 60000;
Writeln('System pracuje przez: ', SysTime, ' min.');
Readln;
end.
Drugie rozwiązanie polega na wykorzystaniu funkcji TimeGetTime
:
program Foo;
{$APPTYPE CONSOLE}
uses MMSystem;
var
SysTime : Cardinal;
begin
SysTime := TimeGetTime div 60000;
Writeln('System pracuje przez: ', SysTime, ' min.');
Readln;
end.
to przykład kodu który poda nam dokladnie czas działania systemu ładnie ułożony na godziny, minuty i sekundy, kod wrzucamy do timera:
zmienne zadeklarować globalnie.
var
godz,min,sec,min1,sec1 : Cardinal;
czas,data,godz1:string;
begin
godz :=GetTickCount() div 3600000;
min :=GetTickCount() div 60000;
sec :=GetTickCount() div 1000;
sec1:= sec - min*60;
min1:= min - godz * 60;
if (sec>1) then
begin
czas := IntToStr(sec1)+ 's';
end;
if (sec>=60) then
begin
czas := IntToStr(min1)+ 'm ' + IntToStr(sec1)+ 's';
end;
if (min>=60) then
begin
czas := IntToStr(godz) + 'h ' + IntToStr(min1)+ 'm ' + IntToStr(sec1)+ 's';
end;
zmienną "czas" teraz wystarczy wyświetlić w labelu lub innym elemęcie, jak się komu podoba
mejbi :)
abc: wszystko fajno, tylko zamiast Integer użyj typu Cardinal
No, bo tak poza tym to to już bylo
A jak zrobic to bez dodatkowych modulow ?
A no tak:
var
czas : Cardinal; //a tu byl integer gdyz skopjowalem z powyzszego :]
begin
czas :=GetTickCount() div 60000;
Caption:='System pracuje przez: '+IntToStr(czas)+' min.';
end;