salut
ya t'il une commande sous delphi elle travaille le meme travaille que la commande delay en pacal
qui connaisse pas la command delay
alors cette commande elle fais un petit arret en coure d'excution
syntaxe: delay(valeur entier);
Version imprimable
salut
ya t'il une commande sous delphi elle travaille le meme travaille que la commande delay en pacal
qui connaisse pas la command delay
alors cette commande elle fais un petit arret en coure d'excution
syntaxe: delay(valeur entier);
pas de commande en tant que tel mais ya le composant timer qui fait l'affaire pour tout ce qui est "temporel".
Sinon si tu souhaite vraiement "bloquer" ton application un certain temps comme le faisait "delay", tu peux toujours faire appel a la procedure Sleep qui endort le processus X milisecondeS.
Par contre explique un peu plus le cadre d'application de cette fonction ... ya surement mieux a faire depuis Turbo pascal ;)
En plus de la routine Sleep(Xmilisecondes) il y a des infos complémentaires sur la FAQ en réponse à la question "Comment imposer une pause au programme ?"
merci mon amis pour tes reponce ;
je vait te dire ce que je veus moi
alors jaimerait bien faire marcher de droit a gauche un mot dans ma form
merci
Ci-dessous une procedure qui fait quasiement comme le sleep sans le blocage du processus
On peut optimiser en utilisant les GetTickCount au lieu de DateTime pour les optimiseurs fous.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure Wait (ms : Integer); var dTimeDebut : TDateTime; iMsBetween : Integer; begin dTimeDebut := Now; iMsBetWeen := MilliSecondsBetween(Now,Now); while iMsBetWeen <= ms do begin Application.ProcessMessages; iMsBetween := MilliSecondsBetween(dTimeDebut,Now); end; end;
merci amis je vait essai ce code
Si le mot est par exemple sur Label1 tu peux faire soit :Citation:
kroma23 a écrit :
...alors jaimerait bien faire marcher de droit a gauche un mot dans ma form
... ou dans un Timer avec proprité Interval fixé à XMillisecCode:
1
2
3
4
5
6 While Label1.left > 0 do begin Label1.left := Label1.left - 2; Sleep(XMillisec); // à régler en fonction de la vitesse souhaitée end;
... ou encore si tu veux faire défiler le texte de droite à gauche à l'intérieur d'un TLabel immobile :Code:
1
2
3
4
5
6 procedure Form1.Timer1Timer(Sender: TObject); begin if Label1.left > 0 then Label1.left := Label1.left - 2; // déplacement progressif de droite à gauche if Label1.left = 0 then Label1.left := Form1.width-Label1.width; // on remet le mot sur le coté droit end
Code:
1
2
3
4
5
6
7 procedure TForm1.Timer1Timer(Sender: TObject); // Avec propriété Intervalle fixée à environ 100 ms Const Depl=1; //< Nombre de caractères de chaque déplacement à chaque intervalle du Timer begin Label1.Caption:=Copy(Label1.Caption,Depl+1,Length(Label1.Caption)-Depl) + Copy(Label1.Caption,1,Depl) ; end;