au3int.au3 Interpreter einbinden

  • Hey!!

    hat jemand von euch vielleicht eine Idee, wie ich den "au3int v1.0.2.10" Interpreter in ein *.au3 einbinden und verwenden kann?

    Ziel ist es, einen String mit einer Formel (z.B. 10*(2+8)) an die compilierte Interpreter-Exe zu senden, um das berechnete Ergebnis zurückzubekommen, um damit weiter im *.au3 weiterzuarbeiten.

    Quelle: http://code.google.com/p/au3int/

    leider habe ich keine Ahnung, wie ich diese Exe einbinden kann, da ich einfach die Befehle aus dem Helpfile nicht verstehe:

    Au3Int.exe [/ErrorStdOut] /AutoIt3ExecuteScript "file" [params ...]
    or
    Au3Int.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"

    "command line" oder "params" stehen sicherlich für die Formel (10*(2+8)) aber es funktioniert einfach nicht.

    mein jetziger Versuch scheitert leider:

    Spoiler anzeigen


    #include <MsgBoxConstants.au3>
    local $sBEFEHL, $sSCRIPTPFAD, $test

    $sSCRIPTPFAD = "D:\temp\lib\Au3Int.exe"
    $sBEFEHL = "10*(2+8)"
    $test = Run(@AutoItExe & ' /AutoIt3ExecuteLine ' & $sSCRIPTPFAD & ' ' & $sBEFEHL)

    msgbox("","",$test)

    beim Befehl "AutoIt3ExecuteScript" habe ich noch weniger Ahnung...

    vieln Dank für Eure Hilfe!!

    Matthias

  • Hey!!

    ehrlich gesagt, hab ich bis gerade vorhin nicht gewusst, dass Execute auch rechnen kann. Ich habe mit dem Befehl immer nur nach Zeichen gesucht.
    Danke für den super Tipp!!

    Ich dachte zwar schon mal an Execute, aber immer mit der Meinung, dass ich die Zeichen aussortieren und an ein Array übergeben kann, und nachher noch
    eine eigene UDF schreiben muss, die die komplette Algebra nachbildet...da hätte ich ich leider graue Haare bekommen :) ...

    Außerdem ist die ganze Execute Syntax wohl eher was für den Berufsinformatiker, als für den kleinen Hobbyscripter :)

    Nur verstehe ich jetzt aber nicht mehr, wozu es einen solchen au3int-Interpreter überhaupt gibt, wenn das berechnen ja auch sonst möglich ist...

    ...aber mal egal - vielen Dank für deine schnelle Antwort!!!

    ----


    sollte trotzdem jemand die Lösung für die erste Variante haben, wäre ich auch froh, dass ich das mal kapiere...


    Matthias

  • GEIL!!

    funktioniert!

    Spoiler anzeigen


    #include <MsgBoxConstants.au3>
    Example()

    Func Example()
    ; The values are the same so the expression is True
    MsgBox($MB_SYSTEMMODAL, "Result: 1=1", (1 = 1) ? "True!" : "False!")
    ; The values are not the same so the expression is False
    MsgBox($MB_SYSTEMMODAL, "Result: 1=2", (1 = 2) ? "True!" : "False!")
    EndFunc;==>Example

    DANKE!!