Progressbar et timer [Résolu]

guigui265 115 Messages postés mercredi 29 novembre 2000Date d'inscription 16 avril 2006 Dernière intervention - 28 févr. 2006 à 09:59 - Dernière réponse : jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention
- 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
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 févr. 2006 à 11:24
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

Merci jlen100 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de jlen100
Meilleure réponse
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 févr. 2006 à 14:36
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

Merci jlen100 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de jlen100
guigui265 115 Messages postés mercredi 29 novembre 2000Date d'inscription 16 avril 2006 Dernière intervention - 28 févr. 2006 à 10:19
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
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 févr. 2006 à 11:20
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
guigui265 115 Messages postés mercredi 29 novembre 2000Date d'inscription 16 avril 2006 Dernière intervention - 28 févr. 2006 à 11:27
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
guigui265 115 Messages postés mercredi 29 novembre 2000Date d'inscription 16 avril 2006 Dernière intervention - 28 févr. 2006 à 11:36
0
Merci
Parfait,je n'avais pas vu ton second poste, mais la,ca fonctionne,merci
@++
Commenter la réponse de guigui265
guigui265 115 Messages postés mercredi 29 novembre 2000Date d'inscription 16 avril 2006 Dernière intervention - 28 févr. 2006 à 14:23
0
Merci
et comment faire pour faire clignoter un label?
Commenter la réponse de guigui265
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 févr. 2006 à 15:25
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.