Hi, ich will mir eine kleine Anwendung bastln, die mir die Sekunden, Minuten, Stunden und Tage bis zu einem gewissen Datum runterzählt. Das funktioniert soweit auch alles ganz gut.
Wenn ich jedoch zuerst Sekunden wähle (mittels Dropdown), dann umschalte auf z.B. Minuten und wieder zurück auf Sekunden, zählt er auf einmal nichts mehr runter. Sprich der Timer fühlt sich einfach nicht mehr angesprochen. Enabled ist auf True und Interval ist auch korrekt eingestellt.
Hier der Code:
Code:
Public Zeit_Dekrement As Long
Public zaehler As Byte
Private Sub Combo_Click()
Timer.Enabled = False
Zeit_Initialize Combo
Select Case Combo
Case "Stunden", "Minuten"
Timer.Enabled = True
Timer.Interval = 60000
Case "Sekunden"
Timer.Enabled = True
Timer.Interval = 1000
End Select
Debug.Print "Status:" & Timer & "/Interval:" & Timer.Interval
Label.Caption = FormatNumber(Zeit_Dekrement, 0)
End Sub
Private Sub Form_Load()
Combo = "Sekunden"
End Sub
Private Sub Timer_Timer()
If Combo = "Stunden" And zaehler <= 59 Then
zaehler = zaehler + 1
Exit Sub
Else
zaehler = 0
End If
Zeit_Dekrement = Zeit_Dekrement - 1
Label.Caption = FormatNumber(Zeit_Dekrement, 0)
End Sub
Sub Zeit_Initialize(Zeit As String)
Dim Datum_Aktuell As Date
Dim Datum_Ende As Date
Datum_Aktuell = Now()
Datum_Ende = "02.11.2004" ' TODO: aus Registry auslesen
Select Case Zeit
Case "Tage": strDauer = "d"
Case "Stunden": strDauer = "h"
Case "Minuten": strDauer = "n"
Case "Sekunden": strDauer = "s"
End Select
Zeit_Dekrement = DateDiff(strDauer, Datum_Aktuell, Datum_Ende)
End Sub
Kann mir jemand sagen was ich falsch mache?