Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi genaue Zeitangabe (https://www.delphipraxis.net/11943-genaue-zeitangabe.html)

Pseudemys Nelsoni 17. Nov 2003 13:41


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 =)

SirThornberry 17. Nov 2003 13:52

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:
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;
[edit=Sharky]Delphi-Tags korriegiert. Mfg, Sharky[/edit]

himitsu 17. Nov 2003 13:56

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...}

Pseudemys Nelsoni 17. Nov 2003 14:32

Re: genaue Zeitangabe
 
danke für die hilfe :)


btw; was ist der unterschied zwischen "time" und "now"? sieht für mich gleich aus

Sharky 17. Nov 2003 14:33

Re: genaue Zeitangabe
 
Hai silent,

ich weiss nicht ob es die Funktion bei D6 schon gibt. Suche mal nach MilliSecondsBetween.

Sharky 17. Nov 2003 14:34

Re: genaue Zeitangabe
 
Zitat:

Zitat von silent
...was ist der unterschied zwischen "time" und "now"? sieht für mich gleich aus

Time = Uhrzeit
Date = Datum
Now = Datum und Uhrzeit

Pseudemys Nelsoni 17. Nov 2003 14:40

Re: genaue Zeitangabe
 
danke :)

nach der func guck ich mal

himitsu 17. Nov 2003 15:07

Re: genaue Zeitangabe
 
Oder so:
Delphi-Quellcode:
Var Start, Dauer: LongWord;

Start := GetTickCount;
...
Dauer := GetTickCount - Start;

Dauer = Zeit in Millisekunden;
Wenn Windows allerdings mal länger als 49,7 Tage läuft, könnte es einige Probs geben. :mrgreen:



GetTickCount ist die Zeit in Millisekunden, die verganngen ist, seit dem Windows gestartet wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz