Zeit soll gezählt werden ohne das Programm angehalten wird
Zeit soll gezählt werden ohne das Programm angehalten wird
Wie kann man die Zeit Stoppen ohne das das ganze Programm angehalten wird?
Geht das nur über Theards?
Geht das nur über Theards?
Danke Mark S.
wie meinst du zählen/stoppen?
meinst du so wie bei einer stopuhr das du auf einen knopf drückst für start und dann wieder auf einem knopf stoppen kannst?
meinst du so wie bei einer stopuhr das du auf einen knopf drückst für start und dann wieder auf einem knopf stoppen kannst?
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping
Code: Alles auswählen
start.l = timegettime_()
Delay(1000)
Debug timegettime_() - start.l ;timegettime_() ist viel genauer als ElapsedMilliseconds()
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Code: Alles auswählen
;Hroudtwolf
;PB-Club.de
;Countdown Pieper
#Sekunde=1000
If OpenWindow(0, 0, 0, 100, 100, #PB_Window_SystemMenu|#pb_window_screencentered, "Countdown Beep")
Repeat
EventID.l = WindowEvent()
ImMoment.l=GetTickCount_()
If darfzaehlen.l=0:Startzeit.l=GetTickCount_()+#Sekunde:darfzaehlen.l=1:EndIf
If darfzaehlen.l=1 And ImMoment.l>Startzeit.l
Beep_(1000,20):Beep_(900,20): Beep_(800,20)
darfzaehlen.l=0
EndIf
Delay(5); Muss rein (CPU-Last senken)
Until EventID = #PB_Event_CloseWindow
EndIf
End
Also ich habe mich villeicht ein wenig schlecht ausgedrückt
Ich meinte wenn das programm in der hauptschleife läuft soll di hauptschleife nicht angehalten werden da ja sonst z.B. oben bei windows im fenster "Keine Rückmeldung" erscheint.
Jetzt möchte ich eine bestimmte zeit abstoppen. Wenn die Zeit vorbei ist soll etwas bestimmtes geschehen.
Aber ich möchte das Programm ganz normal fortsetzen
Ich meinte wenn das programm in der hauptschleife läuft soll di hauptschleife nicht angehalten werden da ja sonst z.B. oben bei windows im fenster "Keine Rückmeldung" erscheint.
Jetzt möchte ich eine bestimmte zeit abstoppen. Wenn die Zeit vorbei ist soll etwas bestimmtes geschehen.
Aber ich möchte das Programm ganz normal fortsetzen
Danke Mark S.
- Hroudtwolf
- Beiträge: 1416
- Registriert: 30.10.2004 23:33
- Kontaktdaten:
Nach 10 Sekunden passiert was.
Code: Alles auswählen
;Hroudtwolf
;PB-Club.de
;Countdown Pieper
#Sekunde=1000
Countdown=10; Sekunden
If OpenWindow(0, 0, 0, 100, 100, #PB_Window_SystemMenu|#pb_window_screencentered, "Countdown Beep")
Repeat
EventID.l = WindowEvent()
ImMoment.l=GetTickCount_()
If darfzaehlen.l=0:Startzeit.l=GetTickCount_()+#Sekunde:darfzaehlen.l=1:EndIf
If darfzaehlen.l=1 And ImMoment.l>Startzeit.l
Beep_(1000,20):Beep_(900,20): Beep_(800,20)
Countdown-1
darfzaehlen.l=0
EndIf
If Countdown=0
For x=1 To 1000 Step 10
Beep_(1000+x,20)
Next x
Countdown=10
EndIf
Delay(5); Muss rein (CPU-Last senken)
Until EventID = #PB_Event_CloseWindow
EndIf
End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Meinste vielleicht sowas:
Code: Alles auswählen
If OpenWindow(0, 100, 200, 195, 260, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "Windows Timer")
Timer = SetTimer_(WindowID(), 1, 10000, 0)
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
Quit = 1
Case #WM_TIMER
Debug "Es ist Zeit"
EndSelect
Until Quit = 1
EndIf
KillTimer_(WindowID(), Timer) PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

> Jetzt möchte ich eine bestimmte zeit abstoppen. Wenn die Zeit vorbei ist
> soll etwas bestimmtes geschehen.
schau Dir mal die Timer-Funktionen der PBOSL an.
Grüße ... Kiffi
> soll etwas bestimmtes geschehen.
schau Dir mal die Timer-Funktionen der PBOSL an.
Code: Alles auswählen
StartTimer( #DeinTimer , MilliSec , @MachWas() )Grüße ... Kiffi
a²+b²=mc²
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Die Funktion aus der PBOSL liefert eine größere Genauigkeit als der einfach API-Timer. Ansonsten funktionieren sie gleich! Kommt also auf den Anwendungsfall an was Du verwenden solltest
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
