簡體   English   中英

Delphi XE6,從數據庫加載rtf

[英]Delphi XE6, Load rtf from Database

如何將字符串轉換為從數據庫讀取的RTF格式? 讀取時,richedit中將出現帶有標簽的字符串:/ par {ansistring .......

我嘗試使用此代碼,但結果是相同的。

    rtfString:= set1.fieldbyname('corpo_rtf').asansistring;
    stream := TMemoryStream.Create;
    stream.Clear;
    stream.Write(PAnsiChar(rtfString)^, Length(rtfString));
    stream.Position := 0;
    corpo.PlainText := False;
    corpo.Lines.LoadFromStream(stream);
    stream.Free;

如果內存流的內容是有效的RTF,則您的代碼可以正常工作。 嗯,事實並非如此。

您需要更深入地了解內存流的實際內容。 將其寫到擴展名為.rtf的文本文件中。 嘗試使用寫字板加載它。 走着瞧吧。 您應該看到與Delphi應用程序顯示的相同的內容。

那么,這可能在哪里出錯呢? 一些可能的原因包括:

  • 數據庫中的數據不是有效的RTF。
  • 有一些不需要的文本轉換正在執行。 我們假設rtfStringAnsiString類型。 是嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM