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
AutoIt Live Editor
-
- [ offen ]
-
Freaky -
27. Juni 2010 um 12:03 -
Geschlossen -
Erledigt
-
-
Du könntest den Buttonamen z.b. in einer *.ini speichern
-
Ja schon, ich kann aber nicht ganze Befehle in ner Ini speichern
oder ist es doch möglich ? -
Klar geht das z.B. so:
[autoit]IniWrite("script.ini", "Script", "Script","MsgBox(0, 'Test', 'Dies ist ein Test')")
[/autoit]
Execute(IniRead("script.ini", "Script", "Script", "")) -
Nicht ganz, das hier wird nicht ausgeführt:
[autoit]Func _msgbox ($iAnzahl,$iData)
[/autoit][autoit][/autoit][autoit]
For $i = 1 To $iAnzahl
MsgBox (0,"MsgBox: " & $i,$iData)
Next
EndFunc_msgbox (5,"Hi :)")
[/autoit] -
Doch dein Skript funktioniert.
[autoit]
Wenn du ExeCute nicht verstehst:
[/autoit]
$test=1
msgbox(0,"",$test)
$test=execute($test+1)
msgbox(0,"",$test)
Verstehst du?MfG AntiSpeed
-
Kein gutes beispiel...
[autoit]
Da hätte man auch $test=$test+1 machen können
Ich find das hier besser:$test=InputBox("Formel","Gib bitte eine Rechnung ein:")
[/autoit]
$test = Execute($test)
MsgBox(0,"",$test)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:")
[/autoit]
Execute($test)Gib mal Msgbox(0,"","") oder so ein, und schau, was passiert
-
Ihr versteht mich richtig Falsch.
Ich will ganze Scripte dauerhaft laufen lassen, wenn ich was veränder dann soll das automatisch im laufenden Script übernommen werden. -
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)
-
oder du machts, dass es sich das was es braucht immer aus der .au3 datei holt
-
Hier.
Funktioniert, so wie du es willst.Und die InI:
[GUI]
Button =Puma
Input =Nike
Progress =90 -
Änder lieber die LiveGui so um.
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$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
ExitEndSwitch
[/autoit]
WEndWeil 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. -
- Offizieller Beitrag
Sowas geht halt nur bis zu einem gewissen Rahmen.
-
Und bis zu welchen Rahmen ?
-
DU wirst in dem Scirpt aufjeden Fall eine
[autoit]While 1
[/autoit]
wendSchleife 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]
[/autoit]
for $i = 1 to 10
Execute(FileReadLine(@scriptdir&"\ABC.txt", $i)
NextUnd um Variablen hinzuzufügen ist eine Array am besten, z.B.
[autoit]
[/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])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