Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Fehler bei Zeitberechnung
LuGo - Sa 06.02.10 13:02
Titel: Fehler bei Zeitberechnung
Ich habe folgendes kleine Programm geschrieben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var Zeit: String; Datetime: TDatetime; Timer: TTimer;
procedure Button1.Click begin Timer1.OnTimer(DateTime); Zeit := TimetoStr(DateTime); Label1.Caption := Zeit; end; |
Da kam eine Fehlmeldung und ein Fenster mit dem Titel CPU öffnete sich.
Nun meine Frage: Ist irgendwas am PC kaputtgegangen und was habe ich falschgemacht?
Gausi - Sa 06.02.10 13:52
Ja, da wird wohl was am Mainboard durchgebrannt sein, das passiert schonmal, wenn man mit Delphi Mist programmiert. :mrgreen:
Ne, im Ernst: Was soll denn diese Zeile machen?
Delphi-Quelltext
1:
| Timer1.OnTimer(DateTime); |
OnTimer dürfte das OnTimer-Event des Timers sein, aber warum übergibst du dem ein TDateTime?
Metschu - Sa 06.02.10 13:59
Also wenn ich das richtig interpretiere, möchtest Du, das label 1 die Uhrzeit Anzeigt, oder?
Ein Timer dafür nicht geeignet, da dieser alle X-Zeitintervalle (Einstellbar bei Intervall) ein Ereigniss ausführt.
Für Deinen Zweck wäre folgendes Richtig:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure Button1.Click var Zeit:String begin Zeit:=TimetoStr(now); Label1.Caption := zeit end; |
oder Einfacher, wenn du die Variable nicht brauchst:
Delphi-Quelltext
1: 2: 3: 4:
| procedure Button1.Click begin Label1.Caption := TimetoStr(now); end; |
Boldar - Sa 06.02.10 15:19
Dann wird die Uhrzeit aber nicht aktualisiert.
Der Timer ist also schon richtig.
Wenn es sich um ein VCL-Projekt handelt, kannst du den Timer einfach auf die Form ziehen, dann doppelklicken und folgendes schreiben:
Delphi-Quelltext
1:
| label1.caption := tinetostr(now) |
Dann noch den Timer auf 250ms stellen.
Metschu - Sa 06.02.10 15:26
Boldar hat folgendes geschrieben : |
Dann wird die Uhrzeit aber nicht aktualisiert.
|
Stimmt, aber ich hatte das so interpetriert, das er die Zeit des Button-Clicks auf dem Label haben möchte.
Wenn er immer die Aktuelle Uhrzeit angezeigt haben will, ist der Timer wiederum richtig.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!