Autor Thema: Notes Field Hint erweitern - bzw. Default Value löschen  (Gelesen 4402 mal)

Offline alex90

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Hallo Zusammen,

ich habe folgendes Problem:

Ich möchte einen größeren Field Hint einbauen als möglich ist.

Die Lösung hatte ich schon , jedoch darf ich kein Java Script nutzen, da wir bis Notes 5 bzw. 6 supporten müssen.

Ich bin also an Lotusscript gebunden.

Meine Idee war ich habe einen Defaultvalue und ersetzte diesen bei "OnFocus" durch naja nichts =)

Um dem immer wieder löschen vorzubeugen , wollte ich das ganze mti einem Counter versehen , der daran erinnert , dass der Defaultvalue bereits gelöscht wurde.

So nach dem Motto If(Counter == 0){Value = "" , Counter = 1}

Jedoch weiß ich nicht, wie ich das Problem unkompliziert in Lotusscript bewältigen kann , da ich mit Script bisher kaum gearbeitet habe.

Vorschläge wären absolut erwünscht, ich danke euch =)

Gruß

Alexander
« Letzte Änderung: 18.07.13 - 15:05:22 von alex90 »
Als Azubi mitm im Notes-Tümpel verloren...

Zitat: "Mach mal eben..."

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #1 am: 18.07.13 - 10:05:34 »
Hallo,

Was heisst bei Dir "... einen groesseren Feld-Hint einbauen als moeglich...".

Und der Default-Value wird nur einmal gesetzt, beim ersten Oeffnen der Maske. Wenn du diesen waehrend
die Maske bereits geoeffnet ist veraenderst, musst Du diese auch neu laden.

Und hat das Feld denn kein Label (Beschriftung)?
Dann denke einmal ueber die Verwendung von Hotspots nach.


Andreas

Glombi

  • Gast
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #2 am: 18.07.13 - 10:14:25 »
Also den Defaultwert dafür zu nehmen, halte ich für keine gute Idee. Wenn jemand das Dokument speichert, ohne den Cursor in das Feld gesetzt zu haben, bleibt der Wert erhalten. Es sei denn, Du nimmst den beim Speichern bspw. in der Eingabeumsetzung heraus - alles sehr aufwendig.
Was hälst Du von einem statischen Text unter dem Feld, der ggf. noch über eine HideWhen Formel gesteuert wird: Beim Lesen und Drucken verbergen oder wenn bereits was im Feld steht.

Andreas

Offline alex90

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #3 am: 18.07.13 - 10:41:42 »
Hallo Andreas'se? :D


Das Feld wird definitiv ausgewählt und verändert werden, ist also ein Pflichtfeld, den Defaultvalue habe ich gewählt , da der dort zu definierende Wert größer sein darf , also im Field unter Properties den "Field Hint" zu benutzen.

Ich möchte halt beim Fokus den Wert des Feldes auf "" also nichts setzen.   Kann man nicht mit

Call source.FieldSetText( "Feld", "" )

arbeiten? Die Frage ist halt wie man wie gesagt "einfach" den akutellen Wert des Feldes einmal löschen kann, mit Java kein Problem, aber das darf ich halt nicht benutzen.


gruß

Alex

Als Azubi mitm im Notes-Tümpel verloren...

Zitat: "Mach mal eben..."

Glombi

  • Gast
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #4 am: 18.07.13 - 10:54:37 »
Folgende Formel im OnFocus Event wäre richtig:

Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
If uidoc.FieldGetText("Subject") = "Das ist der Vorgabetext" Then
   Call uidoc.FieldSetText("Subject", "")
End If


Subject ist der Feldname. Das musst Du für Dein Feld ändern.
"Das ist der Vorgabetext"  musst Du durch Deinen Vorgabetext ersetzen.

Andreas

Offline alex90

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #5 am: 18.07.13 - 11:11:36 »
Perfekt, dass ist das genau das was ich gesucht habe.

Danke Vielmals,

ich prügel mich grad durch die Lotusscript Introduction^^

