TRichMemo: RTF-Append

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

TRichMemo: RTF-Append

Beitrag von Ronny58 »

Hallo Zusammen,

ich habe mir eine kleine Struktur mit VirtualTreeview aufgebaut. In dem dafür vorgesehen Record gibt es ein Feld "Info" vom Typ String gibt, in dem ein RTF-String abgelegt ist.
Dieses Feld kann für jeden Node über einen kleinen RichMemo-Editor mit Kommentaren gefüllt werden. Natürlich mit reichlich Formatierung (Schrift, Farbe, Tabs, …). Klappt klasse.

Aus dieser VTV-Struktur möchte ich nun eine komplette Doku anfertigen, die für jeden Node das Feld Info ausliest und an die bereits ausgelesenen "Info"-Felder anhängt. Das ganze soll in einem TRichMemo zusammen gebastelt werden. Sozusagen ein TRichMemo.AppendRTF(RTF: String), der an eine bestehendes RTF einen weiteren RTF-String dran hängt.

Das fertige Ergebnis soll dann eine große RTF-Datei sein, die sich aus vielen kleine RTF's zusammensetzt.
Da passiert noch ein bisschen mehr. Es wird eine Inhaltsverzeichnis erzeugt, der Node-Name wird ausgelesen und ein paar weitere Felder. Daran soll sich das Feld "Info" anschließen und zum nächsten Node gegangen werden. Man könnte es im weitesten Sinne als eine Art Doku-Performer bezeichnen, wie es ihn in SAP-BW gibt. Halt nur für meine kleinen Prozesse, die ich in der Struktur verwalte (so ca. 400 Prozesse).

Alles klappt bisher soweit hervorragend. Das Inhaltverzeichnis ist fertig. Wesentliche Felder aus der VTV-Record lese ich aus. Nur das "Info"-Feld mit den RTF-String will sich nicht anhängen lassen.

Ich hatte gehofft es ginge so:

Code: Alles auswählen

 
rmEditor.Rtf := rmEditor.Rtf + Info;
 


Leider weit gefehlt.

Kann mir jemand sagen, wie ich das hinbekomme?

LG Ronny

shokwave
Beiträge: 438
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: TRichMemo: RTF-Append

Beitrag von shokwave »

Hi,

hilft dir

Code: Alles auswählen

rmEditor.Append(Info);
weiter?
mfg Ingo

sstvmaster
Beiträge: 416
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.0.12
CPU-Target: 32+64bit
Wohnort: Dresden

Re: TRichMemo: RTF-Append

Beitrag von sstvmaster »

Oder:

Code: Alles auswählen

 
uses
  RichMemo, RichMemoUtils;
...
var
  fp: TFontParams;
begin
 
  if RichMemo1.GetTextAttributes(0, fp) then
  begin
    InsertFontText(RichMemo1, 'Ich bin ein weiterer RTF Text.', fp);
  end;
...
 
Windows 10, Lazarus 2.0.12 + Lazarus Trunk
LG Maik

Ronny58
Beiträge: 73
Registriert: So 27. Apr 2014, 20:35

Re: TRichMemo: RTF-Append

Beitrag von Ronny58 »

Geil,

ich hätte nur nach Append schauen müssen.
Jo, das klappt ausgezeichnet mit Append.
Die Lösung von sstvmaster schau ich mir auch nochmal an.

Ich Danke Euch für die Unterstützung.

Antworten