Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: kvos am 29.04.04 - 11:07:22

Titel: Kampf der Rich Text Fields ...
Beitrag von: kvos am 29.04.04 - 11:07:22
Hallo!

Ich verzweifle hier noch mit den Rich Text Items. Ich habe in der Mailschablone Memo einen Button eingefügt, wenn ich diesen Button anklicke, möchte ich einfach einen Text an das Feld Body anhängen.

Egal welchen Weg ich einschlage es funktioniert einfach nicht.

Hat mir jemand einen Scriptschnipsssseelll ,-)


Gruß.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Glombi am 29.04.04 - 11:12:37
Call notesUIDocument.FieldAppendText( fieldName$, text$ )
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: kvos am 29.04.04 - 13:46:37
Hallo!

Danke für die schnelle Antwort. Probiert - funktioniert! Bestens.

Jetzt stellt sich für mich aber noch die Frage wie ich das ganze "mehrzeilig" also mit Zeilenumbruch hinbekomme?!?

Gruß.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Glombi am 29.04.04 - 13:50:23
Du kannst mit Chr(<ASCII Code Nr>) das entsprechende ASCII Zeichen eintragen.
Für Zeilenumbruch:

Call notesUIDocument.FieldAppendText( fieldName$, Chr(10))
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: kvos am 30.04.04 - 08:23:03
Hallo!

Funktioniert danke!

Jetzt habe ich aber eine ganz schlaue Idee gehabt... ,-)

Ich würde gerne einen Text in einem anderen Formular/Dokument in ein einem RTF speichern. Diesen Text dann mit allen FORMATIERUNGEN (Fett / Kursiv etc) an das Body Field anhängen?!?

Ich habe in der Object Referenz irgendwie keine Eigenschaft/Methode gefunden mit der ich das über NotesUIDocument erledigen könnte. *seufz*

Ist das wirklich so?

Gruß.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Glombi am 30.04.04 - 08:28:13
Die Idee ist wirklich schlau  ;)
zumal man im Backend an RTItems besser operieren kann als Im Frontend!
Ich empfehle Dir, in der Designer Hilfe mal alle Klassen und deren Methoden rund um NotesRichTextItem, NotesRichTextStyle und NotesRichTextParagraphStyle durchzuackern.

Anhand der Beispiele dort solltest Du eine Lösung finden.

Andreas
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Axel am 30.04.04 - 10:23:12
Hi,

wenn es um die Formatierung von RTF-Felder geht, dann schau mal hier

http://www.free.dominoserver.de/computer/noteslibrary.nsf/d2d59a3d7fc73a2bc1256a6900638352/ec3756747a0ef90dc1256bf2005a0e36!OpenDocument (http://www.free.dominoserver.de/computer/noteslibrary.nsf/d2d59a3d7fc73a2bc1256a6900638352/ec3756747a0ef90dc1256bf2005a0e36!OpenDocument)

und auch hier
http://www.free.dominoserver.de/computer/noteslibrary.nsf/d2d59a3d7fc73a2bc1256a6900638352/1934c56fbc4b8b2dc1256dd300514d8e!OpenDocument (http://www.free.dominoserver.de/computer/noteslibrary.nsf/d2d59a3d7fc73a2bc1256a6900638352/1934c56fbc4b8b2dc1256dd300514d8e!OpenDocument)

Axel
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: kvos am 03.05.04 - 07:12:41
Hallo!

Vielen Dank! Funktioniert vom Prinzip her eigentlich perfekt. Prima!

Jetzt kämpfe ich aber glaub noch mit einem Verständnisproblem. Ich kann per Script Dokumente im Front- und Back-End bearbeiten.

Wie kann ich ein geöffnetes (im EDIT-Mode) Dokument im Backend bearbeiten (brauch ich ja wg. den RIchText-Classen) und dann das Front-End aktualisieren.

Ich denke...

   ... Button ...
 SAVE - Frontend
 Open im Backend

meine Änderungen im Backend

 Save im Backend
Reload im Frontend ...

...
Jetzt habe ich sämtliche Scritparchive durchsucht. Meine Bücher gewälzt, aber irgendwie bin ich nicht auf die richtigen Befehle getroffen.


Gruß.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: kvos am 03.05.04 - 09:02:59
Hallo nochmal...

Front- und Backend Problem habe ich glaube gelöst. Allerdings wird mein RTF Objekt im Front-End einfach nicht aktualisiert.

Ich habe folgendes im Code hinter einem ButtON:
   
Code

Sub Click(Source As Button)
   
   Dim s As New Notessession
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = uiws.currentdocument
   Dim doc As Notesdocument
   Set doc=uidoc.document
   
   uidoc.AutoReload = True
   Dim rtfobjekt As Variant   
   Dim richStyle As NotesRichTextStyle
   Dim rtpStyle As NotesRichTextParagraphStyle
   Set richStyle = s.CreateRichTextStyle
   Set rtpStyle = s.CreateRichTextParagraphStyle
   Set rtfobjekt = doc.GetFirstItem( "SignaturFeld" )
   
'   If rtfobjekt.Type = RICHTEXT Then
   
   Call rtfobjekt.AddNewLine( 1 )
   Call rtfobjekt.AppendText ( "Book is 64 pages, full color." )
         'fettgedruckter Text
   richStyle.Bold = True
   Call rtfobjekt.AppendStyle(richStyle)
   Call rtfobjekt.AppendText("Fettgedruckter Text")
   Call rtfobjekt.AddNewLine(1)
   
   doc.SignaturFeld = rtfobjekt
   
   Call doc.Save(True, False)
   


Aber mein Dokument im Frontend verändert sich einfach nicht. Obwohl das Feld existiert?!??!?

Gruß.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Markus Henke am 03.05.04 - 10:35:42
Hallo,

Du musst das Dokument schließen und neu öffnen. Dann wird das RTF ordentlich angezeigt.

Stichwort:
notesuidocument.close
notesuiworkspace.editdocument

Gruß
Markus
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Driri am 03.05.04 - 10:39:18
Hi,

Anton Tauscher hat auf seiner Homepage ein Beispiel-Script für die Problematik (ReOpen) :

http://www.anton-tauscher.de/LotusScript/startdyn.htm
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: kvos am 03.05.04 - 14:01:18
Hallo!

Danke für die schnelle Antwort. Ich habe das mit ReOpen probiert! Perfekt funktioniert in meinem Testformular erstklassig!

Will ich das allerdings in dem Mail-Formular MEMO von R5 einsetzten, dann frägt er bei Ausführung der ReOpen Function ob die Nachricht gesendet gespeichert usw soll?!?

Idee?

Gruß.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: Driri am 03.05.04 - 14:32:31
Ist klar, in der Memo-Maske sind einige Events abgefangen, z.B. Speichern und Schließen.
Dann müßtest Du das entweder deaktivieren oder zusammenfügen. Ehrlich gesagt würde ich in der Mail-DB solche Änderungen lieber nicht vornehmen.
Titel: Re:Kampf der Rich Text Fields ...
Beitrag von: kvos am 03.05.04 - 15:49:13
Hallo!

Wow! Das mit den Antworten geht hier ja echt fix! ,-)

Mhmm... okay ich hab da mal den Debugger laufen lassen. Ganz schön heftig was da alles passiert. Ich würde aber dennoch gerne das in der Maildatenbank machen.

Idee?

Gruß.