TIB_RichEdit Textzeile hinzufügen

Alles über Formulare, deren Erstellung und deren eventueller Austausch

Moderator: SYNERPY

Antworten
sthiesen
Beiträge: 13
Registriert: Di Jan 08, 2008 10:06 am

TIB_RichEdit Textzeile hinzufügen

Beitrag von sthiesen »

Hallo zusammen,

ich bin gerade dabei, AvERP an unser Firmenbedürfnisse anzupassen.

Nun habe ich die Aufgabe, per Button eine Textzeile in ein bereits mit Text gefülltes RichEdit Feld hinzuzufügen.

Kann mir jemand einen Tip geben? Bin schon seit 2 Tagen erfolglos am rumprobieren.
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

So etwas hatten wir in der vergangenen Woche auch schon einmal. Ich habe das an den zuständigen Programmierer weitergeleitet, er ist aber erst nächste Woche wieder im Haus.
SYN15
Beiträge: 36
Registriert: Di Jan 16, 2007 11:31 am

Beitrag von SYN15 »

Hallo,

bei diesem Problem ist es wichtig zu wissen an welcher Stelle der einzufügende Text stehen muss, da das RichEditFeld Steuerzeichen neben dem normalen Text enthält. Text der außerhalb dieser Steuerzeichen steht wird beim Interpretieren ignoriert!
Der Button müßte den bestehenden Text wie folgt ersetzen:

UPDATE Bxxx
SET TEXT =
F_BLOBREPLACESTRING(TEXT,F_MID(F_BLOBASPCHAR(TEXT),F_SUBSTR('\fs',F_BLOBASPCHAR(TEXT)),5),
F_LRTRIM(F_MID(F_BLOBASPCHAR(TEXT),F_SUBSTR('\fs',F_BLOBASPCHAR(TEXT)),5))||' '||'Ihr Text',0,1)
WHERE ID = :IHRE_ID;

Dieser Update Befehl sucht nach dem ersten Vorkommen der Zeichenkette \fs im Richeditfeld. Diese definiert die Schriftgröße (Zahl hinter \fs) und steht als letztes Steuerzeichen vor dem eigentlichen Text. \fs wird durch \fs und den einzufügenden Text ersetzt.
Um noch Leerzeilen an den Text anzufügen kann man diesem noch die Steuerzeichen \par anhängen, wobei wichtig ist, daß danach noch ein Leerzeichen kommt, da die Steuerzeichen sonst wirkungslos bleiben!
Soll der Text an anderer Stelle stehen, muss entsprechend nach einem anderen Steuerzeichen oder einem festen Text an dieser Position gesucht werden.
Antworten