Progressbar et timer [Résolu]

Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Statut
Membre
Dernière intervention
16 avril 2006
- - Dernière réponse :  cln10 - 18 août 2019 à 16:50
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 

9 réponses

Meilleure réponse
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
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

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS SourceS

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jlen100
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
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

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS SourceS

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jlen100
Messages postés
115
Date d'inscription
mercredi 29 novembre 2000
Statut
Membre
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
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
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
Statut
Membre
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
Statut
Membre
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
Statut
Membre
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
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
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
0
Merci
Bonjour
moi égale j'ai un problème similaire mais dans mon programme j'ai un timer et un progressbar, je veux contrôlé le niveau de remplissage d'eau dans un citerne.
j'ai utilisé trois niveaux :

if cts(s)=1 then begin
progressbar4.Position:=100;
end else
progressbar4.Position:=0;

if RI(s)=1 then begin
progressbar4.Position:=100;
end else
progressbar4.Position:=0;

if DSR(s)=1 then begin
progressbar4.Position:=100;
end else
progressbar4.Position:=0;

je n'arrive pas a relier les trois conditions pour que le progressbar puisse se remplir progressivement.
Commenter la réponse de cln10