Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeitverzögerung im Code! (https://www.delphipraxis.net/3216-zeitverzoegerung-im-code.html)

Florian 1. Mär 2003 08:03


Zeitverzögerung im Code!
 
Also, ich würde gern eine Verzögerung programmieren, um den Ablauf meines Programms zu verzögern.
Ich führe mehrere Anweisungen durch und möchte in jeder Anweisung
1 sec warten und dann unterhalb im Code weiter machen.

Problem: Mit dem Timer bekomm ich des irgendwie nicht hin, oder gibt es irgendeine function wie WaitFor(OnTimer) ?

Danke für eure Hilfe :-)

Alexander 1. Mär 2003 08:24

probier mal die Funktion sleep(1000) aus. Die zu wartene Zeit wird wie beim Timer in Millisekunden angegeben.

Daniel B 1. Mär 2003 09:00

Moin,

das Problem an Sleep ist, das dabei die ganze Anwendung, bzw. aktuelle Threads einfrieren.
Besser ist das oder das.

Grüsse, Daniel :hi:

phlux 1. Mär 2003 09:54

In dem 2ten Code ist ein Html zeichen drinne :mrgreen: hab ich so beim drübersehn entdeckt :wink:

Daniel B 1. Mär 2003 10:02

Zitat:

Zitat von phlux
In dem 2ten Code ist ein Html zeichen drinne :mrgreen: hab ich so beim drübersehn entdeckt :wink:

Stimmt, das ist ein < oder >.

Grüsse, Daniel :hi:

Alexander 1. Mär 2003 11:08

stimmt, daran dachte ich nicht, dass die ganze Anwendung einfriert. Tut es aber auch ;-)

nailor 1. Mär 2003 11:51

Zitat:

Zitat von Daniel B
Moin,

das Problem an Sleep ist, das dabei die ganze Anwendung, bzw. aktuelle Threads einfrieren.
Besser ist das oder das.

Grüsse, Daniel :hi:

Worin liegt eigentlich der Unterschied zwischen den beiden?

Daniel B 1. Mär 2003 11:56

Zitat:

Zitat von Nailor
Worin liegt eigentlich der Unterschied zwischen den beiden?

Gibt keinen. Bis auf die Variablennamen und Variablendeklarationen.
Ich fnde das sich das eine besser lesen lässt, ausserdem stimmt bei einem das >=. ;)

Grüsse, Daniel :hi:

Basti 1. Mär 2003 12:09

Delay
 
Hi,

es gibt eine procedure Delay, die du aber erst definineren musst:
(erstell einfach eine neue Unit und kopier das hier rein)

Delphi-Quellcode:
unit DelayUnit;

interface

uses Windows, Forms;

procedure Delay(MSecs: Integer);

implementation

procedure Delay(MSecs: Integer);
var
 FirstTickCount : LongInt;
begin
 FirstTickCount:=GetTickCount;
 repeat
 Application.ProcessMessages; {allowing access to other controls, etc.}
//Application.HandleMessage;
 until ((GetTickCount-FirstTickCount) >= LongInt(MSecs));
end;

end.


Danach kannst du in deinem Programm den Befehl "Delay" benutzten (natürlich musst du die Unit "DelayUnit" aufrufen.

Während diesem Befehl, der genauso wie Sleep funktioniert, nur das er das Programm nicht anhält, kannst du das Programm nur nicht beenden. Das ist der einzige Nachteil.
Viel Spaß damit

Gruß

Basti :coder:

[edit=Daniel B]Delphi-Tags gesetzt. MfG Daniel B.[/edit]

Christian Seehase 1. Mär 2003 13:22

Moin Basti,

wobei Dein Delay fast auf's Bit genau identisch ist mit dem ersten Link von Daniel.
(einziger Unterschied: msecs statt Msecs)
;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz