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