Progressbar défilante

Résolu
Signaler
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
-
 Francky23012301 -
bonjour à tous :)
En ce dimanche j'ai une petite question.

Ne pouvant mesurer la progression d'un scan, je voudrais mettre une barre de progression dont son contenu défile en continu sans marquer l'état de progression.
Un comme la fonction barreprogression.pulse() en Python.


J'avais vu une source là-dessus mais c'était très lourd pour si peu de chose.
Merci de votre aide.
A voir également:

40 réponses

Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Et voilà.

Tu as Marquee, qui définit si la progressbar est indéfinie ou définie (Marquee = False, comportement standard), Active qui dit si la progressbar doit défiler indéfiniment, et Speed qui donne la vitesse. Met l'unité en dernier dans ton projet (vérifie qu'il n'y ait pas une autre unité qui se soit placée après).

Remarque : les propriétés ne seront pas dans l'inspecteur d'objets, il te faut les appeller depuis le code.

Note : j'ai pas tellement testé mon composant surchargé, à toi de voir si il fonctionne et à le perfectionner.

Cordialement, Bacterius !
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
bonjour,

une idée ci-dessous :

type
  TForm1 = class(TForm)
    progressbar1: TProgressBar;
    Button1: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Button1.Caption = 'SCAN' then
    Button1.Caption := 'STOP'
  else
    Button1.Caption := 'SCAN';
  Timer1.Enabled :Button1.Caption 'STOP';
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  progressbar1.StepIt;
  if progressbar1.Position = 100 then
    progressbar1.Position := 0;
  Application.ProcessMessages;
end;

end.
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
4
Pourquoi pas...
Mais je recherche plutôt "l'effet" ou c'est un "morceau" de progression qui défile.


Merci.
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
salut,

progressbar1.style := pbstMarquee;
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
4
Merci mais Style n'existe pas pour les progressbar.
Je n'ai pas trouvé le moyen d'appliqué simplement pbstMarquee
Mis à part ici qui est très lourd, je trouve.
Messages postés
104
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
9 mai 2013

essaie de regarder la jvcl il me semble qu'il y a le composant que tu recherche.
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Bonsoir,

je développe avec Delphi 2010, et le composant TProgressbar (package Win32) possède cette propriété. Avec quelle version de Dephi développes-tu ?

Luc.
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
4
la version 7
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
je ne peux te répondre si cette propriété existe sous D7, mais tu peux vérifier toi-même. Sous D2010, on a un joli scroll de la barre de progression avec le style.
Ciao
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
4
Justement sous Delphi 7, Style n'existe pas pour les progressbar.

progressbar1.style := pbstMarquee; n'est donc pas utilisable.
C'est ce que j'ai dis plus haut.
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
salut,

alors je ne peux rien pour toi, désolé ;-))
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
Salut,

tout simplement:
http://www.swissdelphicenter.ch/torry/showcode.php?id=1680

[hr]@+Cirec
[hr]
Messages postés
302
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
17 septembre 2013
1
Bonsoir Cirec,

tout simplement... pour toi !!! ;-))

merci pour le code.
Messages postés
104
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
9 mai 2013

PROBLEME CE COMPOSANT REAGIT COMME UNE PROGRESSE BAR JE VIEN DE LE TESTER ACTUELLEMENT Y A TIL UN PARAMETRE A CHANGER OU PAS

CORDIALEMENT
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
4
J'avais essayé de le mettre en place mais je n'avais pas réussi. Je me suis repenché dessus et... non.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Salut,

Pourquoi s'acharner à vouloir utiliser un «gros» ProgressBar pour lui faire faire un «petit» boulot pour lequel, de plus, il n'est pas du tout prévu ?

Une jolie petite "animation" codée sur quelques lignes ferait mieux l'affaire à tous points de vue, je crois.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
... Une idée toute simple :

Sur une fiche :
1 TLabel avec propriété AutoSize et enabled à false
1 TButton
1 TTimer réglé à 200
et :

procedure TForm1.Timer1Timer(Sender: TObject);
  Const   Shift = 1;//Le décalage du texte.
begin
  Label1.Caption := Copy(Label1.Caption, Shift + 1, Length(Label1.Caption) - Shift) + Copy(Label1.Caption, 1, Shift);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := 'VEUILLEZ PATIENTER...   ';
Timer1.Enabled := not Timer1.Enabled;
if not Timer1.Enabled then Label1.Caption := '';
end;
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
oups !

Vous aurez rectifié la maladresse du "Button1Click"...
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
46
@Caribensila:

Salut ;
[quote=Caribensila]Pourquoi s'acharner à vouloir utiliser un «gros» ProgressBar pour lui faire faire un «petit» boulot pour lequel, de plus, il n'est pas du tout prévu ?/quote
sisi il est prévu pour ça ... c'est juste que très peu de personnes sont au courant.
Voir la MSDN à ce sujet

Sinon c'est quoi votre problème ?
vous n'arrivez pas à faire fonctionner ce code ? où quoi ?

[hr]@+Cirec
[hr]
Messages postés
233
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
26 juin 2011
4
@Caribensila > merci pour la solution alternative...
@cirec > et bien non, j'ai essayé dans tous les sens et non, je n'y arrive pas. Je l'avais déja trouvé durant mes recherches et j'avais été confronté au même problème.