Das es kein Multitask geben kann wenn nur einer rechnet ist mir seit den ATARI-Zeiten bekannt, man nennt es halt so.
Was ich möchte: der Taster soll alle 10ms abgefragt werden und seinem Zustand entsprechend die Variable ein auf 0 oder 1 setzen und den Ablauf der LEDs stoppen oder starten.
Timer hört sich gut an wenn sie so funktionieren wie bei Gambas (ist für Linux Programme), so ein Timer wird für meine Pendeluhr eingesetzt was so aussieht:
der Timer für den Gong wird 1 mal pro Sekunde ausgeführt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Sub tGong_Timer() ' Timer für den Gong
Dim i12 As Integer ' Variable für maximal 12 mal einen Gong
If iAnsicht = 3 And mp.URL ' wenn die Benutzeruhr aktiv ist und eine Gong Datei ausgewählt ist
If Minute(Now) = 30 And Second(Now) < 2 Then PlayGong(1) ' einen Gong für jede halbe Stunde abspielen
If Minute(Now) = 0 And Second(Now) < 2 ' wenn es eine volle Stunde ist
i12 = Hour(Now) ' die aktuelle Stunde
If i12 > 12 Then i12 = Hour(Now) - 12 ' wenn die aktuelle Stunde größer 12 ist die aktuelle Stunde - 12
If i12 = 0 Then i12 = 12 ' bei 0 Uhr auf 12 Uhr setzen
PlayGong(i12) ' einen Gong für jede Stunde abspielen
Endif ' Ende von: wenn es eine volle Stunde ist
Endif ' Ende von: wenn die Benutzeruhr aktiv ist und eine Gong Datei ausgewählt ist
End ' Ende von: Timer für den Gong
hier wird der Gong abgespielt mit der Info vom Timer wie oft:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Sub PlayGong(iMal As Integer) ' zu jeder Stunde (halben Stunde) einen Gong abspielen
Dim iAktuell As Integer = 1 ' aktueller Gong
tGong.Stop ' Gong-Timer stoppen
While iAktuell < iMal ' bis zum vorletzten Gong wiederholen (bei 2 Sekunden wird der Gong abgebrochen)
Inc iAktuell ' die Anzahl der Gongs um 1 erhöhen
mp.Play ' Gong-Datei abspielen
Wait 2 ' 2 Sekunden warten
mp.Stop ' abspielen der Gong-Datei stoppen (der nächste Gong soll abgespielt werden)
Wend ' Ende von: bis zum vorletzten Gong wiederholen
mp.Play ' Gong-Datei abspielen
Wait 3 ' 3 Sekunden warten bis die Gong-Datei bis zum Ende abgespielt wurde
mp.Stop ' abspielen der Gong-Datei stoppen
tGong.Start ' Gong-Timer starten
End ' Ende von: zu jeder Stunde (halben Stunde) einen Gong abspielen
Grüßle, Naubaddi