WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   VB: Timer (http://www.wcm.at/forum/showthread.php?t=89765)

Hussl 01.03.2003 19:47

VB: Timer
 
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?

Hussl 02.03.2003 09:59

Mit hilfe von waquner wurde das problem gelöst:

einfach zuerst timer.enabled=false dann interval setzen und dann timer.enabled=true. that's it!


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag