Endschlosschleife mit Zeitabständen

DrMueller

Erfahrenes Mitglied
Hallo alle erstmal
Ich hätte da ein kleines Problemchen mit VB und habe gehört, das mir hier geholfen werden kann.
Ich versuchs mal zu erklären:

Alle 24h soll etwas geschehen.
Nun kann der User eingeben, zu welchem Zeitpunkt das geschehen soll.
Das Problem ist nun, das es ca. alle 5 Minuten kontrollieren sollte, ob der Zeitpunkt da ist.
Nun könnte ich eine Endlosschleife mit sleep eingebaut machen, aber der User will ja noch noch andere Sachen machen und nicht nur warten, denn sleep bringt ja alles zum Stillstand.

Ich danke schon jetzt
 
Hallo, das kannst Du mit einem Timer machen:
Code:
Private Sub Form_Load()
  Timer1.Interval = 59000 ' 59 Sekunden
  Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
  If Mid(CStr(Time), 1, 5) = "11:40" Then
    MsgBox "Es ist soweit."
  End If
End Sub
Hier wird alle 59 Sekunden geprüft ob es 11:40 Uhr ist.
 
Einen Verweis brauchst Du nicht. Arbeitest Du mit VB6?
Den Timer findest Du in der linken Leiste bei den Controls. Sieht aus wie eine Stoppuhr.
Den ziehst Du auf Deine Form.
Siehe Anhang.
 

Anhänge

  • 25861attachment.jpg
    25861attachment.jpg
    72,2 KB · Aufrufe: 17
äh noch kurz ne andere Frage wenns net zu viele Umstände macht:

Hat wer nen Link der erklärt, wie ich ne Logdatei machen/bearbeiten kann? Der Suchen-Button ist leider keine grosse Hilfe
 
Zum Thema Wartefunktion:

Schau Dir mal folgenden Link an:

http://www.vbarchiv.net/archiv/tipp_details.php?pid=532

Damit kannst Du Deine Anwendung entsprechend lange warten lassen.

Die Timer-Lösung hat meines Wissens nach den großen Nachteil, dass wenn der Prozessor sehr stark ausgelastet ist, der Timer nicht mehr genau geht (das Timer-Ereignis wird unter umständen verzögert abgearbeitet).

Aber wenn es Dir nicht ungedingt auf die Sekunde ankommt, ist die Timer-Lösung sicherlich auch ok.
 
hm netter Link Ramon thx, aber da es nur alle 24 Stunden ausgelöst wird, kommts net mal auf ne viertelstunde drauf an. Ich hab Timer auf 59k Milisekunden eingestellt, also kann die Minuten, in der das Ereigniss eintreffen soll, nicht verfehlt werden und viel Leistung wird auch nicht verschlungen
 
Zurück