Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Klafu am 08.07.11 - 11:43:08

Titel: Textfeld mit neuer Zeile - LS
Beitrag von: Klafu am 08.07.11 - 11:43:08
Hey, ganz kurze Frage.

Gibt es die Möglichkeit ein Textfeld in der Maske designmäßig - Größe des Feldes im OS Style - fest vorzugeben und dennoch via Button(LS) eine eine neue Zeile alà @NewLine rein zu bekommen ?

Grüße Chris
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: Jan Grünklee am 08.07.11 - 12:02:44
Hi Chris,

hier mal ne ganz kurze Anwort:

Code
Sub Click(Source As Button)
	Dim ws As New NotesUIWorkspace
	Dim udoc As NotesUIDocument
	Set udoc = ws.CurrentDocument
	
	Call udoc.FieldAppendText("test", Chr(10) + Chr(13))
End Sub

test ist in diesem Fall der Feldname.

Gruss Jan
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: Lloyd am 08.07.11 - 12:50:33
Wenn du mit Größe des Feldes die Maße meinst (Breite u. Höhe) dann füge einen Layoutbereich ein und plaziere als Feldtyp z.B. ein Listenfeld hinein und ziehe es in die entsprechende Größe. Das Einfügen von Text z.B. wie Jan geschrieben hat.
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: ata am 11.07.11 - 08:27:53
Hallo Chris,

an einen bestehenden Text eines Feldes einen Zeilenumbruch anhängen geht auf verschiedene Weise

... mit @NewLine löst es sich auch so
Code
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
Set docThis = ws.CurrentDocument.Document
docThis.Test = Evaluate({Test + @NewLine} , docThis )

... es geht auch über die Chars - da musst du nur auf die Reihenfolge der Chars achten....

Toni
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: Klafu am 11.07.11 - 13:33:05
Danke für eure Antworten!
Ja, bei der Größe ging es mir um ein Textfeld, das eine festgelegte Höhe und Breite besitzt.
ich dachte Evaluate funktioniert nur bei COM ? Bei mir bringt er auch immer Fehler wie "Typ mismatch"

Mit Chr(10) + Chr(13) gehts aber. Vielen Dank!
Könntet Ihr mir das kurz noch erklären, warum das funktioniert ? :)

Edit:
Chr(10) = Tab
Chr(13) = FF ?

Chris
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: koehlerbv am 11.07.11 - 13:41:31
Siehe Hilfe: Evaluate funktioniert natürlich nicht nur mit COM.

Denkbare Ursache für Dein Type mismatch: Du beachtest nicht den Datentyp des Rückgabewerts von Evaluate.

Was das "Warum funktioniert das?" angeht: Sag Du mal lieber an, warum Du denkst, dass es nicht funktionieren sollte.  ;)

Bernhard
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: ata am 11.07.11 - 14:01:39
... in meinem Beispiel gebe ich an des Feld "test" das Ergebnis des Evaluate zurück - und das ist ein Variant - genauer gesagt ein Array. Es muß sich beim Ergebnis um einen String handeln, sonst kommt da auch ein Fehler, denn in der Formel würde sich eine Zahl nicht mit einem @NewLine verketten...

Chr(10) = Line feed oder LF
Chr(13) = Cariage return oder CR

Um deine Frage genauer beantworten zu können, müsste man sehen, welche Formel du wie verarbeitest und wo genau der Type mismatch ausgegeben wird.

Toni
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: Klafu am 11.07.11 - 14:24:46
Gut, die Hilfe ist aber manchmal auch schon sehr verwirrend. Gerade bei dem Evaluate
Zitat
Note  This method is new with Release 5.0.2b.
Note  This method is supported in COM only.

Aber ich muss schon sagen, sehr interessante denkweise die du beim Chr hast, Bernhard - Warum sollte es auch nicht funktionieren  ;D
Aber gut, wenn man mal herausfindet, dass das CR LF Im ASCII Zeichensatz ein Zeilenmumbruch bedeuten, klingt es logisch  ::)

Ja, vermutlich hab ich den Variant falsch gehandeld. Aber ich dachte es reicht, wenn ich mit Cstr(Evaluate) arbeite.

Nochmal vielen Dank an euch alle!
Ihr habt mir sehr geholfen  ;)

Chris
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: ata am 12.07.11 - 07:23:47
... der Cstr kann kein Array konvertieren...

Toni ;)
Titel: Re: Textfeld mit neuer Zeile - LS
Beitrag von: Klafu am 12.07.11 - 08:45:00
Man lernt nie aus. Vorallem ich nich  ;D
Danke für die Info, Toni!

Gruß Chris