我有一个 Richedit,它允许我的用户格式化和查看在我的应用程序中显示的错误消息。
我现在需要能够仅将文本(无格式)导出到他们的故障单系统使用的另一个数据库。
我已经尝试了所有我能想到的 PlainText 组合,而且我总是得到 rtf 格式。
我怎样才能只得到文本?
要获取未格式化的文本,只需使用RichEdit1.Text
.
回答您提出的直接问题,该Text
物业正是您正在寻找的。由于某种原因,它没有出现在TRichEdit
文档中,但它继承自TCustomEdit
.
在我看来(在对 Andreas 的回答发表评论之后),您真正需要做的事情如下:
RichEdit.LoadFromStream
传递该流,确保PlainText
是False
.RichEdit.Text
以获取未格式化的文本。目前,您只是将 RTF 作为纯文本放入控件中。您需要将其作为富文本放入控件中,为此您需要LoadFromStream
.
我用这种方式来获取未格式化的文本
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 中保存我希望这对你有帮助