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显示的 展开
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显示的 展开
6个回答
展开全部
在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 }
展开全部
把richedit的 plainText设为false
然后设置相关字体颜色、属性
然后用richedit.lines.savetoFile('aaaa.rtf')
你也可以用流方式
writeln只能写入纯文本。。
然后设置相关字体颜色、属性
然后用richedit.lines.savetoFile('aaaa.rtf')
你也可以用流方式
writeln只能写入纯文本。。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
txt 不能带格式
txt是纯文本
不能保存rtf富文本
想要带格式有两种方式
一种是存储成解释行文本 类似论坛的UBB代码
[下划线]内容[/下划线]
这样的 读取的时候 然后在翻译成富文本
还有一种就是直接保存成rtf文件
txt是纯文本
不能保存rtf富文本
想要带格式有两种方式
一种是存储成解释行文本 类似论坛的UBB代码
[下划线]内容[/下划线]
这样的 读取的时候 然后在翻译成富文本
还有一种就是直接保存成rtf文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在richedit中的lines属性中去设置 写入带下划线的txt!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
redt1.Lines.SaveToFile('d:\123.txt');
这样就行了,输出rtf也行
这样就行了,输出rtf也行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询