procedure TFrm_Dfgz.ChangetoText(TextForm:Tform;Query1:TQuery);
var
  I: integer;
  FName,OutString: string;
  OutFile: TextFile;
  note: Tbook;    
begin
  //创建对话框的容器
try
  if v_yhzhhao='' then
  begin
      showmessage('请选择银行帐号!');
      exit;  end;
  //Assign a filename to the variable
  savedialog1.Filter := 'Text files (*.txt)|*.TXT';
  if savedialog1.Execute then
    FName := savedialog1.FileName+'.txt';
  if FName <> '' then
    begin
      note := Query1.GetBook;
      Query1.DisableControls;  //Identify the filename and type as OutFile
    AssignFile(OutFile,fname);  //create and open a new file identify as OutFile
    Rewrite(OutFile);    OutString := '';  //Get text from the Query1
    for I:=0 to Query1.FieldCount-1 do
      begin
      if query1.Fields[i].Visible = True then
      begin
        OutString:=OutString+'"'+DBGrid1.Columns[i].Title.Caption+'"';
        if I < Query1.FieldCount-1 then
          OutString := OutString + ','
        else outstring := Outstring;
      end;
      end;
    Writeln(OutFile,OutString);
    OutString := '';    While not Query1.EOF do
    begin
      for I:=0 to Query1.FieldCount-1 do
      begin
        if query1.Fields[i].Visible = True then
        begin
        OutString:=OutString+'"'+Query1.Fields[i].AsString+'"';
        if I < Query1.FieldCount-1 then
          OutString := OutString + ','
        else outstring := Outstring ;
        end;
      end;
  //Write out the text in OutString to file
      Writeln(OutFile,OutString);
      Query1.Next;
      OutString := '';
    end;    CloseFile(OutFile);
    Query1.EnableControls;
    Query1.GotoBook(note);
    Query1.FreeBook(note);
    savedialog1.Destroy;  end;
  except
  CloseFile(OutFile);
  Query1.EnableControls;
  Savedialog1.free;
  Showmessage('过程错误,请退出后重新运行!');  end;
end;
看这个例子,应该清楚了吧