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);
titlestr := '';
for counter := 0 to DataSet.FieldCount - 1 do
begin
titlestr := titlestr + ' ' + FormatStr(DataSet.Fields[counter].DisplayLabel, DataSet.Fields[counter].DataSize);
end;
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;
tempstr := FormatStr(tempstr, DataSet.Fields[counter].DataSize);
valuestr := valuestr + ' ' + tempstr;
end;
valuestr := Trim(valuestr);
Writeln(filename,valuestr);
DataSet.Next;
end;
CloseFile(FileName);
end;
DataSet.EnableControls;
ShowMessage('保存成功');
end;
end;