我写了如下代码,但是在些文本时,不能换行
procedure TF_SKJK.SpeedButton1Click(Sender: TObject);
var sqlstr,sqlstr1:string;
    text1:TextFile;
    tmpString:String;
    col1:Integer;
begin
  inherited;
sqlstr:='SELECT tb_sell_main.billdate AS 单据日期, tb_sell_main.billcode AS 单据编号,';
sqlstr:=sqlstr+' tb_sell_main.units AS 单位名称, tb_sell_detailed.fullname AS 商品名称,';
sqlstr:=sqlstr+' tb_sell_detailed.type AS 规格, tb_sell_detailed.unit AS 单位,';
sqlstr:=sqlstr+' tb_sell_detailed.qty AS 数量, tb_sell_detailed.price as 单价, tb_sell_detailed.tsum as 金额';
sqlstr:=sqlstr+' FROM tb_sell_main INNER JOIN tb_sell_detailed ON tb_sell_main.billcode = tb_sell_detailed.billcode where tb_sell_main.units=:units';
sqlstr1:='select distinct tb_sell_main.units, tb_sell_main.billcode FROM tb_sell_main INNER JOIN tb_sell_detailed ON tb_sell_main.billcode = tb_sell_detailed.billcode ';
with adoqu1 do
begin
close;
sql.Clear;
sql.Add(sqlstr1);
//parameters.ParamByName('units').Value:='明日科技';
open;
end;
if adoqu1.RecordCount=0 then
begin
application.MessageBox('没有要导出的记录','提示',mb_ok);
exit;
end;
if SaveDialog1.Execute Then
begin
AssignFile(text1,SaveDialog1.FileName);
Rewrite(text1);
writeln(text1,'SJJK0101~~销售单据传入~~11月2日三厂销售业务');
with adoqu1 do
begin
first;
 while not eof do
 begin
   For col1:=0 To FieldCount-2 Do //留最后一列
         tmpString:=tmpString+trim(Fields[col1].AsString)+'~~';
           tmpString:=tmpString+trim(Fields[col1].AsString);
//  tmpstring:=trim(Fields[0].AsString);
  writeln(text1,tmpString);
  sqlstr:='SELECT tb_sell_main.billdate AS 单据日期, tb_sell_main.billcode AS 单据编号,';
   sqlstr:=sqlstr+' tb_sell_main.units AS 单位名称, tb_sell_detailed.fullname AS 商品名称,';
   sqlstr:=sqlstr+' tb_sell_detailed.type AS 规格, tb_sell_detailed.unit AS 单位,';
    sqlstr:=sqlstr+' tb_sell_detailed.qty AS 数量, tb_sell_detailed.price as 单价, tb_sell_detailed.tsum as 金额';
    sqlstr:=sqlstr+' FROM tb_sell_main INNER JOIN tb_sell_detailed ON tb_sell_main.billcode = tb_sell_detailed.billcode where tb_sell_main.units=:units';
    adoqu2.Close;
    adoqu2.SQL.Clear;
    adoqu2.SQL.Add(sqlstr);
    adoqu2.Parameters.ParamByName('units').Value:=trim(adoqu1.Fields[0].AsString);
    adoqu2.Open;
    with Adoqu2 do
    begin
    first;
    while not eof do
       begin
        tmpString:='';
        For col1:=0 To FieldCount-2 Do //留最后一列
         tmpString:=tmpString+trim(Fields[col1].AsString)+'~~';
           tmpString:=tmpString+trim(Fields[col1].AsString);
         tmpString:='  '+tmpString;
        writeln(text1,tmpString);  //将表数据写入文件,此处不能换行,导致文本格式不对
        next;
      end;
    end;
  next; 
 end;
end;
end;
CloseFile(text1);
Application.MessageBox('导出数据成功  !', PChar('数据导入导出提示'), MB_OK +MB_ICONINFORMATION + MB_TOPMOST);
end;