Progressbar et timer [Résolu]

Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
16 avril 2006
- - Dernière réponse : jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
- 28 févr. 2006 à 15:25
Bonjour,
j'ai sur mon formulaire un progressbar,un timer et un bouton,entre autres.
Coomment faire pour que,sur le clic du bouton, la progressbar progresse de 0 a 100 avec par exemple 5 par seconde?comment gérer cela avec le timer?
car par la suite, je voudrais également,sur le meme formulaire mais avec un autre timer afficher plusieurs label mais en dégrader, un label par seconde.
Guillaume
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
2
Merci
plus simple

tu met la propriete max du progress bar à 30

procedure TForm1.Button1Click(Sender: TObject);

begin

// remise à 0 du progressbar et demarrage du timer
progressbar1.Position:= 0;

timer1.Enabled:=true;

end;



procedure TForm1.Timer1Timer(Sender: TObject);

begin

progressbar1.Position:=progressbar1.Position+1;; //mise à jour toutes les secondes en 30 secondes

if progressbar1.Position> =30 then timer1.Enabled:=false;// on arrete le timer à la fin

end;

@+

jlen

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de jlen100
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
2
Merci
utilises un timer et dans l'évement ontimer

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if label1.Font.colorclwindowtext then label1.Font.color:clred //choisit la couleur que tu veux

else

label1.Font.color: =clwindowtext;

end;



@+

jlen

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de jlen100
Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
16 avril 2006
0
Merci
Enfin, peut etre n'y a t il pas besoin d'un timer,je ne sais pas, je voudrais juste que la progress bar augmente de facon visible, en fait,qu'elle se remplisse genre en 30 secondes
Commenter la réponse de guigui265
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
0
Merci
salut,

procedure TForm1.Button1Click(Sender: TObject);

begin

// remise à 0 du progressbar et demarrage du timer

progressbar1.Position:= 0;

timer1.Enabled:=true;

end;



procedure TForm1.Timer1Timer(Sender: TObject);

begin

progressbar1.Position:=progressbar1.Position+100 div 30; //mise à jour toutes les secondes en 30 secondes

if progressbar1.Position> =100 then timer1.Enabled:=false;// on arrete le timer à la fin

end;

@+

jlen
Commenter la réponse de jlen100
Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
16 avril 2006
0
Merci
ok,le fonctionnement est mieux,ce que j'avais fait était dans ce genre mais il me manquait quelques détail! merci
mais la barre se rempli vite, 2secondes peut etre,comment le changer?
Commenter la réponse de guigui265
Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
16 avril 2006
0
Merci
Parfait,je n'avais pas vu ton second poste, mais la,ca fonctionne,merci
@++
Commenter la réponse de guigui265
Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Dernière intervention
16 avril 2006
0
Merci
et comment faire pour faire clignoter un label?
Commenter la réponse de guigui265
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
0
Merci
pour le progressbar comme rien ne m'arrete encore plus simple


plus simple

tu met la propriete max du progress bar à 30

procedure TForm1.Button1Click(Sender: TObject);

begin

// remise à 0 du progressbar et demarrage du timer
progressbar1.Position:= 0;

timer1.Enabled:=true;

end;



procedure TForm1.Timer1Timer(Sender: TObject);

begin

with progressbar1 do

begin

Position:=Position+1;; //mise à jour toutes les secondes en 30 secondes

if Position> max then timer1.Enabled:false;// on arrete le timer à la fin

end;

end;

ainsi si tu veux changer la duréee il suffit de modifier la propriete max du progressbar

@+

jlen
Commenter la réponse de jlen100

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.