//一个存为txt的例子
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); //建立并打开一新的文件
TitleStr:='';
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].AsString;
ValueStr:=ValueStr+Char(9)+TempStr;
end;
ValueStr:=Trim(ValueStr);
Writeln(FileName,ValueStr);
DataSet.Next;
end;
CloseFile(FileName);
end;
Dataset.EnableControls;
end;
end;