nach 20sec. aktion ausführen -> countdown anzeigen

also ist glaub ich mal net schlecht wenn ich hier dazuposte.

Ich hab ja den timer mal schön nachgeschrieben. Nur wenn er jetzt auf 0 ist soll er wieder von vorne anfangen, ohne dass ich was drücken muss und es soll ein sound gespielt werden (egal - nur akustisches signal) und dieses so lange bis ich einen Button drücke. Kann mir da bitte jemand den code schicken und ne minierklärung basteln.

code von dem timer:

Option Explicit
Dim i As Integer

Private Sub Command1_Click()
Unload Me
End Sub

Private Sub Form_Activate()
i = 720
Label2.Caption = i
Do
DoEvents
Loop Until i <= 0
Label1.ForeColor = vbRed
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
i = i - 1
Label2.Caption = i
End Sub


mfg
Lord
 
Code:
Dim i As Integer

Private Sub Form_Create()
  i = 20
End Sub

Private Sub Timer1_Timer()
  i = i - 1
  If i <= 0 Then
    Beep 'oder wie die Funktion für Pieptöne sonst heisst...
    i = 20
  End If
End Sub

Eigentlich ist ja nur das Timer-Ereignis vom Timer interessant, vorher musst du nur noch die Zählervariable auf 20 setzen.
Zum Abbrechen nimmst Du noch einen CommandButton und deaktivierst den Timer in dessen Click-Ereignis:
Code:
Private Sub Command1_Click()
  Timer1.Enabled = False
End Sub
 
THX für deine Hilfe erst mal. Soweit klappt alles so wie ich es will. Jetzt hab ich noch eine letzte frage. Gibt es auch eine Möglichkeit eine Sounddatei abspielen zu lassen oder ein dauerhaftes Beep zu erzeugen, dass nur per klick auf einen Button abzustellen ist.

Der Timer sollte aber weiterlaufen. Und bei 0 Soll diese Sound wieder beginnen. So wie ein Kochtimer oder so.

mfg
Lord




der code des jetzigen programmes:

_________________________________

Dim i As Integer

Private Sub Form_Create()
i = 7
End Sub

Private Sub Timer1_Timer()
i = i - 1
Label2.Caption = i
If i <= 0 Then
Label1.ForeColor = vbRed
Beep
i = 7
End If
If i = 5 Then
Label1.ForeColor = vbBlack
End If
End Sub

Private Sub ende_Click()
Timer1.Enabled = False
End Sub

Private Sub start_Click()
Timer1.Enabled = True
End Sub

Private Sub Command1_Click()
Unload Me
End Sub
_________________________________
 
Zuletzt bearbeitet:
mach einfach einen zweiten timer, der erst gestartet wird wenn der andere bis null heruntergezählt hat. setze den intervall des zweiten timers auf 1000 und schreib in den code beep(so wie oben). jetzt machst du einen button, der den intervall des zweiten timers auf null setzt.

tirolausserfern
 
Zurück