delphi中如何把richedit的内容带格式写入TXT

我需要把一个字符串写入到TXT文件,要带下划线,用writeln写的,因为需要格式,所以用了richedit控件,请问怎么给格式并写入到txt中?Fmt.cbSize:=... 我需要把一个字符串写入到TXT文件,要带下划线,用writeln写的,因为需要格式,所以用了richedit控件,请问怎么给格式并写入到txt中?
Fmt.cbSize := SizeOf(Fmt);// 这里放传递的结构大小
Fmt.dwEffects := CFE_BOLD;
Fmt.crTextColor := clRed;// 设置字体颜色
Fmt.crBackColor := clYellow;// 设置字体背景色
RichEdit1.SelectAll;
RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));
这样写,并把输出文件改成RTF格式,还是打印不了字体
我用WORD显示的
展开
 我来答
wooden954
推荐于2016-09-28 · TA获得超过1万个赞
知道大有可为答主
回答量:6135
采纳率:93%
帮助的人:794万
展开全部
在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 }
众口说车
推荐于2016-07-08 · TA获得超过2323个赞
知道大有可为答主
回答量:3503
采纳率:50%
帮助的人:1462万
展开全部
把richedit的 plainText设为false
然后设置相关字体颜色、属性
然后用richedit.lines.savetoFile('aaaa.rtf')
你也可以用流方式
writeln只能写入纯文本。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovesky0414
2013-01-15 · TA获得超过3353个赞
知道大有可为答主
回答量:1610
采纳率:66%
帮助的人:1565万
展开全部
txt 不能带格式
txt是纯文本
不能保存rtf富文本
想要带格式有两种方式
一种是存储成解释行文本 类似论坛的UBB代码
[下划线]内容[/下划线]
这样的 读取的时候 然后在翻译成富文本
还有一种就是直接保存成rtf文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
田锐泽0H
2013-01-15
知道答主
回答量:5
采纳率:0%
帮助的人:2.6万
展开全部
你可以在richedit中的lines属性中去设置 写入带下划线的txt!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
口天无才
2013-01-16 · TA获得超过429个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:219万
展开全部
redt1.Lines.SaveToFile('d:\123.txt');

这样就行了,输出rtf也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式