我写了如下代码,但是在些文本时,不能换行
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;
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;
不换行没有道理!!!!!!!!!!!!!!!!