SaveToFile然后打开它格式化文本很奇怪

时间:2014-08-04 17:39:52

标签: database file delphi delphi-7

好的,所以我正在编写一个程序,将数据库导入文本文件Via(SaveToFile命令)。但是当我正常打开文件时它会给我。

 TG!     ¶’ò?²Ï# ª _þX        g Ò­cöëÏ°ã ª ?               Á<Ž¶ëmÐö ª _þX               
                         |  ¾"µÈó\Î­å ª Dw=     ÿÿ†    ÿÿ"        I        Á<Ž¶ëmÐö ª _þX                          2          .      " C l i e n t s "  C l i e n t s      + ð   I D    I D     
   ÿ   Z   ÿÿÿÿC ð   S u r e n a m e    S u r e n a m e ‚    ÿ   ÿ   j     ÿÿC ð   P a s s w o r d    P a s s w o r d     
   ÿ   z     ÿÿ3 ð   N a m e    N a m e ‚    ÿ   ÿ   j     ÿÿK ð  
 M o n e y   P a i d   
 M o n e y   P a i d        ÿ   z     ÿÿK ð  
 M o n e y   O w e d   
 M o n e y   O w e d        ÿ   z     ÿÿ[ ð   O n c e O f f   C l i e n t    O n c e O f f   C l i e n t     ÿ   ÿ   Z     ÿÿC ð   P h o n e   I D    P h o n e   I D     
   ÿ   z     ÿÿÿ   a w e    a w e                   Ó–I

这是我的代码:

procedure TfrmRawDATA.btnStoreFeedClick(Sender: TObject);
  var
      StoreFeed : string;
      StoreFeedFile: TextFile;
      data     : string;
begin

begin
  if (FileExists('C:\Users\ASROCK\Desktop\IT-PAT 2014\PAT Fase 3\StoreFeedFile.txt')) then
  begin
    DeleteFile('C:\Users\ASROCK\Desktop\IT-PAT 2014\PAT Fase 3\StoreFeedFile.txt');
    ShowMessage('Save file deleted!');
  end
  else
  AssignFile(StoreFeedFile,'Test.txt');
  FileSetAttr('C:\Users\ASROCK\Desktop\IT-PAT 2014\PAT Fase 3\StoreFeedFile.txt', faReadOnly);

  dmMJCPlus.tblClients.SaveToFile('C:\Users\ASROCK\Desktop\IT-PAT 2014\PAT Fase 3\StoreFeedFile.txt');
end;
end;

我只想知道如何设置文件类型或类似内容,以便它不会给我那个文本。

1 个答案:

答案 0 :(得分:1)

ADO表/查询和ClientDataSet的默认保存格式是二进制。您可以选择使用XML。您需要在SaveToFile

的调用中指定它
ClientDataSet.SaveToFile('...', dfXML);

ADOTable.SaveToFile('...', pfXML);

文件扩展名为“.xml”应该达到相同的目的,查看源代码,虽然看起来似乎不是你的情况(因为你似乎在评论中尝试过)

pfXML / dfXML分别在'adodb.pas'和'dbclient.pas'中定义。