Kann man auch ein LUA Script ausführen bevor das AutoIt Script kompiliert wird?

  • Hallo,

    ich habe mir ein LUA Schript geschieben, dass automatisch die Zeilennummer in einen definierten String "|xx|" ersetzt.

    Das LUA Script habe ich geschrieben, da das Macro "@ScriptLineNumber" nicht funktioniert, wenn das Script kompiliert wird.

    Beispiel:
    Msgbox(0, @ScriptLineNumber & " Bin in der Scheife ", "texttexttext", 5)
    Nach dem Kompilieren erscheint nicht die Zeilenummer
    Msgbox(0, "|006| Bin in der Scheife", "texttexttext", 5)
    Das LUA Script ersetz "|006| durch die akuelle Zeilennummer.

    Hier das LUA Script

    Spoiler anzeigen


    function TraceLineNumber()
    for m in editor:match("\"|[0-9]*|",SCFIND_REGEXP,0) do
    local LineNumber = editor:LineFromPosition(m.pos)+1
    if LineNumber < 10 then
    LineNumber = "000"..LineNumber
    elseif LineNumber < 100 then
    LineNumber = "00"..LineNumber
    elseif LineNumber < 1000 then
    LineNumber = "0"..LineNumber
    end
    m:replace("\"|"..LineNumber.."|")
    end
    print("Ich habe fertig")
    end

    Gruß Paule

  • Hi,

    ja, das geht. Dazu brauchst Du den LUA Interpreter und beim Kompilieren mit dem AutoIt3Wrapper im Tab "Run Before/After" den LUA Interpreter mit deinem Script als Parameter ausführen.
    Oder direkt:

    [autoit]


    #AutoIt3Wrapper_Run_Before=Laufwerk:/Pfad/zum/LUA Interpreter/lua.exe myscript.lua

    [/autoit]


    LUA for Windows


    Gruß
    Greenhorn


  • Greenhorn,

    wenn ich F5 oder F7 in Scite drücke verlasse ich doch die Editor. Anschließend wird doch dann der externe Aufruf erfolgen. Dann weis doch mein LUA Scipt nichts mehr mit den Befehlen wie
    editor:match("\"|[0-9]*|",SCFIND_REGEXP,0)
    damit was anzufangen.

    Gruß Paule

  • Ach Du möchtest über Scintilla das Script starten ..., sorry habe ich misverstanden.

    Das müsste aber auch irgendwie gehen, wenn ich mich nicht irre.
    Du könntest es z.B. in die Startup.lua aufnehmen und noch eine entsprechende Funktion in dein Script einbauen, das dieses beim Kompilieren ausgeführt wird.


    Gruß
    Greenhorn


  • @Grennhorn,

    in Scite habe ich bereits alles angelegt. Ich kann das Scipt per Menu oder Hotkey aufrufen. Wie mache ich es aber das vor dem Kompilieren das LUA Script aufgerufen wird?

    Gruß Paule