Ich habe ein 'Timer'-Programm geschrieben.
Der Fehler liegt darin, dass das Programm einen Ton(Beep) öfter als vorgesehen abgibt. Doch ich weiß nicht wo der Fehler liegt
Spoiler anzeigen
#require Admin ; Zur Sicherheit, damit alles gut läuft
[/autoit] [autoit][/autoit] [autoit]HotKeySet( "{PGDN}", "Start1") ; Erster Timer
HotKeySet( "{PGUP}", "Start2") ; Zweiter Timer
$delay=InputBox( "Zeit", "Geben sie die Wartezeit an(in [positiven]Sekunden):") ; Wie lange gewartet werden soll, bis...
$delay=$delay*1000 -50 ; In Sekunden, von Milisekunden. + eine frühwarnung von 50 Milisec.
While(1) ; Damit das Programm nicht sofort beendet wird(Alles nur mit Schleifen)
Sleep(50)
WEnd
;Deklarierung
$zeit2=0
$unterschied2=0
$zeit1=0
$unterschied1=0
Func Start1 () ;Erster Timer
$zeit1=0
$unterschied1=0
$zeit2=0
$unterschied2=0
While 1 ;Solange bis der Ton erreicht werden soll =50sec sleep jeder Durchgang.
$zeit1=TimerInit()
Sleep(50)
$unterschied1= TimerDiff($zeit1)
$unterschied2= TimerDiff($zeit2)
If $unterschied1>$delay Then ;Wenn erreicht= Akustisches Signal.
$unterschied1=0
$zeit1=0
Beep()
While 1 ; Falls 2. Timer noch läuft
If $unterschied2>$delay Then
$unterschied2=0
$zeit2=0
Beep()
EndIf
Sleep(50) ; Damit sich die Wiedergabe des Tons erst nach der Eingabe wiederholt
WEnd
ElseIf $unterschied2>$delay Then ; 2. Timer
$unterschied2=0
$zeit2=0
Beep()
While 1
If $unterschied1>$delay Then
$unterschied1=0
$zeit1=0
Beep()
EndIf
Sleep(50)
WEnd
EndIf
WEnd
EndFunc
;Gleiches Prinzip, nur andere Variablennamen.
Func Start2 ()
$zeit2=0
$unterschied2=0
$zeit1=0
$unterschied1=0
While 1
$zeit1= TimerInit()
Sleep(50)
$unterschied1=TimerDiff($zeit1)
$unterschied2=TimerDiff($zeit2)
If $unterschied1>$delay Then
$unterschied1=0
$zeit1=0
Beep()
While 1
If $unterschied2>$delay Then
$unterschied2=0
$zeit2=0
Beep()
EndIf
Sleep(50)
WEnd
ElseIf $unterschied2>$delay Then
$unterschied2=0
$zeit2=0
Beep()
While 1
If $unterschied1>$delay Then
$unterschied1=0
$zeit1=0
Beep()
EndIf
Sleep(50)
WEnd
EndIf
WEnd
EndFunc
Ich wäre sehr dankbar, wenn jemand den Fehhler findet!
Liebe Grüße
Sebastian