Text in Richtext einfügen

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Jürg Litscher
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Do, 11. Okt 2007 9:12
Wohnort: Berneck
Danksagung erhalten: 3 Mal
Kontaktdaten:

Text in Richtext einfügen

Beitrag von Jürg Litscher »

Hallo
... ich habe ein Richtextobjekt in einem Memofeld gespeichert,
nun möchte ich vorne oder hinten einen normalen Text einfügen,
wenn ich dies mache verliere ich die Formatierung!

Beispiel:

FUNCTION AddTxt2RTF( cFeld, cTxt, nPos)
LOCAL oRtf, lBack

DEFAULT nPos TO 0

oRtf := XbpRtf():new(,,,,,.F.)
oRtf:create()

oRtf:textRTF :=&cFeld
oRtf:text := IF(nPos==0, cTxt + oRtf:text, oRtf:text + cTxt )

lBack := SetField(cFeld, oRtf:textRTF )

oRtf:destroy()

RETURN lBack

hat jemand eine Idee?
Gruss Jürg
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Text in Richtext einfügen

Beitrag von AUGE_OHR »

Jürg Litscher hat geschrieben:... ich habe ein Richtextobjekt in einem Memofeld gespeichert,
nun möchte ich vorne oder hinten einen normalen Text einfügen,
wenn ich dies mache verliere ich die Formatierung!
ein RTF Text verfügt über diverse Steuerzeichen.

Code: Alles auswählen

oRtf:text
enthält nur den Text des Editbuffer ohne Formatierung.
Die Zeichenkette enthält bis auf Zeilenendemarkierungen und TAB-Zeichen keine Formatinformationen
das was du sucht ist vermutlich

Code: Alles auswählen

oRtf:textRTF
gruss by OHR
Jimmy
Jürg Litscher
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Do, 11. Okt 2007 9:12
Wohnort: Berneck
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Text in Richtext einfügen

Beitrag von Jürg Litscher »

... ja das ist so im oRTF:textRTF ist der formatierte text,
wenn ich aber hier einen normalen string vorne oder hinten einfüge,
dann zerreisst es mir die Formatierung, das heisst sie wird sichtbar.
Darum suche ich einen Weg den formatierten text in oRTF:textRTF und
meinen Eintrag im oRTF:text zusammenzuüfhren ohne dass ich
die Formatierung in oRTF:textRTF verliere,...

Gruss Jürg
Benutzeravatar
urbi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 142
Registriert: So, 26. Mär 2006 18:47
Wohnort: 76185 Karlsruhe
Kontaktdaten:

Re: Text in Richtext einfügen

Beitrag von urbi »

ich würde hier Platzhalter in original RTF vorsehen
und mit STRTRAN den gewünchsten Tex einfügen

Gruß
Rainer
urbi
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Text in Richtext einfügen

Beitrag von Rolf Ramacher »

Hi Rainer,

genauso mache ich es mit meinen listen
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Jürg Litscher
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Do, 11. Okt 2007 9:12
Wohnort: Berneck
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Text in Richtext einfügen

Beitrag von Jürg Litscher »

... hm, wäre eine Idee, vielleicht gibt es einen Tag der standardmässig immer vorhanden ist, schau mer mal.
Gruss Jürg
Jürg Litscher
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 26
Registriert: Do, 11. Okt 2007 9:12
Wohnort: Berneck
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Text in Richtext einfügen

Beitrag von Jürg Litscher »

... folgende Zeilen funktioniern gar nicht schlecht ;-)
Bestend Dank.
Gruss Jürg


FUNCTION AddTxt2RTF( cFeld, cTxt, cRepl )
LOCAL lBack, cRTF,;
cTagEnde := "\par }"

cRTF := &cFeld
IF VALTYPE(cRepl) == "C"
cRTF := STRTRAN( cRTF, cRepl, cTxt )
ELSE
cRTF := STRTRAN( cRTF, cTagEnde, "\par "+cTxt+CRLF + cTagEnde )
ENDIF

// in Memo schreiben
lBack := SetField(cFeld, cRTF )


RETURN lBack
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Text in Richtext einfügen

Beitrag von brandelh »

Hi,

ich hatte mir testweise mit Word RTF Formulare entworfen um diese auszufüllen.
Ging gut, bis ich einzelne Feldnamen nächträglich geändert habe.
Danach wurde im RTF Quellcode der Feldname zerrissen und somit nicht mehr mit strtran() gefunden ... :angry4:

Natürlich kann man das sicher mit einem ANSI Editor korrigieren, aber dazu habe ich keine Lust.
Ich nutze nun Word XML Formulare für den Zweck, das funktioniert sauber ohne Probleme (falls man Word ab 2003 :?: hat ...)
Gruß
Hubert
Antworten