Entwickler-Ecke
Sonstiges (Delphi) - Funktion um eine angegebene Uhrzeit starten
sintec - Do 10.05.07 12:09
Titel: Funktion um eine angegebene Uhrzeit starten
Hallo nochmal an alle Helfer,
Kann mir einer verraten wie man eine Funktion um eine bestimmte Uhrzeit (die in ein Editfeld eingegeben wird) ausführt?
noidic - Do 10.05.07 12:33
Timer laufen lassen, im OnTimer-Event Uhrzeiten vergleichen, wenn aktuelle Uhrzeit > eingegebene Uhrzeit, funktion starten.
sintec - Do 10.05.07 12:39
Dass mit Uhr vergleichen habe ich jetzt nicht so ganz verstanden.
Wie würde den das ganze als Code aussehen?
JensLaskowski - Do 10.05.07 12:42
ich würde es so machen:
Doppelklick auf den Timer dann
TimeToStr(now) einer Variable zuweisen und diese Variable dann mittels einer IFFrage mit aktuelle zeit vergleichen.
Mit freundlichen Grüßen
JensLaskowksi
noidic - Do 10.05.07 12:43
Mal so komplett ohne Eingabeprüfung:
Delphi-Quelltext
1: 2:
| if StrToTime(Edit.Text) <= time then --Funktionsaufruf-- |
sintec - Do 10.05.07 14:58
noidic hat folgendes geschrieben: |
Mal so komplett ohne Eingabeprüfung:
Delphi-Quelltext 1: 2:
| if StrToTime(Edit.Text) <= time then --Funktionsaufruf-- | |
so funktioniert es nicht ganz, dem Programm ist es irgendwie egal welche Uhrzeit man eingegeben hat, es startet schon früher bzw. gleich nach der Aktivierung.
woran kann es liegen?
hier ist mein Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if strtotime(lsb_time.Items[t]) <= now then begin btn_sichernClick(Sender); inc(t); end; if lsb_time.Items.Count = t then tmr_timecheck.Enabled := false; |
Miri - Do 10.05.07 15:06
Kann es sein, dass du auf >= überprüfen müsstest, statt auf <= ?! :gruebel:
sintec - Do 10.05.07 15:19
Miri hat folgendes geschrieben: |
| Kann es sein, dass du auf >= überprüfen müsstest, statt auf <= ?! :gruebel: |
Nein ich will ja die Funktion ab einer bestimmten Uhrzeit ausführen.
Aber auf >= reagiert es überhaupt nicht!
Chatfix - Do 10.05.07 15:32
In welchem Format steht denn die Uhrzeit im Edit-Feld?
HH:MM:SS ?
sintec - Fr 11.05.07 09:31
Chatfix hat folgendes geschrieben: |
In welchem Format steht denn die Uhrzeit im Edit-Feld?
HH:MM:SS ? |
Die Uhrzeit wird in eine Listbox (lsb_time) übertragen im Format 'hh:mm'!
Ich brauch es nicht auf die Sekunde genau, nur dass er nach einer bestimmten zeit die Funktion ausführt.
//EDIT:
Kann es sein, dass es irgendwie noch mit Datum zusammenhängt?
Weil er führt die Funktion schon vor der gewünschten Uhrzeit aus.
Chatfix - Fr 11.05.07 13:16
Aud der Hilfe von Delphi:
| Zitat: |
Zu diesem Beispiel gehören ein Eingabefeld und eine Schaltfläche. Wenn der Benutzer eine Uhrzeit im Format HH:MM:SS eingibt, wird dieser String in einen TDateTime-Wert konvertiert. Je nach eingegebener Uhrzeit wird dann eine entsprechende Begrüßung angezeigt.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject);
var ATime: TDateTime; begin ATime := StrToTime(Edit1.Text); if ATime < 0.50 then ShowMessage('Good Morning') else ShowMessage('Good Afternoon'); end; | |
Vielleicht hilft dir das ja.
sintec - Mo 14.05.07 11:17
Vielen Dank an alle.
ich habe es gelöst, in dem ich das Datum mitangeben lasse.
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!