Progressbar dynamique + listview + pourcentage

cs_oregon Messages postés 6 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 4 août 2010 - 4 août 2010 à 10:52
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 5 août 2010 à 14:24
Bonjour. Je viens ici pour vos pose une questions actuellement sur un projet je fait afficher une progressbar dans une listview (source sur le site) et je voudrais afficher un label par dessus la progressbar afin d'indiquer le pourcentage mais je ne sais comment m'y prendre auriez vous quelque indice. ?? J'ai tente label1.Parent := ProgressBar sa ne fonctionne pas merci d'avance pour vos réponse.

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
4 août 2010 à 11:12
Salut,

mais si ça fonctionne:
[hr]  Label1.Top :=  1;

  Label1.Left := ProgressBar1.Width  div  2 - Label1.Width div 2;
  Label1.Transparent: = True;
  Label1.Parent  := ProgressBar1;
[hr]
à toi d'adapter pour que l'affichage se mette à jour


[hr]@+Cirec
[hr]
0
cs_oregon Messages postés 6 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 4 août 2010
4 août 2010 à 19:06
Vraiment nickel Merci ;) . J'ai un autre problème pour la creation de la progressBar dans un thread. Voici le code pour que ce soit plus clair

type
 pb: TProgressBar;

procedure Mon_Thread.Execute;

begin
//Update
if (action2 = 'update') then
begin
Form1.ListView1.Items.Item[0].SubItems.Strings[0]:= 'Update en Cours';
pb := TProgressBar.Create(self);
pb.Parent:=Form1.ListView1;
pb.Position :=50;
end;



Lors de la compilation j'ai une erreur sur pb := TProgressBar.Create(self);

[DCC Erreur] Thread.pas(43): E2010 Types incompatibles : 'TComponent' et ' Mon_Thread.pas'


Je ne vois pas d'ou sa peut venir
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
5 août 2010 à 01:59
Salut,

pb := TProgressBar.Create(Form1);
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
5 août 2010 à 14:24
Salut,

oui Caribensila a raison ... c'est la solution à l'erreur citée plus haut ... mais ...

je te conseille de revoir chapitre Thread ... parce que le code que tu donnes dans la procédure "Execute" du Thread ne devrait pas s'y trouver.

[quote=Aide de Delphi]Remarque:
N'utilisez pas les propriétés et méthodes d'autres objets directement dans la méthode Execute d'un thread. Il faut séparer l'utilisation des autres objets dans un appel de procédure distinct et appeler cette procédure en la transmettant comme paramètre à la méthode Synchronize.
/quote

la création de composant devrait aussi se faire à l'extérieur de la méthode Execute


[hr]@+Cirec
[hr]
0
Rejoignez-nous