Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delay (https://www.delphipraxis.net/53654-delay.html)

Preexo 20. Sep 2005 19:47


Delay
 
ich suche einen befehl, welcher ein delay wie bei Turbo Pscal ausloest.
sogar meine informatik lehrerin weiss nix...(wen wunderts?)

plz help
thx
Preexo

turboPASCAL 20. Sep 2005 19:48

Re: Delay
 
Hast Du mal die Suche bemüht ? DelayDelay,

Ansonsten:

Delphi-Quellcode:
Sleep(1000);

Ultimator 20. Sep 2005 19:48

Re: Delay
 
DelayDelay ;)

Preexo 20. Sep 2005 19:55

Re: Delay
 
jetz versteh ich net warum jemand so monster viel schreibt, wenns auch kurzer geht...?
Delphi-Quellcode:
procedure delay(msec:longint);
var
  start,stop:longint;
begin
  start := gettickcount;
  repeat
  stop := gettickcount;
  application.processmessages;
  until (stop - start ) >= msec;
end;
dabei reicht
Delphi-Quellcode:
sleep(x);

gsh 20. Sep 2005 20:06

Re: Delay
 
nein nein da gibt es einen unterschied.

Oben lauft die Anwendung ganz normal
Und bei der unteren Methode steckt wärend dieser Schleife die Anwendung

Preexo 20. Sep 2005 20:09

Re: Delay
 
Zitat:

Und bei der unteren Methode steckt wärend dieser Schleife die Anwendung
bezieht sich auf
Delphi-Quellcode:
Sleep(x);
?

aber is das net besser, wenn alles steckt...? das is doch sinn hinter dem ganzen.
wo zum beispiel wuerde man die laengere variante benutzen?

glkgereon 20. Sep 2005 20:11

Re: Delay
 
bei Sleep wird auch die ganze Oberfläche eingefroren....kein RePaint, kein verschieben, kein buttonklick.

beim oberen wird nur die aktuelle methode angehalten

probiers einfach aus...

zwei buttons auf ne form, in einen OnClick Sleep(10000), ins andere Delay(10000) rein
dan wirste sehen wo der unterschied ist ;)

turboPASCAL 20. Sep 2005 20:12

Re: Delay
 
Zitat:

Zitat von gsh
Oben lauft die Anwendung ganz normal
Und bei der unteren Methode stockt wärend dieser Schleife die Anwendung

Guck mal hier nach: Zeitverzögerung im Code! ;)

Bei Sleep(x) wartet die komplette Anwendung und Messages werden nicht verarbeitet. Bei Delay(X) wartet auch die Anwendung aber Messages werden weiter verarbeitet.

Versuch es mal. ;)

gsh 20. Sep 2005 20:13

Re: Delay
 
anhalten in der zeile tut er bei beiden varianten ABER aber der längeren wird die GUI neugezeichnet somit erhält man z.b. kein weisses Fenster

faux 20. Sep 2005 20:25

Re: Delay
 
Andere Frage:
Wo braucht man heutzutage noch Dalay's und Sleep's??

Preexo 20. Sep 2005 20:28

Re: Delay
 
Zitat:

Zitat von faux
Andere Frage:
Wo braucht man heutzutage noch Dalay's und Sleep's??

will, das fuer ein paar sekunden eine message auf der Form steht und dann nach 5 sec wieder verschwindet...
wir sind delphi anfaenger in unsrer klasse und ich sehe das anhand kenntnissen von turbopascal als net anders ralisierbar..
btw: habsch grad beides ausprobiert...
zwar kann man bei sleep(x); zum beispiel keine buttons mehr klickn usw, doch brush und color usw bleibt erhalten...
also kein weisses fenster bei sleep(x);
bei delay(x); merkt man ja gar net, das ueberhaupt nen delay da is...

aber braucht denn net jeder prgramierer mal eine kuenstliche verzoegrung?

Tubos 20. Sep 2005 20:30

Re: Delay
 
Zitat:

und Sleep's??
Moment mal, Sleep braucht man schon. Zum Beispiel um einen Thread anzuhalten.
Du hast aber Recht wenn du meinst dass man alles Animationsmäßige ohne Delay machen kann.

Preexo 20. Sep 2005 20:34

Re: Delay
 
naja ich danke euch auf jeden fall allen sehr herzlich nur verstehich beim letzten post leider nur bahnhof...
also bis denn^^ n8

faux 20. Sep 2005 20:35

Re: Delay
 
Also in deinem Fall, wäre ein Timer sicherlich nicht fehl am Platz. Vielleicht etwas übertrieben für so wenig Funktion, aber naja...
Du könntest auch eine Schleife machen, die die Zeit vom Erscheinen mit der jetzigen vergleicht.


@Tubos: Hält man einen Thread nicht mit Sleep und Resume an?? :? Egal... ;)

gsh 20. Sep 2005 22:08

Re: Delay
 
Zitat:

Zitat von Preexo
also kein weisses fenster bei sleep(x)

Doch und zwar wenn du eine andere Anwendung in den Vordergrund bringst und sie dann z.b. minimierst bleibt dein Fenster noch auf dem screen da des prog. aber noch festhengt wird es nicht neu gezeichnet und somit bleibt es weiss bis die anwendung wieder reagiert außerdem kann es dir passieren des windows anzeigt des deine Anwendung nicht mehr reagiert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 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