Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: berti@web am 19.06.05 - 19:51:21
-
Hallo zusammen,
heute bin ich auf der Suche nach einem Script, dass Text als mathematische Formel auswertet und anschließend die Berechnung durchführt. Man übergibt also z.B. den Text "3+4*2" und als Ergebnis kommt der Zahlenwert 11 zurück. Hat jemand von Euch soetwas greifbar? Würde sonst selbst noch mal tippen, aber natürlich auch gern Zeit sparen ;D
Falls Ihr das PC Magazin schon 1996 oder 1997 gelesen habt und noch über die Jahrgangs-CDs verfügt, so erinnere ich mich, dass es dort ein Listing math.cpp gab. Leider habe ich dies nicht mehr verfügbar. Ich weiß, dies war jetzt eine leicht antiquierte Fährte O0. War nur so ne Idee.
Freundliche Grüße
-
Das kannst Du doch mit Evaluate machen. Schau mal nach dieser LS-Function.
Bernhard
-
Vielen Dank. Na klar ist das die Lösung. Da hatte ich gestern Abend ja ein riesiges Brett vor dem Kopf. Aber deswegen ist ja dieses Forum so fantastisch. ;)
-
Hallo,
die Execute Funktion kann in diesem Fall auch sehr hilfreich sein.
Beispiel:
Execute |
Dim x
x = | & "3+4*2" & |
Msgbox x|
sollte das Ergebnis 11 zurückliefern.
Gruß Sascha
-
Genau das ist mir heute auf der langen Autofahrt auch eingefallen, Sascha (selbst dort kann ich das Forum nicht vergessen ;D)
Execute macht ja (zumindest in Deinem Beispiel) erstmal scheinbar nix anderes als Evaluate - scheinbar ! A-Bär - je nach Aufgabenstellung - kann das durchaus sehr interessant sein, da
- Evaluate @functions in LS ausführt,
während
- Execute LS-Code erst zur Laufzeit kompiliert.
Wenn man also die evtl. erweiterten Möglichkeiten von LS in dieser Form nutzen möchte, dann bietet es sich an, den eigentlich auszuführenden Code in ein Feld auszulagern, diesen dann in eine Variable einzulesen (Achtung - diese muss modul-global sein !) und damit Saschas Lösung zu erweitern. Nö, erweitern ist nicht der richtige Ausdruck, sindern "Das so für seine eigenen Bedürfnisse anzupassen".
Bernhard