Sleep anhalten

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Sleep anhalten

Beitrag von hanibal »

Wie kann ich n Sleep anhalten, z.B. mit n Knopf aufem Fenster?

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Sleep ist sleep. Da ist alles lahmgelegt (jedenfalls im betreffenden Thread).
Du bräuchtest wohl sowieso eher einen Timer.

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

gute idee, das ist mir noch garnicht eingefallen :oops:

währe für meine zwecke ja pervekt, siend timer unter lazarus genau so wie bei delphi?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

soweit ich weis, ja

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

theo hat geschrieben:Sleep ist sleep. Da ist alles lahmgelegt (jedenfalls im betreffenden Thread).
Du bräuchtest wohl sowieso eher einen Timer.
Sleep im Mainthread sollte man wenn möglich garnicht anwenden, weil dann diverse Grundfunktionalitäten (z.B. Verschieben des Forms mit der Maus) nicht mehr funktionieren. Der User ist dann nicht sehr glücklich.

-Michael

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

a:= 1;
while a=1 do begin
s:= ReadKey;
if s '' then a:= 0;
end;
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

ich brauch aber eine methode, die eine genaue zeit watet. ich werde das heute abend mal mit nem timer testen.

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

schnullerbacke hat geschrieben:a:= 1;
while a=1 do begin
s:= ReadKey;
if s '' then a:= 0;
end;
Andererseits aber auch:

t = T 1/2 * log2(0,9)= 5739 * a * log2(0,9)=-870,98 *a

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

@schnuller was isn das da fürn cauderwelsch ?

@hanibal

Code: Alles auswählen

at := GetTickCount;
while (getTickCount-at < 1000) do
   Application.Processmessages;
eh du mich fragst was at für ne variable ist cursor drauf setzen und Strg+Shift+C drücken.
wartet 1000 ms musst natürlich noch anpassen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Manchmal hilft ja sogar ne Endlosschleife, man muß nur dafür sorgen das sie abgebrochen werden kann... :lol:
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

die funktion teste ich nacher mal, mus jetzt wech, üben.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

hanibal hat geschrieben:ich brauch aber eine methode, die eine genaue zeit watet. ich werde das heute abend mal mit nem timer testen.
Genau geht überhaupt nicht ! Windows ist nicht realtime. Alles kann unter Umständen ab und zu Sekunden lang verzögert werden.

Das beste, was man haben kann, ist vermutlich der multimedia-Timer. Damit arbeiten Audio- und Video-Programme

-Michael
Zuletzt geändert von mschnell am Mi 7. Mär 2007, 14:23, insgesamt 2-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

schnullerbacke hat geschrieben:Manchmal hilft ja sogar ne Endlosschleife, man muß nur dafür sorgen das sie abgebrochen werden kann... :lol:
Den ganzen Rechner zu blockieren um zu warten ist ja nun überhaupt nicht professionell !

-Michael

hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

Beitrag von hanibal »

mschnell hat geschrieben:
hanibal hat geschrieben:ich brauch aber eine methode, die eine genaue zeit watet. ich werde das heute abend mal mit nem timer testen.
Genau geht überhaupt nicht ! Windows ist nicht realtime. Alles kann unter Umständen ab und zu Sekunden lang verzögert werden.

-Michael
ich habe kein windows

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Genau geht überhaupt nicht !
Ist aber sehr selten das man keine us genauigkeit hinbekommt, ich bastle schon ein paar jahre mit dem rechner und externer Hardware dei teilweise n extremes Timing braucht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten