5

我有一个 Richedit,它允许我的用户格式化和查看在我的应用程序中显示的错误消息。

我现在需要能够仅将文本(无格式)导出到他们的故障单系统使用的另一个数据库。

我已经尝试了所有我能想到的 PlainText 组合,而且我总是得到 rtf 格式。

我怎样才能只得到文本?

4

3 回答 3

12

要获取未格式化的文本,只需使用RichEdit1.Text.

于 2011-11-30T21:26:23.603 回答
11

回答您提出的直接问题,该Text物业正是您正在寻找的。由于某种原因,它没有出现在TRichEdit文档中,但它继承自TCustomEdit.

在我看来(在对 Andreas 的回答发表评论之后),您真正需要做的事情如下:

  1. 将 RTF 从 DB 拉入内存流或 Blob 流。
  2. 调用RichEdit.LoadFromStream传递该流,确保PlainTextFalse.
  3. 然后阅读RichEdit.Text以获取未格式化的文本。

目前,您只是将 RTF 作为纯文本放入控件中。您需要将其作为富文本放入控件中,为此您需要LoadFromStream.

于 2011-11-30T21:27:25.367 回答
2

我用这种方式来获取未格式化的文本

procedure TMainForm.O1Click(Sender: TObject);

begin

if sOpenDialog1.Execute then

sRichEdit1.Lines.LoadFromFile(sOpenDialog1.FileName);

sMemo1.Text := sRichEdit1.Text;

sRichEdit1.Clear;

sRichEdit1.Text := sMemo1.Text;

对于保存文件,您必须选择将文本另存为 .txt 文本仍在备忘录中,但您所做的所有更改将仅在 Richedit 中,因此您必须在完成所有更改后将文本移动到备忘录,然后从备忘录中保存

另存为.rtf 只是从richedit 中保存我希望这对你有帮助

于 2013-07-01T11:15:48.033 回答