systemzeit anzeigen
-
hallo zusammen,
wie kann ich die systemzeit in meinem programm anzeigen??
also nicht nur zu einem zeitpunkt anzeigen, sondern das sie immer weiter läuft, genau wie unten rechts die uhr von windows, nur halt mit sekunden...das ich die uhr zu einem zeitpunkt anzeige habe ich schon
struct time t; gettime(&t); AnsiString minuten = t.ti_min; AnsiString stunden = t.ti_hour; AnsiString sekunden = t.ti_sec; AnsiString zeit= stunden+":"+minuten+"."+sekunden;so hinbekommen, hab jetzt nur keine ahnung mehr wie ich die uhr "weiterlaufen" lassen kann
gruß
Christian
-
Dafuer hast du die Timer-Komponenten!
Pack den Timer auf dein Formular und aktualisiere die Anzeige im OnTimer-Event.
-
das war zu einfach

vielen dank ich glaube ich hätte mich halb doof gesucht...
-
Sieh dir mal TDateTime an, damit lassen sich Zeit- und Datumsangelegenheiten in der Regel deutlich eleganter erledigen. Beispiel:
Label1->Caption = Now().TimeString();
-
Jansen schrieb:
Sieh dir mal TDateTime an, damit lassen sich Zeit- und Datumsangelegenheiten in der Regel deutlich eleganter erledigen. Beispiel:
Label1->Caption = Now().TimeString();OK

aber ich hab schon wieder das nächste problem!!!
ich habe die aktuelle zeit und ich habe eine zeit als string aus einer datenbank die ich mit StrToTime umgewandelt habe...
ich will jetzt von der zeit aus der datenbank die aktuelle uhrzeit abziehen, damit ich einen "countdown" starten kann bzw. die eine zeit runterlaufen lassen kann...aber wenn ich einfach zeit2-zeit1 mache, bekomme ich irgendwelche wilden fehlermeldungen
hat jemand irgendwelche lösungsvorschläge???
-
-
"Irgendwelche wilden Fehlermeldungen" ist keine ausreichende Problembeschreibung.
-
Suchfunktion benutzen! Z.B.
http://www.c-plusplus.net/forum/viewtopic.php?t=51366&highlight=zeit+differenz -
In Zukunft bitte die Faustregel beachten: Ein Thema pro Thread, ein Thread pro Thema. Danke!
-
-
kk werde mich an die regel halten...
ach ja und ich hatte die suchfunktion benutzt, war aber nicht so ergibig, das was du gefunden hattest hat auch nicht funktioniert, auf jeden fall war die fehlermeldung "ungültige variant Typenwandlung"
bzw. im zusammenhang "im Projekt Project1.exe ist eine Exception der Klasse EVariantError aufgetreten. Meldung: 'Ungültige Varian-Typumwandlung' Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen"ich kann jedenfalls nicht wirklich viel mit der fehlermeldung anfangen, ausser ich denke mal das ich irgend welche falschen typen benutzt habe, aber wie und wo und wie ich das ändere hab ich halt keine ahnung...
-
so ich hab mein "zeit" problem jetzt selber lösen können, wenn auch ein bisschen umständlicher, aber es funktioniert, sollte irgend jemand mal ein ähnliches problem haben, hier mal fix der code...
AnsiString bestellung_1=query_catering->FieldByName("bestellung")->AsString; struct time t; gettime(&t); AnsiString now_minuten = t.ti_min; AnsiString now_stunden = t.ti_hour; AnsiString best_stunden_1=bestellung_1.SubString(1,2); AnsiString best_minuten_1=bestellung_1.SubString(5,2); AnsiString verb_stunden_1=best_stunden_1-now_stunden-1; AnsiString verb_minuten_1="60"-now_minuten; AnsiString verbmin_1=verb_stunden_1*60+verb_minuten_1; lab_cat_verbleibend_1->Caption=verbmin_1+" Minuten"; if(verbmin_1==ed_cat_wecken->Text) sndPlaySound("posaune.wav",SND_FILENAME|SND_SYNC);
-
Falls wirklich mal jemand ein ähnliches Problem haben sollte dann wird er hoffentlich etwas in dieser Art verwenden:
TDateTime Weckzeit("01.09.04 20:25:00"); if (Now() >= Weckzeit) Beep(); // Alarm else Caption = Weckzeit - Now(); // Restzeit