elementalord
Messages postés26Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 juin 2005
-
8 juin 2005 à 17:16
elementalord
Messages postés26Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 juin 2005
-
10 juin 2005 à 09:05
bonjour à tous!!je voudrai utiliser le composan tprogressbar.C'est pour qu'il m'affiche la progression d'un programme quand il est en cours d'exécution.Soit il me l'affiche dans une autre fenetre ou soit dans la même fenetre principale.Yotait il quelqu'un qui pourrait m'aider?je ne suis qu'un debutant sous delphi...
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 8 juin 2005 à 20:38
Salut,
C'est bien simple, le composant TPrtogressBar possède trois propriétés essentielles:
- Min: Integer Il s'agit de la valeur minimale de la progressbar. (Ex: tu as une boucle for i.10 to 50 do ... - ici Min 10).
- Max: Integer Pareil que Min mais pour la valeur maximale (dans l'ex cela donne 50)
- Position: Integer. C'est cette propriété qui doit être mise à jour
pendant la progression de la tache. (Ici, dnas le cas d'une boucle for,
Position = i).
elementalord
Messages postés26Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 juin 20051 9 juin 2005 à 09:50
Merci beaucoup mais le truc c'est comment je fait pour l'utiliser quand le programme fait une lecture et une écriture à l'exécution ,durant celà je voudrai que le progressbar tourne aussi pour voir sa progresssion et qu'à la fin de la lecture et écriture d'un fichier le progressbar prend fin.Dans ce cas la valeur de PB.max sera une variable de type réelle et pour la boucle au lieu de mettre for i:=25 to 250 je dois mettre par exemple for i:= 25 to j do... alors pour la variable "j" je ne vois pas comment le lier avec la durée de l'exécution du programme.
moldov
Messages postés165Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention10 novembre 2008 9 juin 2005 à 11:59
Salut
Il faudrait savoir ce que tu lit et comment tu le lit, si tu pouvais
mettre ton code dans lequel tu voudrais integré ta progress bar ca
serais plus simple pour t'aider.
Bonne Prog
Vous n’avez pas trouvé la réponse que vous recherchez ?
elementalord
Messages postés26Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 juin 20051 9 juin 2005 à 12:20
voici la parie de mon programme ou je veux intégré mon progressbar:
procedure TForm1.Button1Click(Sender: TObject);
{ Bouton pour exécuter le traitement du fichier source sélectionné }
var
fichOrig : string;
fichDest : string;
com : string;
taille : integer;
long : integer;
i : integer;
h1 : TTime;
h2 : TTime;
dh : TTime;
ref : TTime;
diff : string;
nbl : integer;
k : integer;
lign : integer;
kl : integer;
dr : boolean;
mess : string;
f : integer;
compt : integer;
begin
dr := false;
lign := listbox1.items.Count - 1;
for kl := 0 to lign do
begin
if listbox1.items.strings[kl] <> '' then
dr := true;
shape1.Brush.Color := clred;
shape1.pen.color := clred;
label8.Caption := 'En cours...'; //Le voyant devient rouge à l'exécution du programme
progressbar1.Visible := true;
end;
if dr = false then //si la liste est vide
begin
mess :='Liste vide'; //envoie d'un message d'avertissement
messagedlg(mess,mtwarning,[mbok],0);
end;
application.processmessages;//permet à windows de finir de traiter tous ses
//évènements avant de continuer
nbl := listbox1.Items.count-1;
fichOrig := FileListBox1.FileName;
AssignFile( fichdata, fichOrig);//assigne le nom fichdata au fichier source
if FileExists(fichOrig) then //sélectionné
begin //si le fichier existe
try
Reset(fichdata);//l'ouvrir
taille := filesize( fichdata);
for i := 0 to (taille-1) do
begin
Seek( fichData, i);
Read( fichData, data);//lecture du fichier ouvert
for k := 0 to nbl do
begin
com := listbox1.items.strings[k]; //lecture de la liste
FichDest := GetCurrentDir + '\' + listbox1.items.strings[k] + '.txt';
datatxt.datte := datetostr(data.datteheur);
datatxt.heure := timetostr(data.datteheur);//conversion d'un
datatxt.etat := data.etat; //fichier binaire
datatxt.omc := inttohex(data.omc,2); //en fichier texte
datatxt.country := inttohex(data.country,2);
datatxt.common := inttohex(data.common,4);
datatxt.system := inttohex(data.system,4);
datatxt.net := inttohex(data.net,4);
datatxt.alarme := inttohex(data.alarme,2);
datatxt.rssi := inttohex(data.rssi,2);
datatxt.reserve := inttostr(data.reserve); if ((( radioButton1.checked true) and ( datatxt.datte com)) or (( radioButton2.checked true) and ( datatxt.heure com)) or (( radioButton3.checked true) and ( datatxt.etat com)) or (( radioButton4.checked true) and ( datatxt.omc com)) or (( radioButton5.checked true) and ( datatxt.country com)) or (( radioButton6.checked true) and ( datatxt.common com)) or (( radioButton7.checked true) and ( datatxt.system com)) or (( radioButton8.checked true) and ( datatxt.net com)) or (( radioButton9.checked true) and ( datatxt.alarme com)) or (( radioButton10.checked true) and ( datatxt.rssi com))) then
begin//choix d'un élément parmi dix à cocher
AssignFile( fichResult, fichDest);//assigne le nom fichresult
//au fichier d'enregistrement
if FileExists( fichDest) then
begin //s'il existe
try
Reset( fichresult); //l'ouvrir
long := FileSize( fichResult);
Seek( fichResult, long-1);//se positionne à l'avant dernière
//ligne du fichier
Read( fichResult, ancDataTxt);//lecture du fichier
//d'enregistrement
h1 := StrToTime( ancDatatxt.heure);
h2 := StrToTime( datatxt.heure);
dh := h2-h1;
diff := TimeToStr( dh);
ref := StrToTime(Edit1.Text+':'+Edit3.Text+':'+Edit4.Text);
if ( dh > ref) then datatxt.reserve := '* ' + diff;
Seek( fichResult, long);//se positionne à la dernière
//ligne du fichier
Write( fichResult, dataTxt);//écriture dans le fichier
CloseFile( fichResult); / /ferme le fichier d'enregistrement
except
raise
end;
end
else
begin
try
Rewrite( fichResult);//si le fichier d'enregistrement
//n'existe pas alor le créer
Write( fichResult, datatxt);//écriture dans le fichier
Closefile( fichResult);//fermeture du fichier
except //d'enregistrement
raise
end;
end;
end;
end;
end;
closefile( fichdata);//fermeture du fichier lu
shape1.Brush.Color := cllime;
shape1.pen.color := cllime;
label8.caption := 'Prêt';//le voyant devient vert à la fin du traitement
//du fichier source
elementalord
Messages postés26Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 juin 20051 10 juin 2005 à 09:05
Merci florenth, finalement c'était simple!! j'avais mal placé dans le programme la valeur du PB.Max et du PB.Min et egalement la boucle c'est pour sa que je vois tout le temps défiler le progressbar jusqu'à la fin du programme.Merci beaucoup!!!