Hallo, Ich habe in meinem Programm folgendes Sub das immer wieder (in bestimmten Zeitabständen) Ausgeführt
Sub Ablauf()
starttime! = Timer
Picture1.Picture = LoadPicture("C:\SDF\rot.gif")
out 888, 9 'Ampel Rot + Ton
Do
Loop Until Timer > starttime! + 1
out 888, 1 'Ampel Rot
Do
Loop Until Timer > starttime! + 10
Picture1.Picture = LoadPicture("C:\SDF\leer.gif")
Picture2.Picture = LoadPicture("C:\SDF\Gelb.gif")
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 10.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 11
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 11.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 12
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 12.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 13
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 13.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 14
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 14.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 15
Picture2.Picture = LoadPicture("C:\SDF\leer.gif")
Picture3.Picture = LoadPicture("C:\SDF\Grün.gif")
out 888, 12 'Ampel Grün + Ton
Do
Loop Until Timer > starttime! + 17
out 888, 4 'Ampel Grün
Do
Loop Until Timer > starttime! + 25
Picture1.Picture = LoadPicture("C:\SDF\rot.gif")
Picture3.Picture = LoadPicture("C:\SDF\leer.gif")
out 888, 1 'Ampel Rot
Exit Sub
End Sub
Nun hab ich das Problem, man kan am Programm während dieser Zeit nichts anderes machen (Startzeiten ändern usw). Meine Frage, kann man diesen ablauf irgendwie anders schreiben so das er das Programm nicht blokiert? Also irgendwie im Hintergrund.
Muß noch sagen das ich in VB ein neuling bin.
Vielen Dank schonmal.
Sub Ablauf()
starttime! = Timer
Picture1.Picture = LoadPicture("C:\SDF\rot.gif")
out 888, 9 'Ampel Rot + Ton
Do
Loop Until Timer > starttime! + 1
out 888, 1 'Ampel Rot
Do
Loop Until Timer > starttime! + 10
Picture1.Picture = LoadPicture("C:\SDF\leer.gif")
Picture2.Picture = LoadPicture("C:\SDF\Gelb.gif")
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 10.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 11
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 11.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 12
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 12.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 13
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 13.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 14
out 888, 10 'Ampel Gelb + Ton
Do
Loop Until Timer > starttime! + 14.5
out 888, 2 'Ampel Gelb
Do
Loop Until Timer > starttime! + 15
Picture2.Picture = LoadPicture("C:\SDF\leer.gif")
Picture3.Picture = LoadPicture("C:\SDF\Grün.gif")
out 888, 12 'Ampel Grün + Ton
Do
Loop Until Timer > starttime! + 17
out 888, 4 'Ampel Grün
Do
Loop Until Timer > starttime! + 25
Picture1.Picture = LoadPicture("C:\SDF\rot.gif")
Picture3.Picture = LoadPicture("C:\SDF\leer.gif")
out 888, 1 'Ampel Rot
Exit Sub
End Sub
Nun hab ich das Problem, man kan am Programm während dieser Zeit nichts anderes machen (Startzeiten ändern usw). Meine Frage, kann man diesen ablauf irgendwie anders schreiben so das er das Programm nicht blokiert? Also irgendwie im Hintergrund.
Muß noch sagen das ich in VB ein neuling bin.
Vielen Dank schonmal.