Barchar progressif jusqu'à l'exportation fichier... [Résolu]

Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
- - Dernière réponse : divin1975
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
- 15 avril 2013 à 15:42
Salut!

Je voudrai bien avoir mon barchar s'executant progressivement jusqu'à ce que le message de confirmation d'envoie apparait. Je l'ai essayé mais quand je clique au bouton d'envoie vers Excel. Le barchar s'execute mais il fait juste 2 petites bars bleu et s'arrête. Après vient le message d'envoie.
Quelqu'un peut-il voire ces codes.


var linha, coluna : integer;
  planilha ,planworkbook: variant;
begin
If messagedlg('Do you want to preview this datas to EXCEL?', mtconfirmation, [mbYes, mbNo] ,0) = mrYes then
begin
try
progressbar1.Position:= progressbar1.Position+1;
planilha:= CreateOleObject('Excel.Application');
planworkbook := planilha.Workbooks.Add;
planworkbook.Worksheets.Item['Folha1'].Activate;
//planworkbook.Worksheets.Item['Sheet1'].Activate;
planilha.caption := 'Exportando dados do dbGrid para o Excel';
planilha.visible := false;
qryCalibration.First;
//ADOTable1.DisableControls;
for linha := 0 to qryCalibration.RecordCount - 1 do
begin
for coluna := 1 to qryCalibration.FieldCount do
begin
planilha.cells[linha + 2,coluna].formula :=  qryCalibration.Fields[coluna - 1].AsString;//valorCampo;
end;
qryCalibration.Next;
end;
for coluna := 1 to qryCalibration.FieldCount do
begin
planilha.cells[1,coluna] := qryCalibration.Fields[coluna - 1].DisplayLabel;//valorcampo;
end;
//ici
if progressbar1.position = 100 then begin
    Splash.free;
  end;

planilha.columns.Autofit;
planilha.ActiveWorkBook.SaveAs('C:\company_Calibration\depenses.xls');
//ADOTable1.EnableControls;
planilha.visible := true;
except
planilha:=Unassigned;
// HandleException;

end;

Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
3
Merci
salut!!
si j'ai bien compris c est un problème de progressbar!!

try
progressbar1.Max:=qryCalibration.RecordCount;
.
.
.
qryCalibration.Next;
progressbar1.Position:= progressbar1.Position+1;
//ici le test
if progressbar1.position = 100 then
    Splash.free;
  


@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_walidlam
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
0
Merci
@walidlam

T'as la note 10.
Merci
divin1975
Commenter la réponse de divin1975