( http://www.eview.com/eview/viewr5.nsf/0/1628d76e931f450385256a55007c94e8/$FILE/LotusScript%20for%20the%20Terrified%20R5%20Update.pdf )

Danke nochmal, jetzt funzt es natürlich 
Als Azubi mitm im Notes-Tümpel verloren...

Zitat: "Mach mal eben..."

Glombi

  • Gast
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #6 am: 18.07.13 - 11:23:42 »
An Deiner Stelle würde ich mir die Designer Hilfe vornehmen. Da gibt's auch ne Menge Beispiele, die man mit Copy-Paste übernehmen kann (was den typsichen Notes Programmierer auszeichnet  ;D ).

Es wäre natürlich hilfreich, wenn Du den Code auch nachvollziehen kannst und verstehst, was da gemacht wird. Dazu musst Du Dich durch die Klassenhierarchie von Lots Notes hangeln und die Methoden und Properties der Objekte kennen lernen.

Oftmals werden dann auch die entsprechenden Aufrufe in Java genannt. Das wird für Dich von Vorteil sein.
Andreas

Offline alex90

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #7 am: 18.07.13 - 13:13:39 »
Darf ich nochmal ne Frage hinterher schicken? Die Methode funktioniert nicht optimal , ich habs grad vereinfacht:

Initialisiering in der Form:

Sub Initialize
   Dim counter As Integer
   counter = 0
End Sub

Im Feld entering:

Sub Entering(Source As Field)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   If counter = 0 Then Call uidoc.FieldSetText("Materialaufbau"," ")
End Sub


Im Feld Exiting:

Sub Exiting(Source As Field)
   If counter = 0 Then counter = 1
End Sub

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

Problem:

Er scheint die variable Counter nicht zu verändern bzw. nicht zu speichern, daher wird jedes mal der Wert innerhalb des Feldes gelöscht...


Als Azubi mitm im Notes-Tümpel verloren...

Zitat: "Mach mal eben..."

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #8 am: 18.07.13 - 13:20:34 »
Hallo,

Weil keine globale Variable, die in allen Script-Teilen der Maske bekannt ist.
Du definierts diese im Initialize und somit ist diese aus nur im Initialize bekannt.


Andreas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #9 am: 18.07.13 - 13:22:42 »
Dim counter As Integer

gehört in die Declarations, dann gilt die Variable auch außerhalb der Sub Initialize

Offline alex90

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #10 am: 18.07.13 - 15:04:51 »
Ah ok -.^^   , das hätte eigentlich klar sein müssen, danke vielmals =)
Als Azubi mitm im Notes-Tümpel verloren...

Zitat: "Mach mal eben..."

Glombi

  • Gast
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #11 am: 18.07.13 - 15:24:56 »
Wozu brauchst Du denn den Counter?
In meinem Beispielscript frage ich ja nach dem Vorgabewert ab und nur wenn der im Feld steht, wird es gelöscht. Das kann dann nur einmal passieren, es sei denn, jemand tippt das alles wieder mühsam ein  ;D

Andreas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #12 am: 18.07.13 - 15:37:45 »
Hm, wenn man sich das ganze dem Sinn nach anschaut, sind da noch mehrere Dinge dran zu bemängeln.

1. counter ist eine globale Variable, die solange existiert, solange das Dokument geöffnet ist. Beim erneuten Öffnen des Dokuments ist sie wieder 0 und der Feldinhalt wird "plattgemacht"

2. If counter = 0 Then Call uidoc.FieldSetText("Materialaufbau"," "): Warum füllst Du das Feld mit einem Leerzeichen?
If counter = 0 Then Call uidoc.FieldSetText("Materialaufbau","") wäre besser

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Notes Field Hint erweitern - bzw. Default Value löschen
« Antwort #13 am: 18.07.13 - 15:51:41 »
@Peter,
Eventuell reciht es ja auch schon, eine Kombination aus Counter und Neues Dokument abzufragen, bevor man das Feld
ueberschreibt.
If uidoc.IsNewDoc AND Counter = 0 Then ....


@Glombi
Wenn er nun aber jetzt keinen 'Vorgabewert mehr verwendet, sondern wieder auf den Hint ausgewichen ist?
Was aus meiner Sicht ja noch weniger Sinn macht, da der Hint-Wert ja eh sofort aus dem Feld geloescht wird, wenn
der Cursor in das Feld gestellt wird.


Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz