Autor Thema: @evaluate - wozu?  (Gelesen 2500 mal)

Offline Centaury

  • Senior Mitglied
  • ****
  • Beiträge: 294
  • Geschlecht: Männlich
  • Hi! Kennst du Murphy??
@evaluate - wozu?
« am: 18.02.03 - 14:10:16 »
Hallo!
Wozu ist @evaluate da? Die Hilfe spuckt dazu nicht viel (fast nichts) aus. Was mach ich damit?
Man sollte immer eine kleine Flasche Whisky dabei haben, für den Fall eines Schlangenbisses - und außerdem sollte man immer eine kleine Schlange dabei haben. - W. C. Fields

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re:@evaluate - wozu?
« Antwort #1 am: 18.02.03 - 14:16:42 »
Kannst Du in Lotus Script verwenden um eine Formel auszuführen.

Beispiel:

Function KillUmlaute ( s As String ) As String
   strformula = { @ReplaceSubString("} + s + {"; "ä":"ö":"ü":"ß":"Ä":"Ö":"Ü":"Dr. ":"_":"-":" "; "ae":"oe":"ue":"ss":"Ae":"Oe":"Ue":"":"":"":"" ) }
   nStr = Evaluate( strformula )
   KillUmlaute = nstr(0)
End Function

P.S. Es funktionieren aber nicht alle Formel damit.
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:@evaluate - wozu?
« Antwort #2 am: 18.02.03 - 14:18:54 »
kenne keine Formel funktion namens "@evaluate".

Aber, evaluate wird in Script gerne verwendet, um komplexe Schritte in Script einzusparen, indem man es mit der Formelsprache über das Evaluate Statement koppelt. Evaluate führt die Formel innerhalb eines Scriptcodes aus.

Dazu die Help:
The Evaluate statement in Domino Designer has the following syntax:
returnValue = Evaluate( notesFormula [, notesObject ] )
NotesFormula is a string variable, expression, or constant.
notesObject is optional and provides context for the formula; for example, if the formula accesses a field, notesObject must be the NotesDocument object that contains the field.
returnValue is an array whose type and number of elements reflect the formula result; a scalar value is returned to element 0 of the array. You should use a variant for the return value since you may not know how many elements are being returned.
The following @functions, which affect the user interface, do not work within an Evaluate statement: @Command, @DbManager, @DbName, @DbTitle, @DDEExecute, @DDEInitiate, @DDEPoke, @DDETerminate, @DialogBox, @PickList, @PostedCommand, @Prompt, and @ViewTitle.

Beispiele aus diesem Forum (SUCHE Funktion):
Code
Dim CharArray As Variant
     ImplodedStr$ = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
     StrDelimiter$ = ","
     CharArray = evaluate(|@Explode("| & ImplodedStr$ & |";"| & StrDelimiter$ & |")|)

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


Code
...dim und set von doc...
dim ret_eval as Variant
ret_eval = evaluate(|FIELD Mehrfachfeld := @Trim(@Replace(Mehrfachfeld;"| + loeschstring + |";""))|,doc)

Code
Call backendDoc.ReplaceItemValue("tmp_DVB_Name", evaluate("@Name([CN]; DVB_Name)", note))

Code
Function Split ( ImplodedStr$, StrDelimiter$) as variant
    Split = evaluate(|@Explode("| & ImplodedStr & |";"| & StrDelimiter & |")|)
End function
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Centaury

  • Senior Mitglied
  • ****
  • Beiträge: 294
  • Geschlecht: Männlich
  • Hi! Kennst du Murphy??
Re:@evaluate - wozu?
« Antwort #3 am: 18.02.03 - 14:21:10 »
Evaluate kenn ich. Ich meine aber @evaluate. Ich habe hier eine fertige Datenbank, in der das verwendet wird und verstehe nur Bahnhof. ???
Man sollte immer eine kleine Flasche Whisky dabei haben, für den Fall eines Schlangenbisses - und außerdem sollte man immer eine kleine Schlange dabei haben. - W. C. Fields

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:@evaluate - wozu?
« Antwort #4 am: 18.02.03 - 14:48:12 »
... in meiner 5erHilfe habe ich nichts dazu gefunden - mit welcher Version arbeitest du - ev. R6 ?

ata
Grüßle Toni :)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:@evaluate - wozu?
« Antwort #5 am: 18.02.03 - 15:13:00 »
Enhancements in LotusScript 4.0  

Dynamic @evaluate support
This first appears in Notes 4.52 and allows users to change Notes macros dynamically using a variable instead of a constant string.



Das ist alles was darüber in der 5er Hilfe steht

Ciao
Don Pasquale

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:@evaluate - wozu?
« Antwort #6 am: 18.02.03 - 15:47:09 »
hab auch nochmal im LDD Forum herumgeschnuppert...Aussage ist überall, daß angeblich @evaluate superb wäre, aber nicht ist (ok, in R6 gibt es sowas wie @Thisvalue jetzt)..

Beispiel wie schön´s wäre:
@Evaluate("@If(" + Fieldname + ";1;0)")

normal würde die Formel im klassischen Notes so lauten:
@If(Fieldname="123";1;0)

möchte man das Fieldname dynamisieren wäre die @evaluate Geschichte nett. Nur, wie gesagt, sie geht lt. Meinung der LDD Poster nicht, der ich mich bisher immer angeschlossen habe.

Es mag zwar Ausnahmen geben, wie zB
Feldabfrage:=@if(FeldA<>"";"FeldA";"FeldB")
@dblookup("":"";"VIEW";"KEY";Feldabfrage)
fragt also dynamisch im FeldA oder FeldB des Trefferdocs den Wert ab. Nur ein FIELD Feldabfrage:=... geht schon nicht mehr.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Centaury

  • Senior Mitglied
  • ****
  • Beiträge: 294
  • Geschlecht: Männlich
  • Hi! Kennst du Murphy??
Re:@evaluate - wozu?
« Antwort #7 am: 18.02.03 - 16:47:06 »
@Don
Das habe ich auch gefunden. Wie gesagt, da steht fast nix.

@ata
Ich benutze R5...

@Rob
Danke, hier scheint's irgendwie zu funktionieren. Ich verstehe das jetzt so:
Mit Hilfe von @evaluate kann Notes untescheiden, ob ich einen Feldnamen oder einen String in einem Feld angegeben habe. Will heißen:
Schreibe ich A=B, ersetzt er A durch "B"
Schreibe ich A=@Evaluate(B) ersetzt er A durch den Wert des Feldes B
Man sollte immer eine kleine Flasche Whisky dabei haben, für den Fall eines Schlangenbisses - und außerdem sollte man immer eine kleine Schlange dabei haben. - W. C. Fields

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz