【发布时间】:2011-05-15 17:40:46
【问题描述】:
我正在为我声明的自定义类型分配一个字符串,我使用 TTreeViews Node.Data 属性读取/写入该类型。我从节点读取和写入,如下所示:
阅读:RichEdit1.Lines.Text := TMyData(TreeView1.Selected.Data).MyString;
写信:TMyData(TreeView1.Selected.Data).MyString := RichEdit1.Lines.Text;
这非常适合纯字符串,我希望允许将富格式文本存储在字符串中,而不会丢失格式。我设法通过在 RichEdit 上使用 Streams 来做到这一点,因为我正在使用免费软件 Zeos Lib (SQL) 保存我的数据库,我收到未知令牌错误(可能来自 RTF 标签)。如何保存而不出现错误?
更新
按照 Sylverdrag 的建议,我现在已经成功地使用 Base64 编码/解码正确保存它而不会出错。这对我的字符串进行了编码,删除了坏字符。
【问题讨论】:
-
@Craig - 所以你只需要将 RTF 文本保存到数据库中
-
@daemon_x 是的,我已经设法在运行时保存/查看 RTF 文本,但是我无法保存数据库而不出现标记或令牌错误,如果我无法保存/打开,则根本不使用文件。
-
@Craig - 你得到什么错误信息?
-
@daemon_x,当我尝试保存时出现的错误是这样的:SQL 错误:无法识别的令牌:“'????????????????% ???????????????..'"
-
我不知道 ZEOS Lib 但尝试检查this link. 如果有转换 AsAnsiString 尝试以这种方式使用它。
标签: delphi formatting richedit zeos