Timer automatisch stoppen

F

faderlogH

Hallo leute bin neu hier!
Hab auch nur eine ganz kleine Frage zu der Timer Funktion in VB6.

Ich möchte, dass mein Timer nach einer eingegebenen anzahl von durchläufen auch wieder aufhört.
Wenn ich nun in der timerfunktion i=i+1 und darunter
if i = anzahl then Timer1.Interval = 0,
wenn die Variable anzahl meine gewünschte anzahl an durchläufen ist, schreibe,
läuft der Timer trotzdem unendlich lange weiter.
Ist etwa noch eine Schleife nötig wenn ich meine Funktionen dirkt in den timer schreibe?

Würde mich sehr über eure Antworten freuen!
Danke im Vorraus!
faderlogh
 
Hi und willkommen

Ich nehm mal an, dass die Timer-Klasse in VB6 nicht großartig anders ist als in .NET.
Demnach sollte es eine Methode Stop gegen oder ein Property Enabled (ist auf false zu setzen)
 
Du musst die Anzahl der bisherigen Aufrufe in einer Variable mitzählen, die musst du entweder Formweit dimensionieren (also außerhalb aller Subs der Form) oder du verwendest eine Static-Variable in der Timer-Sub.

Visual Basic:
Private Sub Timer1_Timer()
 Static lCounter as Long
 'Dein weiterer Code im Timer
 lCounter = lCounter + 1
 If lCounter = 100 Then Timer1.Enabled = False 'Nach 100 Durchläufen Timer deaktivieren
End Sub


Der Doc!
 
Hey Leute!
Danke für eure schnellen Antworten!
Auf die Idee mit Static hätte ich ja auch selbst kommen können :rolleyes:
War ja klar, dass der Timer ohne Static den counter bei jedem Durchluf resettet! :p
Auf jeden Fall funktioniert es jetzt!
Danke für eure Hilfe!
 

Neue Beiträge

Zurück