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

Signaler
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
-
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013
-
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;

2 réponses

Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
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;
  


@+
Messages postés
83
Date d'inscription
mardi 7 juin 2011
Statut
Membre
Dernière intervention
9 novembre 2013

@walidlam

T'as la note 10.
Merci
divin1975