如何连接一个文本文件与一个RTF文件的内容?

yeah 2000-01-15 03:41:00
请教在保证RTF文件的格式不丢失的情况下,如何将一个文本文件与RTF文件合并成一个文件?如以下RichEdit中已有一个文本文件内容

var Stream1,Stream2:TMemoryStream
begin
Stream1:=TMEmoryStream.Create;
Stream2:=TMemoryStream.Create;
Richedit.lines.savetoStream(Stream1);
stream2.Loadfromfile('C:\what.rtf');
如何将两个Stream的内容合并到Stream1中,然后
RichEdit.Lines.LoadfromStream(Stream1);
end;
...全文
250 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
skt642 2001-05-31
  • 打赏
  • 举报
回复
89365关注!
yeah 2000-08-13
  • 打赏
  • 举报
回复
我等到花儿也谢了……
虽然答案不能满意,但KXY的回答找出了问题的根源,所以把分分了吧。
yeah 2000-01-18
  • 打赏
  • 举报
回复
只要使用了Addstrings方法,RTF的格式信息就没有了。
limodou 2000-01-17
  • 打赏
  • 举报
回复
你不是说一个文本文件,一个rtf文件吗?那你可以先装入rft文件,再装入文本文件。
如果一定要先装入文本再装入rft,你可以这样。

再生成一个richedit2,richedit2.loadfromstream(stream2);
然后richedit1.lines.addstrings(richedit2.lines);
limodou 2000-01-16
  • 打赏
  • 举报
回复
var
str:TStringList;
begin
str:=TStringList.create;
try
str.loadfromstream(stream1);
richedit1.clear;
richedit1.loadfromstream(stream2);
richedit1.lines.addstrings(str);
finally
str.free;
end;
end;
光明山人 2000-01-16
  • 打赏
  • 举报
回复
limodou的方法应该是可行的, 关键是你先Load RTF格式的内容,然后再ADD纯文本。
yeah 2000-01-16
  • 打赏
  • 举报
回复
kxy使用剪贴板的方法就是我现在使用的方法,我觉得不太好,因为它破坏了用户最近的一次剪贴板数据。而limaodong的方法不能达到我的要求,AddStirngs方法会让Richedit忽略文件的格式信息,这样您看到的都是Rtf符号。
kxy 2000-01-15
  • 打赏
  • 举报
回复
>>将TXT文件一行一行的加入RTF文件中去
这样加入文本可以,反之不行.

to : yeah //
操作后
把Stream1存到一个rtf中,就会看到,Steam1的内容已经不符合rtf的格式.
所以,Memo1的内容没有变化,memo1是rtf格式,有一个结束富 /par1}
按你的代码,stream2的内容是加到结束赋后面,所以Memo1的内容没有变化.
Memo1中加入一个rtf文件,可以利用剪贴版,先把Memo1的内容cut到剪贴版中
Memo1.CutToClipboard;再Memo1.LoadFromFile('c:\xxx.rtf');
再Memo1.PasteFromClipboard. Good luck,
可能有其它的方法,我没有想出来,又不想去看rtf的格式.
Firing_Sky 2000-01-15
  • 打赏
  • 举报
回复
将TXT文件一行一行的加入RTF文件中去

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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