从RichEdit获取未格式化的文本

时间:2011-11-30 21:21:37

标签: delphi richedit

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

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

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

如何才能获取文字?

3 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:10)

回答您提出的直接问题,Text属性正是​​您所寻找的。由于某些原因,它不会显示在TRichEdit文档中,但它继承自TCustomEdit

听起来对我(对安德烈亚斯回答的评论)好像你真正需要做的如下:

  1. 将数据库中的RTF拉入内存流或blob流。
  2. 致电RichEdit.LoadFromStream传递该流,确保PlainTextFalse
  3. 然后阅读RichEdit.Text以获取未格式化的文字。
  4. 目前,您只是将RTF作为纯文本放入控件中。您需要将其作为富文本放入控件中,为此您需要LoadFromStream

答案 2 :(得分: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中 我希望这能帮到你