Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zeiten verrechnen (https://www.delphipraxis.net/9089-zeiten-verrechnen.html)

TheMiller 17. Sep 2003 22:04


Zeiten verrechnen
 
Hey.

das ist bestimmt eine dumme Frage, aber was ist daran falsch??
(Möchte die Differenz einer Uhrzeit mit der aktuellen Zeit haben)..

Ist bestimmt ganz leicht, aber ich raff's net. Das ist mein Versuch

Delphi-Quellcode:
var time1,time2:TTime;
var time3:ttime;
begin
time1:=strtotime(Edit1.Text);
edit1.Text:=timetostr(now);

time2:=strtotime(edit2.Text);

time3:=(time2-time1);
time3:=strtotime(Edit3.Text);

Christian Seehase 17. Sep 2003 22:35

Re: Zeiten verrechnen
 
Moin DJ-SPM,

was spricht gegen:

Delphi-Quellcode:
Edit1.Text := TimeToStr(StrToTime(Edit1.Text)-now);
?

thomasdrewermann 17. Sep 2003 22:39

Re: Zeiten verrechnen
 
Hallo DJ-SPM,
durch hast lediglich einen Fehler bei der Zuweisung und der Typenumwandlung gemacht.
Hier die Erläuterung deienes Quelltextes:
Delphi-Quellcode:
var time1,time2:TTime;
var time3:ttime;
begin
time1:=strtotime(Edit1.Text); //Du weist der Variabln time1 die in Edit1 eingegebene Uhrzeit zu OK!
edit1.Text:=timetostr(now);  //Dann versuchst du jetzt die eingegebene Zeit in Edit1 mit der aktullen zu überschreiben ERR!
                              // Es müsste Edit2 zugewiesen werden
time2:=strtotime(edit2.Text); // Dann versuchst du aus dem mit "edit2" gefüllten Feld die aktuelle Zeit wieder einzulesen ERR!

time3:=(time2-time1);        //Jetzt ermittelst du die Differenz
time3:=strtotime(Edit3.Text); //Hier versuchst du der schon mit der Differenz gefüllten Variabln Time3 eine In Edit3 eingegebene Zeit zuzuweisen
Hier das Richtige Beispiel:
Delphi-Quellcode:
Var time1,time2:TTime; //Es sind nur 2 Variabln nötig, denn now hat ja schon die akutelle Zeit!
begin
time1:=strtotime(edit1.text); // Die eingegebene Zeit einlesen
edit2.text:=timetostr(now); // Aktuelle Zeit ausgeben
time2:=now-time1; //Differenz ermitteln und Time2 zuweisen
edit3.text:=timetostr(time2); // Differenz in edit3 ausgeben
Voila :-)

MFG
Thomas

TheMiller 17. Sep 2003 22:44

Re: Zeiten verrechnen
 
Naja,

bekomme es jetzt net gebacken. Er rechnet die Zeit ja hoch. Die Differenz muss doch aber mit jeder Sekunde kleiner werden. Kanst du mir vielleicht morgen weiter helfen / oder auch jmd. anderes. Gehe jetzt erstmal ins Bett

Gute N8 an alle

thomasdrewermann 17. Sep 2003 22:48

Re: Zeiten verrechnen
 
Hi,
wenn du eine in der Vergangeheit liegende Zeit angiebst, dann wird der Abstand zwischen dem Zeitpunkt in der Vergangeheit und der fortschreitenden Zeit ja immer grösser statt kleiner!

Wenn du ein Zeitpunkt in der Zukunft angiebst rück dieser ja immer näher und der abstand wird immer kleiner.

MFG
Thomas

TheMiller 21. Sep 2003 20:46

Re: Zeiten verrechnen
 
Also, irgendwie ist mir das echt zu hoch...

ich bekomme es nicht hin, dass ich ein Programm code, dass eine Zeit von z.B.: 08:35:00 und der jetzigen Zeit die Differenz berechnet und dann bis auf 0 runterzählt, da ja die verbleibende Zeit bis zur Zeit (08:35:00) immer kleiner und nicht größer wird.

Wer kann einem kleinen, begriffsstuzigen jungen Mann helfen???


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 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