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 :lol: )

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 :freak:

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...