Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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
-
Hi,
versuchs mal damit: |"|
Axel
-
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
-
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
-
Ich mach das immer mit{}. Zwischen den Klammern, kann man ganz normal " verwenden.
eval = session.evaluate({@Text(ReplicaID; "*")}, doc)
-rar
-
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
-
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
-
eine Klammer zuviel, und Axel zuvor ;D
eval = session.evaluate(|@Text(ReplicaID; "*")|, doc)
-
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
-
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
-
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
-
@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
-
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
-
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
-
Noch den Daumen hoch und alle sind glücklich... ;)