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)
Beitrag
von hanibal » Di 6. Mär 2007, 21:01
Wie kann ich n Sleep anhalten, z.B. mit n Knopf aufem Fenster?
theo
Beiträge: 10869 Registriert: Mo 11. Sep 2006, 19:01
Beitrag
von theo » Di 6. Mär 2007, 21:07
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 » Di 6. Mär 2007, 21:18
gute idee, das ist mir noch garnicht eingefallen
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 » Di 6. Mär 2007, 22:22
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 » Mi 7. Mär 2007, 10:37
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 » Mi 7. Mär 2007, 10:48
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 » Mi 7. Mär 2007, 13:03
ich brauch aber eine methode, die eine genaue zeit watet. ich werde das heute abend mal mit nem timer testen.
theo
Beiträge: 10869 Registriert: Mo 11. Sep 2006, 19:01
Beitrag
von theo » Mi 7. Mär 2007, 13:12
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 » Mi 7. Mär 2007, 13:15
@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 » Mi 7. Mär 2007, 13:36
Manchmal hilft ja sogar ne Endlosschleife, man muß nur dafür sorgen das sie abgebrochen werden kann...
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 » Mi 7. Mär 2007, 14:11
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 » Mi 7. Mär 2007, 14:20
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 » Mi 7. Mär 2007, 14:21
schnullerbacke hat geschrieben: Manchmal hilft ja sogar ne Endlosschleife, man muß nur dafür sorgen das sie abgebrochen werden kann...
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 » Mi 7. Mär 2007, 14:22
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 » Mi 7. Mär 2007, 17:30
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/