![]() |
RTF-Code auslesen.
Hallo zusammen,
ich habe eine Frage: über lines.add übergebe ich einer Richedit-Komponente einen String (plaintext:= false) Diesen gehe ich wortweise durch und markiere bestimmte Worte mit [fsBold]. Nach getaner Arbeit, hätte ich gerne den gesamten RTF-Code, der dadurch entstanden ist als String zurück! Leider klappt es nicht! Setze ich plaintext:= true, liefert richedit.text einfach nur den unformatierten String zurück. Was mache ich falsch? Steckt da irgendwo ein Denkfehler? Ich werde diesen String doch nicht erst in einer Datei speichern müssen... oder? :shock: Ich danke Euch im voraus! Grüße Robert |
Re: RTF-Code auslesen.
Hallo,
Du musst die Daten direkt aus dem Control extrahieren. Versuch mal folgenden Code:
Delphi-Quellcode:
Gruß
uses
RichEdit; ... function StringSave(dwCookie: Longint; pbBuff: PByte; cb: Longint; var pcb: Longint): Longint; stdcall; var S: PString; begin Result := NoError; S := PAnsiString(dwCookie); try S^ := S^ + PChar(pbBuff); pcb := cb; except Result := $0002; // WriteError end; end; function SaveRichEditToString(RichEdit: TRichEdit): AnsiString; var EditStream: TEditStream; TextType: LongInt; S: AnsiString; begin try with EditStream do begin dwCookie := Integer(@S); pfnCallBack := @StringSave; dwError := 0; end; if RichEdit.PlainText then TextType := SF_TEXT else TextType := SF_RTF; SendMessage(RichEdit.Handle, EM_STREAMOUT, TextType, Longint(@EditStream)); finally Result := S; end; end; xaromz |
Re: RTF-Code auslesen.
Hallo xaromz,
:hello: was soll ich sagen... SUPER-DANKE!!!! :thumb: It works! Schöne Grüße Robert |
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Ein Delphi-Problem |
Re: RTF-Code auslesen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz