Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Zimmi am 09.09.02 - 11:38:03

Titel: Text in LotusScript
Beitrag von: Zimmi am 09.09.02 - 11:38:03
Hallo,

für eine evaluate-Geschichte habe ich eine Formel, ín der selbst ein String-Wert mit diesen <">-Zeichen gekennzeichnet ist.
Bekommt man das irgendwie hin, dass dieses "-Zeichen als String in LotusScript gelesen wird und nicht in einen Fehler läuft ???

Bin ein wenig ratlos ...
Kann irgendwer weiterhelfen ???

Danke schon mal ...
Zimmi
Titel: Re: Text in LotusScript
Beitrag von: Axel am 09.09.02 - 11:39:50
Hi,

versuchs mal damit: |"|


Axel
Titel: Re: Text in LotusScript
Beitrag von: Zimmi am 09.09.02 - 11:54:14
Hallo Axel,

danke ...
.. hab's mal versucht, aber leider ...  :'(

... die Code-Zeile, die ich probiert habe ...

eval = session.evaluate("@Text(ReplicaID; |"*"|)"), doc)

und


eval = session.evaluate("@Text(ReplicaID; |"|*|"|)"), doc)

Beim zweiten Beispiel habe ich jedes "-Zeichen eingerahmt, aber ...  :'(

Hast du vielleicht noch eine Idee ???

Grüße von
Zimmi
Titel: Re: Text in LotusScript
Beitrag von: Axel am 09.09.02 - 12:07:29
Hi,

was willst du mit dieser Zeile erreichen ? Ist Replica eine Variable in deinem Script ?

Der * - Parameter ist mir bei der @Text-Funktion unbekannt.

Axel



Titel: Re: Text in LotusScript
Beitrag von: rar am 09.09.02 - 12:19:51
Ich mach das immer mit{}. Zwischen den Klammern, kann man ganz normal " verwenden.

eval = session.evaluate({@Text(ReplicaID; "*")}, doc)

-rar
Titel: Re: Text in LotusScript
Beitrag von: Axel am 09.09.02 - 12:22:45
Zitat
Ich mach das immer mit{}. Zwischen den Klammern, kann man ganz normal " verwenden.

eval = session.evaluate({@Text(ReplicaID; "*")}, doc)  

-rar




Hi,

noch eine Ergänzung dazu, es geht auch mit dem Pipe-Zeichen.

eval = session.evaluate(|@Text(ReplicaID; "*")|, doc)  

Axel
Titel: Re: Text in LotusScript
Beitrag von: manuel am 09.09.02 - 12:25:03
Hallo Zimmi,

du hast dieses | falsch verwendet. Dieses Zeichen ersetzt das normale ". Du kannst also einen String im Script auf zwei verschiedene Arten angeben

zB

"Hallo Welt"

... und ...

|Hallo Welt|


Wenn du nun ein Anführungszeichen im String dargestellt haben willst, müssest du in der ersten Variante das Anführungszeichen doppelt eintippen. Also zB

"Der ""rote"" Baron"

wäre also in der Ausgabe dann: Der "rote" Baron
Da dies aber sehr aufwendig ist (und auch manchmal sehr verwirrend), ist dieser Strich | von Vorteil. Wenn du nun durch | einen String angibst, und du möchtest, dass ein Anführungszeichen angezeigt wird, ist es nun nicht mehr nötig, das " doppelt anzuführen.
zB

|Der "rote" Baron|

führt zur selben Ausgabe wie oben.

In deinem Fall müsste der Code so geschrieben werden:

eval = session.evaluate(|@Text(ReplicaID; "*")|), doc)


lg
Manuel
Titel: Re: Text in LotusScript
Beitrag von: manuel am 09.09.02 - 12:26:52
eine Klammer zuviel, und Axel zuvor  ;D

eval = session.evaluate(|@Text(ReplicaID; "*")|, doc)  
Titel: Re: Text in LotusScript
Beitrag von: Zimmi am 09.09.02 - 12:30:17
Hi Axel,

diese Formel findest du in der catalog.nsf.
Dort existiert ein Feld "ReplicaIDDisplay" [ berechnet zur Anzeige mit der Formel: @Text(ReplicaID;"*") ], das so eine eigenartige Formel hinterlegt hat.
Nun besteht aber das Problem das es ein Feld "ReplicaID" in dieser Maske nicht so richtig exisitiert.
Ich weiß, das hört sich mehr als dumm an, aber das Feld existiert in den Dokumenten, aber hat einen Datum/Zeit-Wert hinterlegt.

Hallo rar,

ich werde es mal ausprobieren und mich dann wieder melden ...

Danke
Zimmi

Zusatz:

Danke für die Info Manuel,
da haben wir wohl gerade parallel geschrieben.
Zimmi
Titel: Re: Text in LotusScript
Beitrag von: Rob Green am 09.09.02 - 12:32:19
sorry, wil nicht naseweis klingen, aber die Verwendung von " und | erachte für einen schlechten Programmierstil, da die nachträgliche Fehlersuche ungemein erschwert wird, denn wir sind gewohnt nach einem Anfang und Ende im LineOfCode zu suchen.

Einer hat es bereits gesagt, daß die {} wesentlich geschickter sind. Wann immer es geht, würde ich allemal diese Stringzeichen nehmen (gerade zB in koplexeren db.search funktionen).

Ok, wie gesagt, es ist eine Frage des Stils und ich mache daraus ganz bestimmt keinen Kreuzzug - laissez faire sag ich immer  :D
Titel: Re: Text in LotusScript
Beitrag von: rar am 09.09.02 - 12:38:29
Also ich, für meinen Teil, bleibe bei meinen {} weils einfach übersichtlicher ist wenn im String viele Ls ind Große is vorkommen.
|Axel|  <-> {Axel}

-rar
Titel: Re: Text in LotusScript
Beitrag von: Zimmi am 09.09.02 - 12:40:47
@Manuel,

habe mal den Code eingefügt.
dim session as new notessession
dim eval as variant

eval = session.evaluate({@Text(ReplicaID; "*")}, doc)

Beim Versuch abzuspeichern, erscheint die Meldung "not a member: EVALUATE" .
Was mache ich denn nun noch falsch ???

@Rob_green

Danke für den Hinweis - ich bin auch bemüht einen sauberen Stil beim Programmieren einzuhalten, aber manchmal ist es schwierig diesen umzusetzen, deshalb finde ich deinen Betrag in diesem Zusammenhang hilfreich.

Danke
Zimmi
Titel: Re: Text in LotusScript
Beitrag von: rar am 09.09.02 - 12:42:40
eval = evaluate({@Text(ReplicaID; "*")}, doc)
Du hast uns alle mit deiner session etwas verwirt...
Außerdem heißt die Meldung {not a member: EVALUATE}  ;D ;D
Titel: Re: Text in LotusScript
Beitrag von: Zimmi am 09.09.02 - 12:51:19
DANKE rar,

das war's - die Designer Hilfe hat das ganze im Zusammenhang mit der Session gebracht.
Deshalb mein Fehler ...

... ist halt ein wenig sehr warm im Büro ohne Klima ...

Grüße und Danke an alle
Zimmi
Titel: Re: Text in LotusScript
Beitrag von: rar am 10.09.02 - 08:19:10
Noch den Daumen hoch und alle sind glücklich... ;)