Autor Thema: AddNewLine Methode  (Gelesen 8956 mal)

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: AddNewLine Methode
« Antwort #20 am: 09.11.05 - 07:31:03 »
Vielen Dank Axel daß du es mir sogar eingebaut hast, aber ich bin trotzdem grad am verzweifeln. Zwischen der Ausgangs-Prozedur und der jetzigen gibt es einen Unterschied. Seit einer Stunde suche ich nun danach warum jetzt nach der Modifikation plötzlich der jeweils hinzugekommene Text nicht mehr in einer neuen Zeile steht sondern einfach vorangestellt wird. Wie kann das sein?  ::)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: AddNewLine Methode
« Antwort #21 am: 09.11.05 - 08:26:40 »
Hi,

versuch mal mit AddNewLine ein bisschen zu spielen.

So z.B.

...
Call rti.AppendText( "Book is 64 pages, full color." )
Call rti.AddNewLine( 1 )
...


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: AddNewLine Methode
« Antwort #22 am: 09.11.05 - 09:27:55 »
Morgen Axel,

Du hattest natürlich wieder recht. Wenn man das AddNewLine nach hinten stellt dann gehts. Ich könnt mich wieder ärgern.... was ich alles probiert hab..

Fällt dir auch noch ein Weg ein daß das Dokument beim beenden gespeichert wird? Das SaveOptions 0 bewirkt daß das Dokument ohne Nachfrage und ohne speichern geschlossen wird. Mit SaveOptions 1 klappt es nicht. Ich hab an allen möglichen Stellen schon save-Anweisungen eingefügt aber das resultiert sehr oft in der Nachfrage ob "Konfliktdokumente" erstellt werden sollen.

Bei einem neuen Dokument wird nachgefragt beim schließen, dann nicht mehr. Fällt dir da vielleicht noch was ein?

Grüße,

Andreas

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: AddNewLine Methode
« Antwort #23 am: 09.11.05 - 09:51:55 »
Hängt das mit dem Einfügen der Zeilen in das RTF-Feld zusammen? Wann wird nicht mehr nach dem Speichern gefragt, wenn du das Dokument schließt.

Ich bräuchte ein paar mehr Infos.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: AddNewLine Methode
« Antwort #24 am: 09.11.05 - 10:25:41 »
Ich werd mal versuchen das Verhalten so genau wie möglich zu charakterisieren.

Beim öffnen der Maske wird ein neues Dokument erstellt das den EditMode = 1 hat (also bearbeiten).

[1] Egal ob und was ich dann verändere, ob ich von Hand Text ins RT schreibe oder das über die Hotspot-Schaltfläche mache, wenn ich das Dokument schließen will fragt er danach ob gespeichert werden soll.


[2a] Wenn ich dieses Dokument dann wieder öffne dann ist es erstmal im EditMode = 0

Füge ich dann mit dem Hotspot Text in das RT ein und schließe dann das Dokument dann schließt es sich auch ohne weitere Rückfrage und auch ohne die Änderungen zu speichern.


[3] Öffne ich es dann wieder hat es noch genau den selben Stand wie beim öffnen in Schritt 2a.


[2b] Öffne ich das Dokument, versetze es mit STRG+B in den EditMode = 1 und füge dann mittels Hotspot Text zum RT hinzu und schließe es dann, dann fragt er ob die Änderungen gespeichert werden sollen.

Diese Abfrage kommt übrigens auch dann, wenn:
Das Dokument wird geöffnet, mittels STRG+B in den bearbeiten-Zustand versetzt, Mittels Hotspot Text ins RT eingefügt, dann wieder STRG+B betätigt im den EditMode wieder = 0 zu setzen. Genau bei dieser Statusänderung, also nach dem Tastendruck von STRG+B kommt die Abfrage ob die Änderungen gespeichert werden sollen.

Hab schon versucht das Dokument kurz vor dem schließen nochmal in "Bearbeiten" zu versetzen und noch einige andere Dinge, aber hab das gewünschte Ergebnis noch nicht erreicht und wie gesagt schon einige Konflikt-Fehlermeldungen erhalten und auch schon mal eine "NSD is running" Meldung die zum Absturz von Notes geführt hat.

Vielleicht fällt dir ja noch eine Möglichkeit ein. Denn für den User ist das nicht sofort verständlich daß seine Änderungen die er vorgenommen hat auch wenn es nur über eine Schaltfläche war nicht gespeichert werden.

Grüße!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: AddNewLine Methode
« Antwort #25 am: 09.11.05 - 10:39:40 »
Hi,

versuch's mal so:

...
If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
  Call rti.BeginInsert(rtnav)
  Call rti.AppendText( "Book is 64 pages, full color." )
  Call rti.AddNewLine( 1 )
  Call rti.EndInsert
