Seite 1 von 1
Starttimer() und Variablen
Verfasst: 16.10.2004 23:01
von Serge
Wollte einen Timer aus Toolbar proffesional einbauen:
Code: Alles auswählen
Procedure Counterupdater()
counter+1
EndProcedure
StartTimer(0,20,@Counterupdater())
Auf die Variable will ich dann im Programm zugreifen
Wenn ich die Variable jedoch Global oder Shared definiere, stürtzt das Programm nach programmstart ab..
jemand eine Lösung?
Verfasst: 16.10.2004 23:31
von Serge
Hm hab das problem umgangen.
Hab rausgefunden dass timegettime_() im gegensatz zu elapsedmilliseconds() und gettickcount_() millisecundengenau ist, so kann ichs also mit zeitabfragen auch lösen.
Verfasst: 17.10.2004 13:10
von sbehrens
Serge hat geschrieben:Hab rausgefunden dass timegettime_() im gegensatz zu elapsedmilliseconds() und gettickcount_() millisecundengenau ist
ähm... ElapsedMilliseconds() ist doch, wie der Name schon sagt auch Millise
kundengenau... und GetTickCount_() auch...
mfG
Basti
Verfasst: 17.10.2004 14:02
von DarkDragon
Der Timer funktioniert NUR wenn der Prozess auch ein Fenster besitzt, welches WindowEvent() aufruft:
Code: Alles auswählen
Global counter
OpenWindow(0, 0, 0, 200, 0, #PB_Window_SystemMenu|#PB_Window_TitleBar, "")
Procedure Counterupdater()
counter+1
Debug counter
EndProcedure
StartTimer(0, 20, @Counterupdater())
Repeat
Delay(5)
Until WindowEvent() = #PB_Event_CloseWindow
EndTimer(0)
End
Verfasst: 17.10.2004 17:05
von Andre
DarkDragon hat geschrieben:Der Timer funktioniert NUR wenn der Prozess auch ein Fenster besitzt, welches WindowEvent() aufruft:
.... und dies wäre damit eine Anregung für die Anleitung zu den PureTools.

Verfasst: 18.10.2004 01:39
von Danilo
Andre hat geschrieben:DarkDragon hat geschrieben:Der Timer funktioniert NUR wenn der Prozess auch ein Fenster besitzt, welches WindowEvent() aufruft:
.... und dies wäre damit eine Anregung für die Anleitung zu den PureTools.

Code: Alles auswählen
Procedure Timer1()
Beep_(800,100)
EndProcedure
StartTimer(1,1000,@Timer1())
Delay(5000)
EndTimer(1)
Delay(1000)
Code: Alles auswählen
Global counter
Procedure Timer1()
Beep_(800,100)
counter + 1
EndProcedure
StartTimer(1,500,@Timer1())
For a = 1 To 10
Delay(500)
Debug counter
Next a
EndTimer(1)
Delay(1000)
Code: Alles auswählen
Global counter
Procedure Timer1()
SetGadgetText(1,FormatDate("%hh:%ii:%ss",Date()))
counter + 1
SetGadgetText(2,StrU(counter,#LONG))
EndProcedure
OpenWindow(1,200,200,200,200,#PB_WINDOW_SYSTEMMENU,"TimerTest")
CreateGadgetList(WindowID())
TextGadget(1,10,10,100,20,FormatDate("%hh:%ii:%ss",Date()))
TextGadget(2,10,35,100,20,"0")
StartTimer(1,1000,@Timer1())
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Verfasst: 18.10.2004 06:45
von DarkDragon

Ich habs gestern noch mit delay ausprobiert, es hat nicht funktioniert. Nun gehts.
Verfasst: 18.10.2004 10:24
von Wolf Benrath
Hallo Leute !
Hab beim durchsehen Eure Listings eine tolle Sache entdeckt !
Bin Anfänger und habe bei Zähler immer:
zaehler=zaehler + 1 ;geschrieben !
Ihr nehmt:
zaehler + 1 ; und das ist wessentlich kürzer und bestimmt auch
schneller in der Abarbeitung !!!
Danke !
MfG
Wolf Benrath
Verfasst: 18.10.2004 22:36
von Andre
Sorry, Danilo
Läuft auch ohne Fenster bestens, aber damit gibt's zumindest wieder gute Beispiele fürs Archiv.
