查出的数据集为如下:
ZhGDH,ZhGID,ZhGMCh
----------------------
1000   001   张三
1001   002   李四
.....
数据很多,但格式是这样。我在把它输出到文本中,输出的问题已经解决。但因为我要把
‘1000   001   张三’这一行中每一个都扩充为固定的长度输出到文本,并输完一行后
回车换车。
begin
   with ADOQuery do
   begin
      first;
      while not eof do
      begin
         for i:=0 to Fieldcount-1 do
         begin
           ZhGDH_  := copy(DocQuery.FieldByName('ZhGDH').AsString + '      ',1,6);
           ZhGID_  := copy(DocQuery.FieldByName('ZhGID').AsString + '      ',1,6);
           ZhGMCh_ := copy(DocQuery.FieldByName('ZhGMCh').AsString + '            ',1,12);
           ZhGDH_  := ZhGDH_ + ZhGID_ + ZhGMCh_;
           FileName := 'CK.txt';
           WriteZhLTXT(ZhGDH_,FileName);
      end;
      Next;
    end;
  end;
end;procedure WriteZhLTXT(aString ,FileName :String);
var
  RZFileName :TFileName;
  FLog : TextFile;
begin
   try
      RZFileName := 'c:\1.txt';
      AssignFile(FLog,RZFileName);
      if FileExists(RZFileName) then
        Append(FLog)
      else
        Rewrite(FLog);
      WriteLn(FLog, aString);
      CloseFile(FLog);
   except
      ShowMessage('写文件时错误');
      exit;
   end
end;我程序是这样写的,但在执行时,它会把每条纪录都输出三遍,最后一条记录输出两遍,请教各位要如何解决?我也知道是我那个for循环中的问题,但没有想到什么好办法。很急!多谢!