Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Warten Befehl? (https://www.delphipraxis.net/27836-warten-befehl.html)

fredel007 16. Aug 2004 12:56


Warten Befehl?
 
hi leute,...

gibts für delphi irgend einen "warten für.... Sekunden" befehel der das Programm für X Sekunden anhält?

gruß freddy

MathiasSimmack 16. Aug 2004 12:58

Re: Warten Befehl?
 
Delphi-Referenz durchsuchensleep

Nikolas 16. Aug 2004 12:58

Re: Warten Befehl?
 
ja.

Achso eine richtige Antwort gibt's auch : Sleep

roderich 16. Aug 2004 12:59

Re: Warten Befehl?
 
jo, Sleep()

aber dann ist dein Programm auch tot in der Zeit...


Roderich

fredel007 16. Aug 2004 13:00

Re: Warten Befehl?
 
alles klar, danke!

in meiner delphi hilfe gab es den befehl allerdings net,... aber er funzt,...


:hello: DANKE

MrKnogge 16. Aug 2004 13:08

Re: Warten Befehl?
 
Ich benutz immer folgende procedure, gefunden im EDH:
Delphi-Quellcode:
procedure Wait(time: word);
var Start: Integer;
begin
  Start:=GetTickCount;
  while GetTickCount-Start <= time do
    application.ProcessMessages;
end;

Dannyboy 16. Aug 2004 13:51

Re: Warten Befehl?
 
Zitat:

Zitat von fredel007
alles klar, danke!

in meiner delphi hilfe gab es den befehl allerdings net,... aber er funzt,...


:hello: DANKE

Der Sleep-Befehl ist, glaube ich, Bestandteil der Windows-Api und steht deshalb nicht
in der Delphi-Hilfe. Bedenke bitte, dass dieser Befehl seinen Namen gerecht wird,
denn er legt Deine Applikation tatsächlich schlafen. Du kannst weder einen Button
während diesem Intervall anklicken, noch kannst Du Dein Fenster verschieben.
Siehe Dir auch hier die Lösung von MrKnogge an. Mit dieser Lösung ist Dein Fenster
noch ansprechbar, auch während der Pause.
Check this out.
DANNYBOY

Tyrael Y. 16. Aug 2004 14:08

Re: Warten Befehl?
 
Aus den oben besagten Gründen kann ich folgenden Konstrukt empfehlen.


Delphi-Quellcode:
var IrgendEineBedingungDieErfülltSeinSollte: Boolean;
.
.
.
IrgendEineBedingungDieErfülltSeinSollte := False;
.
.
.
while (not IrgendEineBedingungDieErfülltSeinSollte) do
begin
  Sleep(100);
end;

Dann steht dein Programm nicht still und du kannst bis zur Erfüllung deiner Bedingung warten.

MrKnogge 16. Aug 2004 15:48

Re: Warten Befehl?
 
Zitat:

Zitat von Tyrael Y.
Dann steht dein Programm nicht still und du kannst bis zur Erfüllung deiner Bedingung warten.

Mit sleep steht dein Programm serwohl still.

Bowler 16. Aug 2004 16:12

Re: Warten Befehl?
 
Jap genau.
Da müsste dann auf jeden Fall wieder ein ProcessMessages() rein, womit wir wieder in etwa bei der Lösung von MrKnogge wären. Fakt ist, wenn du in deinem Programm Sleep aufrufst, dann steht Dein Programm still. Wenn du das in der While-Schleife machst, dann springt es direkt wieder oben rein, und ruft wiederum Sleep auf, deswegen würdest du auch nie die Chance bekommen, deine While-Bedingung zu ändern, weil Dein Programm diese Code-Teile nicht ausführen würde.


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