PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windows Boottime ermitteln


Date Murphy
21.07.2002, 14:22
Hi,

wie kann ich mit Hilfe der Funktion GetTickCount den

Tag und die Uhrzeit ermitteln, wann Windows gestartet wurde ?

Gruß Date Murphy :D


Felix Kaiser
21.07.2002, 14:26
function GetBootTime: TDateTime;
begin
Result:= UnixToDateTime(DateTimeToUnix(Now)-(GetTickCount div 1000));
end;

Kannst dann mit dem ermittelten Zeitstempel wie gehabt weiterfahren. (siehe Kapitel Datum und Zeit der Delphi-Hilfe) Mit DateTimeToStr könntest daraus z.B. einen String bilden.

Date Murphy
21.07.2002, 14:44
@ Felix Kaiser

Wenn ich deine Funktion verwende, bekomme ich ich beim Compilieren folgende Fehlermehldungen:

Undefinierter Bezeichner: "UnixToDateTime"
Undefinierter Bezeichner: "DateTimeToUnix"

Gruß Date Murphy :D

Felix Kaiser
21.07.2002, 14:55
Dann binde mal die Unit DateUtils mit ein ;)

Date Murphy
21.07.2002, 15:18
@ Felix Kaiser

Danke schon mal, hat soweit alles geklappt, aber eine Frage

habe ich noch. Wie kann ich die Funktion zerteilen, so das ich

die Bootuhrzeit und das Bootdatum in jeweils einem Label

darstellen kann ??

Gruß Date Murphy :D

Felix Kaiser
21.07.2002, 15:33
Aus einem Zeitwert TDateTime kannst du die einzelnen Werte anhand folgender Funktionen problemlos ermitteln:

SecondOf(DateTime);
MinuteOf(DateTime);
HourOf(DateTime);
DayOf(DateTime);
MonthOf(DateTime);
YearOf(DateTime);

:cool:

Date Murphy
21.07.2002, 15:55
Kannst du mir mal bitte ein Beispiel geben, wie ich nun zum

Beispiel die Boottime in einem Label anzeigen kann ?

Gruß Date Murphy :D

Felix Kaiser
21.07.2002, 16:10
Label.Caption:= Format('Gebootet: %.2d:%.2d:%.4d - %.2d:%.2d:%.2d',[DayOf(dt),MonthOf(dt),YearOf(dt),HourOf(dt),MinuteOf(dt),SecondOf(dt)]);

Label ist dein Label und dt ist der Zeitstempel als TDateTime.

Date Murphy
21.07.2002, 18:17
Wenn ich mein Programm jetzt starte, bricht es mit einer Fehlermeldung ab :(

Gibt es auch eine Möglichkeit, die Bootuhrzeit und das Bootdatum einzeln zu ermitteln ?

Gruß Date Murphy :D

Felix Kaiser
21.07.2002, 21:41
Die Fehlermeldung wird wohl von Format erzeugt, weil mir ein Leerzeichen zuviel reingerutscht ist. Vielleicht sollte man doch nicht einfach alles blind kopieren ;)

Date Murphy
21.07.2002, 21:54
Danke für deine Hilfe ;)

Gruß Date Murphy :)