如何将执行结果写入到文本文档中?

xindeyitian715 2009-04-25 10:32:16
一篇很大的文档,我已经实现了找出文档中某些特定汉字 ,就是不知道如何将这些汉字依次写入一个新的文本文档

我是这样写的
var
strLst:TStringList;
begin
strLst := TStringList.Create;
strLst.Add(danzi);//danzi是一个变量,代表那些特定汉字,用循环语句得到的
strLst.SaveToFile(ExtractFilePath(Application.ExeName) + '\Random.txt');
strLst.Free;
end;
可每次执行完,新的文档中都只有那些特定汉字中的最后一个字。各位帮忙,我急用。。。
...全文
182 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanhao123456 2009-04-25
  • 打赏
  • 举报
回复
var
strLst: TStringList;
v_i: Integer;
begin
strLst := TStringList.Create;
for v_i := 1 to 10 do
if strLst.Count = 0 then
strLst.Add('他')
else
strLst[0] := strLst[0] + '他';
strLst.SaveToFile('c:\Random.txt');
strLst.Free;
end;
xindeyitian715 2009-04-25
  • 打赏
  • 举报
回复
不好意思,现在是写进去了。可是怎么才能不让每写入一个数据就换行呢?
我想要类似于“你我他”这种格式
而现在是:你

xindeyitian715 2009-04-25
  • 打赏
  • 举报
回复
var
Pos: Integer;
ch,danzi: String;
strLst:TStringList;
begin
pos:=1;
repeat
if Judge_SingleWord(Pos) then
begin
danzi:=copy(str, Pos, 2);
showmessage(danzi);
strLst := TStringList.Create;
strLst.Add(danzi);

end;
inc(pos,2);
until not( Pos<length(str));
strLst.SaveToFile(ExtractFilePath(Application.ExeName) + '\Random.txt');
strLst.Free;
end;
请问您是这个意思吗?改完还是不对啊。。。
流梓 2009-04-25
  • 打赏
  • 举报
回复
或者这样:
var
strLst:TStringList;
begin
strLst := TStringList.Create;
for i:=0 to XXX do
strLst.Add(danzi);//danzi是一个变量,代表那些特定汉字,用循环语句得到的
//最后在保存
strLst.SaveToFile(ExtractFilePath(Application.ExeName) + '\Random.txt');

strLst.Free;
end;
流梓 2009-04-25
  • 打赏
  • 举报
回复
var
wText: TextFile;
logFilename,TempLog: string;
begin
TempLog := FormatDateTime('yyyy-mm-dd HH:mm:ss',now) + #13+#10;
TempLog := TempLog + '-------------------------------------------' + #13+#10;
logFilename := AfilePath + FormatDateTime('yyyy-mm-dd',now) + '.log';
CreateDirMulti(AfilePath);
AssignFile(wText,logFilename);
if fileexists(logFilename) then begin
ReSet(wText);
Append(wText);
Writeln(wText, TempLog + LogText);
Writeln(wText, '------------------------------------------------------------------------------------------------------------------------------------------' + #13+#10);
end
else begin
Rewrite(wText);//创建文件
Writeln(wText, TempLog + LogText);
Writeln(wText, '------------------------------------------------------------------------------------------------------------------------------------------' + #13+#10);
end;
CloseFile(wText);
result := True;
end;
bdmh 2009-04-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 xindeyitian715 的帖子:]
一篇很大的文档,我已经实现了找出文档中某些特定汉字 ,就是不知道如何将这些汉字依次写入一个新的文本文档

我是这样写的
var
strLst:TStringList;
begin
strLst := TStringList.Create;
strLst.Add(danzi);//danzi是一个变量,代表那些特定汉字,用循环语句得到的
strLst.SaveToFile(ExtractFilePath(Application.ExeName) + '\Random.txt');

[/Quote]

你这样做肯定每次就一个呀,你想想,strLst.Add(danzi)只添加了一个数据,然后strLst.SaveToFile,就会覆盖之前的
,你应该把strLst.SaveToFile放到循环外,比如
循环体
begin
strLst.Add(danzi);
end
strLst.SaveToFile

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