Barchar progressif jusqu'à l'exportation fichier...

Résolu
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013 - 15 avril 2013 à 13:10
divin1975 Messages postés 81 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;

2 réponses

cs_walidlam Messages postés 107 Date d'inscription lundi 30 mai 2011 Statut Membre Dernière intervention 29 avril 2013 1
15 avril 2013 à 13:42
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;
  


@+
3
divin1975 Messages postés 81 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 9 novembre 2013
15 avril 2013 à 15:42
@walidlam

T'as la note 10.
Merci
divin1975
0
Rejoignez-nous