Teilstring in einem RTF-Text austauschen

Alles über Formulare, deren Erstellung und deren eventueller Austausch

Moderator: SYNERPY

Antworten
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Teilstring in einem RTF-Text austauschen

Beitrag von Geri12 »

Hallo,
ich habe als Allg.Textbaustein z.B. einen standardisierten Bestell-Endtext wie folgt:

Code: Alles auswählen

Mit freundlichen Grüßen
 
i.A. #SACHBEARBEITER#
Ich möchte nun im Report zur Laufzeit den Passus "#SACHBEARBEITER#" durch den korrekten Namen desjenigen Mitarbeiters ersetzen, welcher als Sachbearbeiter die Bestellung bearbeitet.

Das Ersetzen in einem normalen Memofeld TfrMemoView funktioniert einwandfrei, aber wenn ich den überarbeiteten RTF-Text in einem Memofeld drucke, habe ich logischerweise die ganzen RTF-Formatzeichen im Klartext mit dabei.

Mit welchem Vorgehen kann ich den überarbeiteten RTF-Text wieder in ein TfrRichView hineinbekommen ?

Ich habe eine neue Variable angelegt, dieser den RTF-Text zugewiesen und dann den Text in der Variablen überarbeitet. Eine Zuweisung der neuen Variable an TfrRichView.DataField bringt aber erstmal nichts. Irgend jemand eine Idee ?

Ich möchte den Sachbearbeiter nicht direkt im Bestell-Endtext speichern, da ich sonst bei einem evt. Wechsel des Sachbearbeiters diesen im Bestell-Endtext austauschen müsste. Ginge natürlich auch, aber im Report setzen ist mir lieber.
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe »

Warum denn das ganze nicht in zwei Felder trennen, die dann normale Memos sind. Das erste ist dann eine Textkonstante, das zweite wird aus dem Text "i.A. " und dem Datenbankfeld Sachbearbeiter zusammengesetzt. Das Feld mit dem Sachbearbeiter gibt es doch in der Maske ... ?

Gruß
MIchael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo Michael
miboe hat geschrieben:Warum denn das ganze nicht in zwei Felder trennen, die dann normale Memos sind. Das erste ist dann eine Textkonstante, das zweite wird aus dem Text "i.A. " und dem Datenbankfeld Sachbearbeiter zusammengesetzt. Das Feld mit dem Sachbearbeiter gibt es doch in der Maske ... ?
Den Sachbearbeiter habe ich in meinem Memo-Text auch schon eingesetzt, das klappt (wie oben schon beschrieben). Aber wenn der Richtext in einem normalen Memofeld (=TfrMemoView, welches normal nur Plaintext beinhaltet) gedruckt wird, so habe ich die RTF-Steurzeichen mit dabei. Ich müsste also mit irgendeiner Funktion den RTF-Text erst mal in das Plaintext-Format überführen. Dann könnte ich das Ganze in einem normalen Memo ausdrucken. Aber wenn ich die gemischte Formatierung (fett, kursiv, ...) des Textes beibehalten will, komme ich um ein TfrRichView-Objekt nicht herum.
Oder verstehe ich Dich hier falsch ?

Ich habe bei meinem Beispiel ausgelassen, dass nach der "i.A."-Zeile :lol: noch eine Zeile mit unserer Firmenbezeichnung in fett+kursiv kommt.

Ansonsten hast Du natürlich recht, das ließe sich (wenn's denn nicht anders gehen sollte) wie folgt lösen ...

1. Bestell-Endtext:

Code: Alles auswählen

...(irgendwas)...
Mit freundlichen Grüßen 
(Leerzeile aus mind. 1 BLANK)
2. Diesen Bestell-Endtext dann wie gewöhnlich in ein TfrRichView-Objekt (hier: RTEndText)
3. Neues TfrMemoView mit Text = 'i.A. '+[q_rep19."UZEICH"]
4. Neues TfrMemoView mit Text = 'ACME GmbH & Co.KG' mit den Objekteigenschaften fett + kursiv

...
......
.........
............ Aber als Entwickler würde mich die angefragte Ersetzungsvariante doch schon sehr interessieren :roll: :wink:

[EDIT] So im Nachhinein fällt mir ein, warum ein Fixieren (Punkte 3-4) im Bestellreport eigentlich nicht so gut ist, und zwar wenn der Endtext mal abweicht und nicht "MfG" abschließt ...
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Antworten