procedure TForm1.Button1Click(Sender: TObject); begin DbgridToTxt(dbgrid1); end;procedure Tform1.DbgridToTxt(source:Tobject); var filename:Textfile; Dataset:Tdataset; titlestr,valuestr,tempstr:string; counter:integer; begin if (source is Tdbgrid)then Dataset:=Tdbgrid(source).DataSource.DataSet else Dataset:=TDataset(source); if ((Dataset.IsEmpty)or(not Dataset.Active))then exit else begin Dataset.DisableControls; Dataset.First; if savedialog1.Execute then begin assignfile(filename,savedialog1.FileName); rewrite(filename); for counter:=0 to Dataset.FieldCount-1 do titlestr:=titlestr+char(9)+Dataset.Fields[counter].DisplayLabel; titlestr:=trim(titlestr); writeln(filename,titlestr); while not Dataset.Eof do begin valuestr:='; for counter:=0 to Dataset.FieldCount-1 do begin tempstr:=Dataset.Fields[counter].Text; valuestr:=valuestr+char(9)+tempstr; end; valuestr:=trim(valuestr); writeln(filename,valuestr); Dataset.Next; end; closefile(filename); end; Dataset.EnableControls; end; end;
begin
DbgridToTxt(dbgrid1);
end;procedure Tform1.DbgridToTxt(source:Tobject);
var
filename:Textfile;
Dataset:Tdataset;
titlestr,valuestr,tempstr:string;
counter:integer;
begin
if (source is Tdbgrid)then
Dataset:=Tdbgrid(source).DataSource.DataSet
else
Dataset:=TDataset(source);
if ((Dataset.IsEmpty)or(not Dataset.Active))then
exit else
begin
Dataset.DisableControls;
Dataset.First;
if savedialog1.Execute then
begin
assignfile(filename,savedialog1.FileName);
rewrite(filename);
for counter:=0 to Dataset.FieldCount-1 do
titlestr:=titlestr+char(9)+Dataset.Fields[counter].DisplayLabel;
titlestr:=trim(titlestr);
writeln(filename,titlestr);
while not Dataset.Eof do
begin
valuestr:=';
for counter:=0 to Dataset.FieldCount-1 do
begin
tempstr:=Dataset.Fields[counter].Text;
valuestr:=valuestr+char(9)+tempstr;
end;
valuestr:=trim(valuestr);
writeln(filename,valuestr);
Dataset.Next;
end;
closefile(filename);
end;
Dataset.EnableControls;
end;
end;