hajerhajer
Messages postés17Date d'inscriptionvendredi 11 juillet 2008StatutMembreDernière intervention30 juillet 2008
-
29 juil. 2008 à 10:48
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
30 juil. 2008 à 19:05
Bonjour,
j'ai une fonction qui consulte une table volumineuse. Elle prend su temps. je voulais demander commen suivre son avnacement par un progress bar?
Merci.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 29 juil. 2008 à 18:45
Bonjour,
il te suffit d'incrémenter la progressbar à chaque fois qu'une action est faite dans ta fonction.
Exemple : une fonction qui divise sans arrêt un chiffre par 2 pour un nombre d'iterations défini, et qui donne le résultat (bon c'est bidon mais c'est un exemple) :
function LoopDivByTwo(Num: Integer, Iters: Integer): Integer;
Var
I: Integer;
begin
ProgressBar.Max := Iters;
ProgressBar.Position := 0;
for I := 1 to Iters do
begin
ProgressBar.Position := ProgressBar.Position + 1;
Num := Num div 2;
end;
Result := Num;
end;
ProgressBar est bien sûr ta progressbar (trop fort l'humour ...).
N'oublie pas de déclarer la fonction dans Interface, et de noter la fonction dans implémentation de cette façon :
function TaForm.LoopDivByTwo(Num: Integer, Iters: Integer): Integer;
Tu vois la prog' c'est simple quand on sait comment procéder
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 29 juil. 2008 à 21:29
Schalute !!!
«Elle prend su temps» ???
Oué... mais avec le "progress bar", elle richque de rentrer au p'tit matin compléchement schlass!
Ché moi qui te le dit!
Avnacement ou pas avnacement... Cha retarde!