![]() |
genaue Zeitangabe
hoi
ich habe einen timer benutzt der solange läuft wie die prozedur läuft, wenn aber die prozedur "lagt", lagt der timer mit und zeigt daher nie die echt vergangene zeit seit die prozedur läuft an. ich hab mir jetzt überlegt anhand der windows uhr die differenz von der startzeit bis zur intervallzeit auszurechnen, aber wie kann ich das am besten anstellen? sagen wir mal es ist 12:34:55 ... und später irgendwann 13:35:55, wie rechne ich das? das es so: 13:35:55 - 12:34:55 nicht geht ist mir klar, vorallem frag ich mich wie ich es bei: 23:12:11 bis 00:00:00 und die darauf folgende zeit rechne, weil sie ja nach 24stunden wieder bei 0 beginnt. hoffe jemand weiss rat =) |
Re: genaue Zeitangabe
du musst datum und zeit zusammen nehmen und dann damit rechnen. Bsp. anhand von zeit (muss noch für +datum erweitert werden:
Delphi-Quellcode:
[edit=Sharky]Delphi-Tags korriegiert. Mfg, Sharky[/edit]
var IZeit: Integer;
SZeit: String; begin SZeit := timetostr(time); //13:45:11 IZeit := (strtoint(copy(SZeit, 1, 2)) * 3600) + (strtoint(copy(SZeit, 4, 2)) * 60) + (strtoint(copy(SZeit, 1, 2))); //also zeit als gesamtsekunden errechnen, und das ganze noch mit jahren.. end; |
Re: genaue Zeitangabe
Delphi-Quellcode:
Var Start, Ende, Dauer: TDateTime;
Tage: Ineger; SMS: TTime; Start := Now; ... End := Now; Dauer := Ende - Start; Tage := Trunc(Dauer); SMS := Frac(Dauer); {Sunden Minuten, Sekunden...} |
Re: genaue Zeitangabe
danke für die hilfe :)
btw; was ist der unterschied zwischen "time" und "now"? sieht für mich gleich aus |
Re: genaue Zeitangabe
Hai silent,
ich weiss nicht ob es die Funktion bei D6 schon gibt. Suche mal nach MilliSecondsBetween. |
Re: genaue Zeitangabe
Zitat:
Date = Datum Now = Datum und Uhrzeit |
Re: genaue Zeitangabe
danke :)
nach der func guck ich mal |
Re: genaue Zeitangabe
Oder so:
Delphi-Quellcode:
Wenn Windows allerdings mal länger als 49,7 Tage läuft, könnte es einige Probs geben. :mrgreen:
Var Start, Dauer: LongWord;
Start := GetTickCount; ... Dauer := GetTickCount - Start; Dauer = Zeit in Millisekunden; GetTickCount ist die Zeit in Millisekunden, die verganngen ist, seit dem Windows gestartet wurde. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz