Domino 9 und frühere Versionen > Entwicklung

' oder " oder | ??? will endlich verstehen

(1/4) > >>

Alois:
Hallo ich habe wieder ein Problem und benötige die Meinung der Experte

ich will in ein Script mit der Evaluate Funktion arbeiten weiß allerdings nicht richtig wie ich es anstellen soll....
Bei mir egal was ich in der erste Zeile eingebe, läuft es auf Fehler.

strEval = "@ReplaceSubstring(" + uidb.Database.FilePath + "; "AV"; "AZ")"
dbName = evaluate(strEval)

ich habe irgendwo gesehen dass manche mit ' arbeiten andere mit |... Ich verstehe die Unterschied nicht. Könnte mir das jemand erklären oder mir ein Link geben wo man so was nachlesen kann.

Danke im Voraus

Glombi:
In Script kannst Du folgende Zeichen als Stringdelimiter verwenden
".... "
{ .... }
| ... |

Welche Variante Du nimmst, hängt natürlich auch davon aus, was Du in Evaluate brauchst. Wenn Du dort (d.h. dann in Formelsprachensyntax) eine Oder-Verknüpfung machst - mit | - dann darfst Du natürlich nicht | als String Delimiter nehmen, sondern " oder {}

Andreas

Axel:
Hi,

das | - Zeichen oder die  {} - Klammern kann man in Notes auch als Ersatz für " einsetzen. Das ist besonders hilfreich, wenn in einer Zeichenkette auf Anführungszeichen vorhanden sind.

In deinem Fall müsste es so gehen:

strEval = {@ReplaceSubstring(} + uidb.Database.FilePath + {; "AV"; "AZ")}
dbName = evaluate(strEval)


Axel

Thomas Schulte:
Ich arbeite bei sowas immer mit {} oder | ... |
mit dem " arted sowas meistens in zähldochdeineAnführungszeichen Orgien aus und das muss denn nun nicht sein. Alles was innerhalb der geschweiften Klammern oder des Pipe delimiters steht interpretiert der Compiler als Gesamtstring und damit sind solche Konstruktionen wie:
strHeader =  "Firma""" + "," + """Name""" + "," + """Position""" + "," + """Anschrift""" + "," + """Ort""" + "," + """Briefanrede"
einfacher.

Alois:
ok habe vielleicht jetzt ein Stück mehr verstanden allerdings bei der Zeichenkette:
strEval = {@ReplaceSubstring(} + uidb.Database.FilePath + {; "AV"; "AZ")}

bekomme ich im Debug Modus: "@Replace(test\AVtest.nsf;""AV"";""AZ"")" zurück und das liefert mir ein Type mismatch Fehler zurück  :'(

ich denke dass ich auch die " vor und nach mein db Name brauche

habe dann probiert:
strEval = {@ReplaceSubstring("} + uidb.Database.FilePath + {"; "AV"; "AZ")}
bekomme dann: "@Replace(""test\AVtest.nsf"";""AV"";""AZ"")" mit dem gleichen Fehler

irgendwie fehlt da noch was...

darüber hinaus stört es nicht wenn ein Doppel "" steht? wie wird es dann interpretiert? wie nur ein?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln