delphi中如何把richedit的内容带格式写入TXT
答案:6 悬赏:80 手机版
解决时间 2021-03-31 07:11
- 提问者网友:鼻尖触碰
- 2021-03-30 08:01
delphi中如何把richedit的内容带格式写入TXT
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-03-30 09:27
在Delphi中,RichEdit默认可以保存的格式是富文本格式。其中的文字大小、颜色等信息都可以保存下来。
RichEdit有一PlainText属性,此属性值默认为False,存储时使用带格式的结构。若设置为True,则仅存储内容,格式信息将被舍弃。
如果需要保存的话,直接调用SaveToFile函数,给定文件名称参数,即可保存文档。给定的文件名称中与扩展名无关。若PlainText属性为False,则写入文件时包含格式信息,若为True,则仅写入文件文字内容。
建议使用RTF作为文件的扩展名,这样保存的文档可以直接在Word或WPS中打开。
带格式写入TXT文件,再打开TXT文件后,格式信息也可以看得到,如下所示:
{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
{\colortbl ;\red0\green128\blue0;\red0\green0\blue255;\red255\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs18 [2015-12-14 14:43:51] 192.168.1.5:5663 \'d2\'d1\'b6\'cf\'bf\'aa\cf2
\par [2015-12-14 14:43:51] 192.168.1.5:5663 \'d2\'d1\'c1\'ac\'bd\'d3\cf1
\par [2015-12-14 14:43:50] 192.168.1.5:5662 \'d2\'d1\'b6\'cf\'bf\'aa\cf2
\par [2015-12-14 14:43:49] 192.168.1.5:5662 \'d2\'d1\'c1\'ac\'bd\'d3\cf3
\par [2015-12-14 14:43:38] \'c9\'cf\'d0\'d0\'ca\'fd\'be\'dd\'b7\'d6\'ce\'f6\'cf\'df\'b3\'cc\'bf\'aa\'ca\'bc\'d4\'cb\'d0\'d0\'a3\'a1\cf0
\par
\par }
RichEdit有一PlainText属性,此属性值默认为False,存储时使用带格式的结构。若设置为True,则仅存储内容,格式信息将被舍弃。
如果需要保存的话,直接调用SaveToFile函数,给定文件名称参数,即可保存文档。给定的文件名称中与扩展名无关。若PlainText属性为False,则写入文件时包含格式信息,若为True,则仅写入文件文字内容。
建议使用RTF作为文件的扩展名,这样保存的文档可以直接在Word或WPS中打开。
带格式写入TXT文件,再打开TXT文件后,格式信息也可以看得到,如下所示:
{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
{\colortbl ;\red0\green128\blue0;\red0\green0\blue255;\red255\green0\blue0;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs18 [2015-12-14 14:43:51] 192.168.1.5:5663 \'d2\'d1\'b6\'cf\'bf\'aa\cf2
\par [2015-12-14 14:43:51] 192.168.1.5:5663 \'d2\'d1\'c1\'ac\'bd\'d3\cf1
\par [2015-12-14 14:43:50] 192.168.1.5:5662 \'d2\'d1\'b6\'cf\'bf\'aa\cf2
\par [2015-12-14 14:43:49] 192.168.1.5:5662 \'d2\'d1\'c1\'ac\'bd\'d3\cf3
\par [2015-12-14 14:43:38] \'c9\'cf\'d0\'d0\'ca\'fd\'be\'dd\'b7\'d6\'ce\'f6\'cf\'df\'b3\'cc\'bf\'aa\'ca\'bc\'d4\'cb\'d0\'d0\'a3\'a1\cf0
\par
\par }
全部回答
- 1楼网友:鸽屿
- 2021-03-30 12:55
txt 不能带格式
txt是纯文本
不能保存rtf富文本
想要带格式有两种方式
一种是存储成解释行文本 类似论坛的UBB代码
[下划线]内容[/下划线]
这样的 读取的时候 然后在翻译成富文本
还有一种就是直接保存成rtf文件
txt是纯文本
不能保存rtf富文本
想要带格式有两种方式
一种是存储成解释行文本 类似论坛的UBB代码
[下划线]内容[/下划线]
这样的 读取的时候 然后在翻译成富文本
还有一种就是直接保存成rtf文件
- 2楼网友:詩光轨車
- 2021-03-30 12:02
你可以在richedit中的lines属性中去设置 写入带下划线的txt!
- 3楼网友:像个废品
- 2021-03-30 11:19
你试试下面的代码,能用就把贴结了:
uses RichEdit;
procedure TForm1.Button1Click(Sender: TObject);
var
cf: TCharFormat2;
s: string;
begin
cf.cbSize := SizeOf(cf);
SendMessage(RichEdit1.Handle, EM_GETCHARFORMAT, SCF_DEFAULT, Longint(@cf));
cf.dwEffects := CFE_BOLD or CFE_ITALIC;
cf.crTextColor := ColorToRGB(clRed);
cf.crBackColor := ColorToRGB(clYellow);
SendMessage(RichEdit1.Handle, EM_SETCHARFORMAT, SCF_ALL, Longint(@cf));
s := 'test.rtf'; { 保存在程序所在目录,存在其它地方你自己改吧 }
RichEdit1.Lines.SaveToFile(s);
ShowMessage('保存完毕');
end;
uses RichEdit;
procedure TForm1.Button1Click(Sender: TObject);
var
cf: TCharFormat2;
s: string;
begin
cf.cbSize := SizeOf(cf);
SendMessage(RichEdit1.Handle, EM_GETCHARFORMAT, SCF_DEFAULT, Longint(@cf));
cf.dwEffects := CFE_BOLD or CFE_ITALIC;
cf.crTextColor := ColorToRGB(clRed);
cf.crBackColor := ColorToRGB(clYellow);
SendMessage(RichEdit1.Handle, EM_SETCHARFORMAT, SCF_ALL, Longint(@cf));
s := 'test.rtf'; { 保存在程序所在目录,存在其它地方你自己改吧 }
RichEdit1.Lines.SaveToFile(s);
ShowMessage('保存完毕');
end;
- 4楼网友:孤独入客枕
- 2021-03-30 10:33
redt1.Lines.SaveToFile('d:\123.txt');
这样就行了,输出rtf也行
这样就行了,输出rtf也行
- 5楼网友:渊鱼
- 2021-03-30 09:33
把richedit的 plainText设为false
然后设置相关字体颜色、属性
然后用richedit.lines.savetoFile('aaaa.rtf')
你也可以用流方式
writeln只能写入纯文本。。
然后设置相关字体颜色、属性
然后用richedit.lines.savetoFile('aaaa.rtf')
你也可以用流方式
writeln只能写入纯文本。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