Marquer un temps d'attente dans le code ! [Delphi] - Programmation
Marsh Posté le 27-06-2002 à 20:03:43
Dans l'api windows t'as Sleep, ils ont du le porter en Delphi.
Marsh Posté le 27-06-2002 à 20:38:55
attention quand meme, sleep est bloquant : si tu fais un sleep(5000) ca veut dire que pendant 5 secondes, ton appli est freezée (comme si elle avait plantée!).
si c'est un sleep de qq millisecondes , c'est jouable, sinon ca peut etre genant pour l'utilisateur !
perso, quand j'ai besoin d'un sleep non bloquant, j'utilise ce truc:
[pascal]procedure Delay(AMSecs: Cardinal);
var
iStop : cardinal;
begin
iStop := GetTickCount + AMsecs;
while GetTickCount < iStop do
begin
Application.ProcessMessages;
sleep(1);
end
end;
[/pascal]
ce n'est pas a utiliser dans tous les cas puisque l'Application.ProcessMessages rend la main au systeme (et a l'utilisateur) et ce n'est peut-etre pas ce qui est voulu
Marsh Posté le 27-06-2002 à 20:40:23
oki mais sleep suffisait pour ce que je voulais
en tout cas merci
@+
Marsh Posté le 27-06-2002 à 20:02:29
Comment peut-on marquer un temps d'attente du nombre de secondes que l'on veut entre l'execution de 2 instructions dans le code ?
la fonction delay du pascal n'existe pas je crois