Seite 1 von 2
Zeit messen
Verfasst: 27.01.2006 22:18
von Tsuki-Namida
Hallo,
ich möchte eine Zeit messen und zwar wie folgt.
Ein Benutzer kann eine Zeit angeben in deren abständen eine Aktion regelmäsig passieren soll.
ich kann allerdings nicht mit Delay arbeiten weil ja das Programm an für diese Zeit still stehen bleibt und das darf nicht passieren da man auch andere aktionen werend dieser zeit machen kann.
Ich offe mal das Ihr mich versteht was ich in etwar brauche...
Verfasst: 27.01.2006 22:21
von Macros
Plattformunabhängig?
Sonst gettickcount_() für Windows( in Millisekunden nach Systemstart)
Verfasst: 27.01.2006 22:24
von ts-soft
Wenn Du ein Fenster hast, nimmste SetTimer, findeste genug Beispiele im Forum
Verfasst: 27.01.2006 22:31
von Tsuki-Namida
hmm wie soll das gehen? wenn ich den befehl im debug anzeige erscheint nur die zahl "115801984" und diese ändert sich nicht

Verfasst: 27.01.2006 22:40
von HeX0R
Ausserdem ist ElapsedMilliseconds() genau dasselbe wie gettickcount_() mit dem Vorteil, dass es auch unter Linux funzt.
Verfasst: 27.01.2006 22:46
von ts-soft
Mit Fenster, Windows Only:
Code: Alles auswählen
Procedure Timer()
Beep_(500, 100)
EndProcedure
Zeit.s = InputRequester("Zeit für Beep", "Bitte Sekunden angeben", "")
time = Val(Zeit) * 1000
If OpenWindow(0, 100,100,100,100,#PB_Window_SystemMenu,"Timertest")
CreateGadgetList(WindowID(0))
SetTimer_(WindowID(0), 0, time, @Timer())
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
(Freeware

)
Verfasst: 27.01.2006 22:50
von Tsuki-Namida
Ja da muss ich aber wieder mit "Delay" arbeiten... gibt es da keine andere Möglichkeit?
Verfasst: 27.01.2006 22:51
von HeX0R
Magix-Soft <Kain> hat geschrieben:Ja da muss ich aber wieder mit "Delay" arbeiten... gibt es da keine andere Möglichkeit?
Also
müssen musst du goa nix...
Verfasst: 27.01.2006 22:55
von ts-soft
Magix-Soft <Kain> hat geschrieben:Ja da muss ich aber wieder mit "Delay" arbeiten... gibt es da keine andere Möglichkeit?
Wo ist da ein Delay im Code

Verfasst: 27.01.2006 23:04
von Tsuki-Namida
PureBasic Hilfe hat geschrieben: StartTime = ElapsedMilliseconds() ; ermittelt den aktuellen Wert
Delay(1000) ; wartet 1000 Millisekunden
ElapsedTime = ElapsedMilliseconds()-StartTime ; der 'ElapsedTime' Wert sollte ca. 1000 Millisekunden betragen
Da brauche ich diesen befehl...