Else
  Call rti.AppendText( "Book is 64 pages, full color." )
  Call rti.AddNewLine( 1 )
End If
   
Call rti.Update ' ND6 only
If Not bolEditMode Then Call doc.Save(True, False)
...

Damit wird das Dokument, wenn es sich nicht im Edit-Modus befindet gespeichert.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: AddNewLine Methode
« Antwort #26 am: 09.11.05 - 11:42:52 »
Hey super! Danke Axel! Endlich funktioniert das einfügen so wie es sein sollte.

Die Funktionalität ist jetzt absolut da und das ist das wichtigste. Wenns jetzt ohne große Umstände möglich ist dem Text noch eine Farbe zu geben dann wär das die Krönung. Sollte das mit viel Umstandskramerei verbunden sein dann vergess ich es wieder. Die fetten Zeilen zeigen wie ich mir das zusammengebastelt hätte. Aber der Text ist trotzdem immer schwarz.

Wie gesagt, wenns zu kompliziert ist sags einfach dann werd ichs vergessen.



Sub Click(Source As Button)
   Dim wksp As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument, uidocNew As NotesUIDocument
   Dim doc As NotesDocument
   Dim rti As NotesRichTextItem
   Dim rtnav As NotesRichTextNavigator
   Dim bolEditMode As Boolean
   Dim Message As String
   Dim sess As New NotesSession
   Dim strL As Integer
   Dim UserN As String
   
   
   Set uidoc = wksp.CurrentDocument
   bolEditMode = uidoc.EditMode
   If bolEditMode Then Call uidoc.Refresh (True) ' do this if the rich text field is editable, to get the current contents in case user has modified them.
   
   Set doc = uidoc.Document
   
   strL= Len(sess.UserName)-21
   UserN = Right( Left(sess.UserName , 3+strL) , strL)
   Message = Inputbox$( "Text für den neuen Statuseintrag:" , "neue Statusmeldung"  )
   Message = "< " & Now & " / " & UserN & " >  " & Message
   
   Set rti = doc.GetFirstItem("rtTest")
   Set rtnav = rti.CreateNavigator
   

   Dim richStyle As NotesRichTextStyle
   Set richStyle = sess.CreateRichTextStyle
   richStyle.NotesColor = COLOR_RED
   Call rti.AppendStyle(richStyle)

   
   If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
      
      Call rti.BeginInsert(rtnav)
      Call rti.AppendText( Message )
      Call rti.AddNewLine( 2 )
      Call rti.EndInsert
   Else
      Call rti.AddNewLine( 1 )
      Call rti.AppendText( Message )
   End If
   
   Call rti.Update ' ND6 only
   If Not bolEditMode Then Call doc.Save(True, False)
   
   doc.SaveOptions = "0" ' make it possible to close the document without a "do you want to save" prompt.
   Call uidoc.Close(True)
   Set uidocNew = wksp.EditDocument(bolEditMode, doc, , , , True)
   Delete uidoc
   uidocNew.Document.RemoveItem("SaveOptions")
   
End Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: AddNewLine Methode
« Antwort #27 am: 09.11.05 - 11:56:35 »
Den RichtextStyle hängst Du jetzt aber wieder an das Ende des RichTextItems an ...

Bernhard

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: AddNewLine Methode
« Antwort #28 am: 09.11.05 - 12:50:10 »
Okay, habs hingekriegt.

Danke Bernhard. Und ein ganz besonders großes Danke an Axel für seine Geduld!

Viele Grüße,

Andreas

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: AddNewLine Methode
« Antwort #29 am: 09.11.05 - 13:20:53 »
Und ein ganz besonders großes Danke an Axel für seine Geduld!

Kein Problem. Ich helfe gerne.

Ich weiß wie es mir damals erging, als ich mit Notes angefangen habe. Ein Forum wie dieses hätte mir manch graues Haar erspart und in der Anfangszeit gab es in der Firma nicht mal einen Internetzugang. Ich war nur auf die Hilfe angewiesen, da auch entsprechende Bücher Mangelware waren.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: AddNewLine Methode
« Antwort #30 am: 09.11.05 - 14:23:43 »
Das ist für mich fast unvorstellbar. Ohne die Bücher hätte ich den Einstieg nicht geschafft und dieses Forum hat mir ganz definitiv einige graue Haare erspart. Das hat mich eigentlich erst in die Lage versetzt jetzt mit der Hilfe einigermaßen umzugehn. Ich bin aber immer noch jeden Tag fleißig am lesen in meinen Büchern und ich schätze das wird auch noch ne ganze Weile so sein...

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz