uhrzeiten subtrahieren
-
Hi
Ich möchte eine Variable anlegen in der die Uhrzeit z.B: "16:10:44" gespeichert ist.
In einer Listbox sind ebenfals verschiedene Uhrzeiten aufgelistet.
Wenn man in der Listbox eine Uhrzeit auswählt soll diese Zeit von der
Variable Uhrzeit abgezogen werden bis diese 00:00:00 ist.
Leider habe ich keinen Plan wie man sowas machtBitte um Hilfe
DANKE
-
Sieh dir mal TDateTime an, damit lässt sich sowas vergleichsweise bequem erledigen.
-
Danke für den Tipp
Bin fündig geworden.
Habe allerdings noch ein kleines Problem beim Vergleich der Uhrzeiten.Und zwar funktioniert der erste Vergleich nicht. Wenn die Uhrzeit 00:00:00 ist kommt als ausgabe immer Sie haben noch Zeit übrig
if (DateTime == (TDateTime)"00:00:00" ) { Edit3->Text="Exakt"; } if (DateTime > (TDateTime)"00:00:00" ) { Edit3->Text="Sie haben noch Zeit übrig" ; } if (DateTime < (TDateTime)"00:00:00" ) { Edit3->Text="Sie haben zuviel Zeit verbraucht"; }
Habe die Zeit 00:00:00 in eine TDateTime Variable geschrieben und dann Verglichen, ging nicht.
Die Zeit mit StrToDate, ging auch nicht
Und der Versuch es zu Casten geht auch nicht.Kann mir jemand helfen ??????????
DANKE
-
Kann mir den Keiner helfen ??????????????????
Ich komme echt nicht weiter
BITTEEEEEEEEEEEEEEEEEEEEEEEEE
-
Ich weiß zwar noch nicht genau was du vorhast, aber vielleicht hilft dir
void __fastcall DecodeTime(unsigned short* hour, unsigned short* min, unsigned short* sec, unsigned short* msec) const;
<edit>
oder, wenn du nur vergleichen willst,
CompareDateTime
DaySpan usw...
</edit>
-
Danke für deine Antwort aber leider Hilft mir das nicht.
CompareDateTime finde ich in der Hilfe gar nicht. Und DecodeTime hilft mir nicht.
Nochmal zu meinem Problem.
Ich habe 2 TDateTime - Variablen und die möchte ich auf Gleichheit prüfen.Danke
-
Warum hilft dir DecodeTime nicht?
TDateTime ADateTime=Now(); unsigned short AHour,AMin,ASec,AMSec; DecodeTime(ADateTime, AHour, AMin, ASec, AMSec);
Jetzt hast du alles in einzelnen Variablen und kannst gemütlich vergleichen, subtrahieren usw.
-
benutze bei TDateTime den Tag mit
denn bei
if (DateTime < (TDateTime)"00:00:00")
erhältst du 23:59:40 wenn 20 Sekunden unterschied
sind und 23:59:40 ist aber größer als 00:00:00
daher muß den Tag mit einbeziehen oder komplettes Datumgruß promicha
-
@Fubar
Danke hat funktioniert