Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: geissbock am 08.12.08 - 17:06:33
-
Hallo Notes-Gemeinde,
habe ein Problem, das Euch wahrscheinlich nur ein müdes Lächeln entlockt:
Ich möchte per Script einen Suchstrin zusammenbauen der nachher so aussehen soll:
Nummer="123"
Den String Nummer hole ich aus einem Feld. Ebenso den String 123. Das versuch ich dann per Script zusammenzubasteln, aber der zweite String erscheint dann immer in doppelten Hochkommas. Wie macht man's richtig??
Dim s As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As NotesuiDocument
Dim curdoc As NotesDocument
Dim strencearch As String
Dim strident As String
Dim strMatch As String
Set db = s.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set curdoc = uidoc.Document
strMatch = curdoc.Match(0)
strIdent = curdoc.Nummer(0)
strencearch = strMatch +{="} + strIdent(0) + {"}
Msgbox strencsearch
raus kommt Nummer=""123""
Danke & Gruß
Klaus
-
Prinzipiell ist Dein Code vollkommen in Ordnung - aber den geposteten bekommst Du niemals durch den Compiler: Da ist eine Variable gar nicht deklariert, und strIdent (0) ist Dummfug.
Bitte poste also bitte den Code, den Du wirklich hast.
Wenn ich Deinen Code korrigiert verwende, kommt genau das Ergebnis heraus, was Du erwartest.
Bernhard
-
Hallo,
danke für die Antwort, stimmt den Code hab ich aus einem umfangreicheren Script zusammengeschustert. Hab das jetzt mal korrigiert. In der Message Box steht es auch richtig, aber wenn ich mir das im Debugger steht dort der Wert:
"[BERICHTSNUMMER]=""HABB8232"""
Hier das korrigierte Script:
Dim s As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim configview As NotesView
Dim configdoc As NotesDocument
Dim strencsearch As String
Dim strident As String
Dim strMatch As String
Set db = s.CurrentDatabase
'Wir nehmen uns das aktuelle Dokument:
Set uidoc = workspace.CurrentDocument
Set curdoc = uidoc.Document
Set configview = db.GetView( "(DocuWareSetup)" )
Set configdoc = configview.GetFirstDocument
strMatch = configdoc.Match(0)
strIdent = uidoc.Document.Berichtsnummer(0)
strencsearch = strMatch +{="} + strIdent + {"}
Msgbox strencsearch
-
Das ist im Debugger IMHO auch ganz normal.
-
Genau - der Bugger zeigt den Gesamtstring und den "String im String".
Und das "+" zum Verknüpfen von Strings solltest Du Dir fix abgewöhnen - verwende hierfür "&", bevor Du irgendwann mit dem "+" mal auf die Nase fallen wirst.
Bernhard
-
Ok, danke für die Hinweise. Werde sie beachten.
Ich versuchte den String, der da rauskommt mit Base64 zu encodieren, aber das funktioniert nicht, weil dort das Anführungszeichen nicht vorkommt. Kennt jemand eine ScriptLibrary zum Base91 -Kodieren per LotusScript?
-
Ich denke, Du meinst Base64 und nicht Base91.
lotusscript base64 (http://www.google.at/search?q=lotusscript+base64&ie=utf-8&oe=utf-8&aq=t)
-
Alles klar, vielen Dank nochmal für die Hilfe. Der Fehler lag im Script das die Base64 Codierung vornahm. Mittlerweile läuft es.
Gruß und noch einen schönen Tag Klaus