Faire une pause de ** secondes ou millisecondes sans "perdre la main"


Contenu du snippet

Bon bah j'ai aussi mis ce code sur vbfrance (en vb quand meme lol...) parcque moi ca me sert assez souvent.
Et vous me direz surement "oui il y a sleep() pour faire une pause", mais sleep perd la main, vous ne pouvez pas quitter ni deplacer la feuille, contrairement à ces fonctions.

Source / Exemple :


function hbwait_ms(ms : integer) : integer;
var
hbms : integer;
begin
 hbms := GetTickCount + ms;
 repeat
 Application.ProcessMessages;
 until GetTickCount >= hbms
 end;

 function hbwait_sc(sc : integer) : integer;
var
hbsc : integer;
begin
 hbsc := GetTickCount + (sc * 1000);
repeat
 Application.ProcessMessages;
  until GetTickCount >= hbsc
 end;

{On appelera ensuite la fonction comme tel : }
hbwait_sc(5); {Fait une pause de 5 secondes}
hbwait_ms(2000); {Fait une pause de 2500 millisecondes}

Conclusion :


c'est simple, mais ca peut toujours servir...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.