Autor Thema: Feldwert ergänzen vor dem alten Feldwert  (Gelesen 2169 mal)

Offline BMT216A

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Wodka-Martini: Geschüttelt, nicht gerührt!
Feldwert ergänzen vor dem alten Feldwert
« am: 18.12.12 - 15:51:42 »
Hallo,

ich bin auf der Suche nach einer Möglichkeit, ein bestehendes Feld um Werte zu ergänzen (vor dem eigentlichen Inhalt des Feldes).
Es ist ein Verlaufsfeld. Immer wenn der User auf einen Button "Eintrag erstellen" klickt, soll sein Name und der Zeitstempel in das Feld geschreiben werden. Danach drei Leerzeilen und danach wieder eine Trennlinie.

So in etwa:
James Bond - 18.12.2012 09:35
1 Leerzeile
2 Leerzeile  -> hier kann dann Text oder ein Anhang erstellt werden.
2 Leerzeile
----------------------------------------------

Jetzt ist das Feld ein rtf und derzeit habe ich mit appendtext den "neuen" Text hinten angehangen.
Nun soll es so umgebaut werden, dass der neueste Eintrag oben erscheint.

Mein Versuch, den Wert des notesdocuments in eine Tempvariable zu kopieren, einen Neuen Eintrag mit SetText zu erstellen und dann den Kopierten Wert ins uidoc einzufügen schlägt nur bei Anhängen fehl. Sprich diese werden nicht mit kopiert.

Wie kann ich es anstellen, dass die Anhänge an genau der gleichen Stelle wieder stehen?

Vielen Dank

Chris
Wenn man nicht spürt, dass man lebt, wird das Leben sinnlos.

-------------------------------------------------------------------------------------

Ich traue jedem. Ich traue nur nicht dem Teufel, der in jedem steckt.

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #1 am: 18.12.12 - 15:57:01 »
Hallo,

ich hatte mir mal in dem Zusammenhang die Methode "BeginInsert" notiert. Vielleicht hilft die dir weiter.

Code
Call NotesRichText.BeginInsert(element,[after])

After Boolean: True puts the insertion position at the end
False (default) puts the insertion position at the beginning of the element

Christoph
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #2 am: 18.12.12 - 15:58:10 »
Hallo,

Gibt es da nicht bei NotesRichTextItem die Methode BeginInsert.


Andreas

Offline BMT216A

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Wodka-Martini: Geschüttelt, nicht gerührt!
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #3 am: 19.12.12 - 09:09:37 »
Guten Morgen Andreas und Christoph,

danke für den Hinweis.
Da stand ich wohl auf dem Schlauch.
Das es eine Möglichkeit geben muss war mich schon klar - finden ist dann aber eine andere Sache.

Bin grad in der Designerhilfe und muss sagen (es ist wie immer bei den mir nicht so lieb gewonnenen Richtextfeldern) umständlich  :-: .

Hat einer von Euch das schon einmal mit BeginInsert versucht?
Wenn ja, kann ich dann eine kurze "einfache" Erklärung dazu haben?

Viele Grüße

Chris
Wenn man nicht spürt, dass man lebt, wird das Leben sinnlos.

-------------------------------------------------------------------------------------

Ich traue jedem. Ich traue nur nicht dem Teufel, der in jedem steckt.

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #4 am: 19.12.12 - 09:25:58 »
Ich wollte mich damit mal befassen aber kam noch nicht dazu.
Im Prinzip hast du dein NotesRichText Feld das du mit Werten füllst.

z.B.

Dim body As NotesRichTextItem
Set body = doc.GetFirstItem("Body")
Call body.BeginInsert(WERT den du an den Anfang des BodyItems setzen willst)

Für mehr Infos kannst du mal in die Designerhilfe gucken
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #5 am: 19.12.12 - 09:34:27 »
Hier ein kleines Testscript, welches ein vorhandenes Dokument ermittelt, in diesem das RichText-Feld "Testfeld" einstellt und vor
dem bereits vorhandenen Text einen neuen Text einfuegt.

Mit dem Navigator kannst Du sogar relativ genau steuern, wo er den Text einfuegen soll. da Du mit diesem die Postion zum einfuegen
einstellen kannst.

Code
Option Public
Option Declare

Sub Initialize
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim vw As NotesView
	Dim doc As NotesDocument
	Dim rtTest As NotesRichTextItem
	Dim rtnav As NotesRichTextNavigator
	
	Set db = s.Currentdatabase
	If db Is Nothing Then Exit Sub
	If db.Isopen Then
		Set vw = db.GetView("Testview")
		If vw Is Nothing Then Exit Sub
		Call vw.Refresh()
		vw.Autoupdate = False
		
		Set doc = vw.Getdocumentbykey("frmTestInsert", True)
		If doc Is Nothing Then Exit Sub
		
		If Not doc.HasItem("Testfeld") Then Exit sub
		Set rtTest = doc.Getfirstitem("Testfeld")
		If rtTest Is Nothing Then Exit Sub
		
		Set rtnav = rtTest.Createnavigator()
		If rtnav Is Nothing Then Exit Sub
		
		' set the insert pointer before the first text
		Call rtnav.Findfirstelement(RTELEM_TYPE_TEXTPARAGRAPH)
		Call rtTest.Begininsert(rtnav)
		Call rtTest.Appendtext("Nun ist dies die erste Zeile")
		Call rtTest.Addnewline(1)
		Call rtTest.Endinsert()
		
		Call doc.Save(True, False)
	End If
	
End Sub

Andreas

Offline BMT216A

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Wodka-Martini: Geschüttelt, nicht gerührt!
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #6 am: 14.01.13 - 11:13:08 »
Hallo Andreas,

vielen Dank für deinen Hinweis.
Konnte mich leider nicht früher melden, da ich Urlaub hatte.
Soweit klappt es.
Nun bin ich bei meinem Vorhaben aber im uidoc und möchte das Feld auch zur laufzeit bearbeiten und aktualisieren.
Wie muss ich das machen - ich steh da grad auf dem Schlauch.

Vielen Dank für Eure Hilfe

Chris
Wenn man nicht spürt, dass man lebt, wird das Leben sinnlos.

-------------------------------------------------------------------------------------

Ich traue jedem. Ich traue nur nicht dem Teufel, der in jedem steckt.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feldwert ergänzen vor dem alten Feldwert
« Antwort #7 am: 14.01.13 - 12:40:12 »
Dann geht das doch ganz einfach mit InsertText (@Command oder NotesUIDocument class).

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz