Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ReinerB am 07.09.05 - 15:11:27

Titel: Verständnisfrage zu EVALUATE
Beitrag von: ReinerB am 07.09.05 - 15:11:27
Dieser Befehl wird in LotusScript benutzt um eine @Formel auf ein Dokument-Item anzuwenden?

Kann man die @Formeln aus der Formelsprache auch auf Programm-Variablen in LotusScript anwenden?

Grüße
Reiner


Titel: Re: Verständnisfrage zu EVALUATE
Beitrag von: Glombi am 07.09.05 - 15:33:54
Das hatten wir schon zig mal hier - bitte suche mal nach Evaluate

Andreas
Titel: Re: Verständnisfrage zu EVALUATE
Beitrag von: TMC am 07.09.05 - 23:48:54
Jo, außerdem steht das auch in der Designerhilfe, wie Du Strings an Evaluate übergeben kannst. Ausführungszeichen-Problematik kannst Du umgehen, indem Du Pipe ( | ) oder geschweifte Klammern ( {, } ) anstatt Ausführungszeichen ( " ) verwendest.
Titel: Re: Verständnisfrage zu EVALUATE
Beitrag von: ReinerB am 08.09.05 - 11:09:14
Sorry wegen des Themas,
habe jetzt mal einiges mehr gelesen hier in diesem Forum und sollte eigentlich etwas schlauer sein wegen EVALUATE.

Aber folgendes Problem kapiere ich nicht:

Dim t(1) As String
Dim t2 As Variant
Dim t3 As Variant
t(0) = "gh"
t(1) = "ab"
t2 = Evaluate(|@Sort(t)|)
t3 = Evaluate(|@Sort("gh":"ab")|)

Warum ist t3 gefüllt und t2 leer? Das will in meinen Kopf nicht rein. Erkennt SORT t nicht als Tabelle? In reiner Formelsprache funktioniert dieses Beispiel.

Ziemlich ratlos
Reiner
Titel: Re: Verständnisfrage zu EVALUATE
Beitrag von: Driri am 08.09.05 - 12:08:02
Wenn Du Variablen aus Script übergeben willst, darfst Du die nicht so direkt mit in die Formel schreiben.

Richtig wäre in dem Fall :

t2 = Evaluate(|@Sort(| & t & |)|)
Titel: Re: Verständnisfrage zu EVALUATE
Beitrag von: ReinerB am 08.09.05 - 13:47:37
Danke für den Tipp. Über Variablen-Einbindung in @Formeln in LS habe ich auch was im Forum gefunden.

Aber deine Änderung wird nicht angenommen, Type mismatch. t ist doch ein Array aus String und somit eine Textliste oder nicht? @Sort funktioniert doch mit Textlisten.

Oder muß ich eine Änderung machen:
Dim t4 as Variant
t4 = t
t2 = Evaluate(|@Sort(| & t4 & |)|)

Wird vom Designer genommen, bringt aber bei der Ausführung einen Type Mismatch.

Eine Idee?

Und schon wieder bin ich ratlos    :-:
Reiner
Titel: Re: Verständnisfrage zu EVALUATE
Beitrag von: Tode am 08.09.05 - 14:13:04
ALSO:

Evaluate arbeitet mit TEXT, Dein t ist ein ARRAY.

Du musst entweder Dein Array in einen Text parsen, wie ihn die Formel erwartet:

tString = {"} & Implode( t , {" : "} ) & {"};

t2 = Evaluate( {@Sort(} & tString & {)}

oder aber Du übergibst den Wert über ein Dokument....

set doc = New NotesDocument( DeineDB )
doc.sortField = t
t2 = Evaluate( "@Sort( sortField )" , doc )

HTH
Tode