WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 01.03.2003, 19:47   #1
Hussl
Veteran
 
Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320


Standard 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?
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur.

http://www.chili-it.at
Hussl ist offline   Mit Zitat antworten
Alt 02.03.2003, 09:59   #2
Hussl
Veteran
 
Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320


Standard

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!
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur.

http://www.chili-it.at
Hussl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:29 Uhr.


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