19-04-2020, 03:01 PM
السلام عليكم
جربت هذا الكود في button لكن ظهر رسالة خطأ مفادها
Unit1.pas(164): E2081 Affectation à la variable de boucle FOR 'i'
هل من حل؟؟؟
جربت هذا الكود في button لكن ظهر رسالة خطأ مفادها
Unit1.pas(164): E2081 Affectation à la variable de boucle FOR 'i'
هل من حل؟؟؟
كود :
procedure TForm1.Button5Click(Sender: TObject);
var
xlapp,shet : OleVariant;
i,i1,j : integer;
s: string;
begin
xlapp := createOleObject ('Excel.Application');
shet := createOleObject('Excel.sheet');
shet := xlapp.workbooks.add;
i1 := 0;
for i := 0 to dbgrid1.Columns.Count-1 do
begin
if dbgrid1.Columns[i].Visible = true then
begin
xlapp.cells(1,i1+1):=dbgrid1.Columns[i].Title.Caption;
inc(i1);
end;
dbgrid1.DataSource.DataSet.First;
j:=2;
while not dbgrid1.DataSource.DataSet.Eof do
begin
i1 := 0;
//--------هنا الخطأ------------------// for i := 0 to dbgrid1.Columns.Count-1 do
begin
if dbgrid1.Columns[i].Visible = true then
begin
if dbgrid1.Columns[i].FieldName = 'NumCert' then
begin
xlapp.cells(j,i1+1):=j-1;
end
else
begin
xlapp.cells(j,i1+1):=dbgrid1.Fields[i].AsString;
end;
inc(i1);
end;
end;
inc(j);
dbgrid1.DataSource.DataSet.Next;
end;
s:= extractfilepath(application.ExeName)+'1.xlsx';
shet.saveas( s);
shet.close;
end;
end;

tring);