为什么TRichEdit在转换为纯文本时会在RTF代码中插入换行符?

时间:2013-06-04 09:07:26

标签: delphi delphi-xe2 rtf richtext

我有这个RTF代码:

{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang7\f0\fs22 Dies ist eine Textdatei mit einigen Umlauten und Sonderzeichen:\par
\'c4\'d6\'dc\'df\'ea\'80\'fb\'fa\'f9\par
}

我正在使用的代码(来自this question):

class function TRTF.Decode(const AInput: string): string;
var
  RichEdit: TRichEdit;
  Stream: TStringStream;
begin
  RichEdit := CreateRichEdit;
  try
    Stream := TStringStream.Create(AInput);
    try
      RichEdit.Lines.LoadFromStream(Stream);
      Result := RichEdit.Lines.Text;
    finally
      Stream.Free;
    end;
  finally
    RichEdit.Free;
  end;
end;

我正在将其解码为纯文本,结果是:

Dies ist eine Textdatei mit 
einigen Umlauten und 
Sonderzeichen:
ÄÖÜßê€ûúù

我想知道为什么TRichEdit在第一段中插入了额外的换行符?

我能做些什么来控制这种行为吗?

1 个答案:

答案 0 :(得分:7)

据推测,这是因为WordWrap的默认值为True。我希望您在转换之前将其设置为False