![]() |
Wait(Time)?
Hallo,
habe folgende Wait procedure benutzt:
Delphi-Quellcode:
Dieses klappt schon, aber gibt es denn was vergleichbares, besseres?
procedure Wait(time:word);
var start: integer; begin start := GetTickCount; while GetTickCount - start <= time do Application.ProcessMessages; end; Danke. [edit=sakura] [delphi]-Tags :-) Mfg, sakura[/edit] |
Re: Wait(Time)?
Delphi-Quellcode:
sollte das gleiche machen
delay(zeit);
|
Re: Wait(Time)?
Hallo,
bei mir frieren beide Verfahren das aktuelle Fenster ein. Was mach ich falsch? Rainer |
Re: Wait(Time)?
Zitat:
@runger: Sollte eigentlich nicht sein. Aber da du uns nicht sagst, wie du es benutzt, kann man dir auch schlecht sagen, wo dein Fehler sein könnte. |
Re: Wait(Time)?
Also, d.h.:
Delphi-Quellcode:
und bei jeder gewünschten Stelle dann: delay(....);
procedure Delay(dwMilliseconds: Longint);
var iStart, iStop: DWORD; begin iStart := GetTickCount; repeat iStop := GetTickCount; Application.ProcessMessages; until (iStop - iStart) >= dwMilliseconds; end; eingeben? [edit=sakura] [delphi]-Tags :roll: Mfg, sakura[/edit] |
Re: Wait(Time)?
@Teddyman: Nutze bitte in Zukunft selbst die Delphi-Tags um Code darzustellen. [delphi]...[/ delphi]
...:cat:... |
Re: Wait(Time)?
ja, denk ich mal....
guter tipp aber die sources... :-D :-D :-D |
Re: Wait(Time)?
Hi,
delay :gruebel: Sleep wäre hier wohl das richtige
Delphi-Quellcode:
sleep(millisekunden);
|
Re: Wait(Time)?
das alte problem bvei sleep:
es friert das komplette prog ein!!! |
Re: Wait(Time)?
Gibt nix besseres, könntest höchstens kombinieren.
Delphi-Quellcode:
Damit du nicht 100% cpu fährst. Oder benutz für deine Aufgaben den besseren und ordentlichen Weg, sprich: Timer bzw. Threads.
procedure Delay(dwMilliseconds: Longint);
var iStart, iStop: DWORD; begin iStart := GetTickCount; repeat iStop := GetTickCount; Application.ProcessMessages; sleep(100); until (iStop - iStart) >= dwMilliseconds; end; |
Re: Wait(Time)?
Hallo
hab einen Timer, der wird alle 2 sec durchlaufen. Darin steht ein delay, wie beschrieb, Hauptfenster ruckelt beim bewegen. Rainer |
Re: Wait(Time)?
liegt das vielleicht am Timer?
Rainer |
Re: Wait(Time)?
Hallo,
es ist tatsächlich so: im Timer funktioniert das nicht. Weiss jemand warum? Rainer |
Re: Wait(Time)?
also, ich habs so gemacht (und es funzt):
Delphi-Quellcode:
also, bei mir funzt es so (delphi 6)
procedure wait(zeit:integer);
var anfang, ende:integer; begin anfang:=time;//time ist die aktuelle systemzeit repeat Application.Processmessages;//damits eben NICHT einfriert ende:=time; //zeit wird genommen until millisecondabetween(anfang, ende)>=zeit; //millisecondsbetween, grosses rätsel, was tut die function????? //richtig!!!!! millisekunden zwiuschen zwei daten / zeiten.... end; //ja, und das wars auch schon |
Re: Wait(Time)?
Hallo,
das glaub ich dir nicht. Dieser Code läuft so nicht. Was ist time? Gettime oder was. Rainer |
Re: Wait(Time)?
Hallo
das ist im Grunde genau der Code der im Timer nicht funktioniert! Das Fenster friert ein, wenn man versucht es zu bewegen! Rainer |
Re: Wait(Time)?
Hallo
millisecondsbetween gibts bei D7 (auch bei D6,D5,D2) nicht! Rainer |
Re: Wait(Time)?
nein, bei mir gibts ne function time, die eine TDateTime zurückgibt, die aktuelle Systemzeit.
gibts das bei dir nicht??? :shock: dann is klar das dann mein prog am ... ist, aber versuch mal das zu ersetzen durch, ..., zb gettime, getsystime, was auch immer... |
Re: Wait(Time)?
und: das fenster friert NICHT ein!!!
dafür is da ein APPLICATION.PROCESSMESSAGES; drin!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz