AutoIt Live Editor

  • Hallo,
    ist es möglich ein Script anzuhaben und gleichzeitig die Source davon zu ändern ?
    Also ich will wenn ich ein Script anhaben und z.B. ein Buttonname änder, das er sich im Script auch ändert, oder das ich ganze funktion umschreiben kann ohne das ich immer das Script anmachen muss zum testen :)

  • Klar geht das :D z.B. so:

    [autoit]

    IniWrite("script.ini", "Script", "Script","MsgBox(0, 'Test', 'Dies ist ein Test')")
    Execute(IniRead("script.ini", "Script", "Script", ""))

    [/autoit]
  • Nicht ganz, das hier wird nicht ausgeführt:

    [autoit]

    Func _msgbox ($iAnzahl,$iData)
    For $i = 1 To $iAnzahl
    MsgBox (0,"MsgBox: " & $i,$iData)
    Next
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    _msgbox (5,"Hi :)")

    [/autoit]
  • Doch dein Skript funktioniert.
    Wenn du ExeCute nicht verstehst:

    [autoit]


    $test=1
    msgbox(0,"",$test)
    $test=execute($test+1)
    msgbox(0,"",$test)

    [/autoit]


    Verstehst du?

    MfG AntiSpeed

    Nur keine Hektik - das Leben ist stressig genug

  • Kein gutes beispiel...
    Da hätte man auch $test=$test+1 machen können
    Ich find das hier besser:

    [autoit]

    $test=InputBox("Formel","Gib bitte eine Rechnung ein:")
    $test = Execute($test)
    MsgBox(0,"",$test)

    [/autoit]

    Wenn du jetzt z.B. 4*5/10 eingibst kommt 2 raus ;)

    Edit: Oder noch besser:

    [autoit]

    $test=InputBox("Befehl","Gib bitte einen AutoIt Befehl ein:")
    Execute($test)

    [/autoit]

    Gib mal Msgbox(0,"","") oder so ein, und schau, was passiert ^^

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Mach es doch so.

    Dein script was immer laufen soll liest alle buttons , labels , tralala aus einer INI herraus.

    Ein anderes Script kann diese einträge ändern.

    Und das script was immer läuft liest (Aha da hat sich was in der INI datei verändert, so veränder ich den button mit dem neuen text)

  • Änder lieber die LiveGui so um.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 336, 296, 192, 124)
    $Button1 = GUICtrlCreateButton("Button1", 104, 32, 121, 49, $WS_GROUP)
    $Progress1 = GUICtrlCreateProgress(32, 104, 257, 41)
    $Input1 = GUICtrlCreateInput("Input1", 32, 184, 265, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    AdlibRegister("_Update",1000)
    Func _Update()
    $Button = IniRead ("LiveIni.ini", "GUI", "Button", "Error")
    $Progress = IniRead ("LiveIni.ini", "GUI", "Progress", "Error")
    $Input = IniRead ("LiveIni.ini", "GUI", "Input", "Error")
    GUICtrlSetData ($Button1, $Button)
    GUICtrlSetData ($Progress1, $Progress)
    GUICtrlSetData ($Input1, $Input)
    EndFunc
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Weil ich musste 6sec warten bis das Gui zuwar , weil es in der schleife ist ^^
    Wenn du das mit AdlibRegister machst , aktualisiert er jede sekunde und kannst problem los sachen noch in der while schleife einbauen ;)

  • Ich will doch nicht nur eine LiveGui aber danke.
    Ich will das er ALLES ausliest, jeden Befehl der neu ist sofort auffnimmt und das man es dann benutzen kann, z.B. wenn ich ein Hotkeyset hinzufüge und ne ganze Funktion für den Hotkeyset auch.

  • DU wirst in dem Scirpt aufjeden Fall eine

    [autoit]

    While 1
    wend

    [/autoit]

    Schleife braucehn da das Scirpt sonnst ausgeht:D

  • Wenn ich jetzt am PC ud Net am iPhone wär dann könnte ich dir jeden neuen Befehl bla bpq scripten .

    Mit einer for könntest du z.B.

    [autoit]


    for $i = 1 to 10
    Execute(FileReadLine(@scriptdir&"\ABC.txt", $i)
    Next

    [/autoit]

    Und um Variablen hinzuzufügen ist eine Array am besten, z.B.

    [autoit]


    ;in der txt steht jetzt mal _ArrayAdd, und es gibt ne hauptarray
    #include <Array.au3>
    Global $Array[1]
    for $i = 1 to 10
    Execute(FileReadLine(@scriptdir&"\ABC.txt", $i)
    Next
    MsgBox(0, "Array Inhalt", $Array[5])

    [/autoit]

    Wenn ich morgen am PC bin zeig ich dir was ich meine

    Oder jemand anderes hier im Forum versteht mich und macht das Kit der txt

    MfG EM

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal