Hallöchen,
ich möchte aus einer Datei den Code ausführen, hab schon Gegoogelt, aber nix gefunden
Code im Programm:
Inhalt der Datei:
Man sieht, ich lese die Datei aus, und ich möchte das der Inhalt ausgeführ wird..
Ich danke im vorraus
MFG
Fogpun
Hallöchen,
ich möchte aus einer Datei den Code ausführen, hab schon Gegoogelt, aber nix gefunden
Code im Programm:
Inhalt der Datei:
Man sieht, ich lese die Datei aus, und ich möchte das der Inhalt ausgeführ wird..
Ich danke im vorraus
MFG
Fogpun
verteilst du die anwendung später als exe oder Script ?
ps: Herzlich Willkommen im Forum
Danke
Die wird später als .exe eingesetzt
Hiermit sollte es gehen
[autoit][/autoit][autoit][/autoit][autoit]$sFile = FileOpenDialog("Bitte Datei Auswählen!",@DesktopDir,"Alle Dateien (*.*)")
If not $sFile = "" Then
Run($sFile)
EndIf
Natürlich kannst du denn filter auch ersetzen.
Wenn du noch Probeleme hast einfach eine pn an mich oder hier direkt schreiben.
Ps : Fürs Nexte mal imm bei Variabeln ein "Vorzeichen" Setzen.
Wen Die Variabel zumbeispiel einen String Enthält : $sVariabelName für einen Integer $iVariabelName
Mfg
Ich möchte es so machen, das es aus der Variable ausgeführt wird, ich möchte es anders benutzen, dies ist nur ein ähnliches Beispiel..
Ist es dir Egal , wenn eine Temporäre Datei erstellt wird
Kann ich das Bsp sehn?
;Beispiel
$sCode = 'MsgBox(64,"test","Test")'
FileWrite(@TempDir & "\TEMPFILE.AU3",$sCode)
Run(@TempDir & "\TEMPFILE.AU3")
Und Gelöst ???
Versuchs mal hiermit :
$Source = 'MsgBox(64,"Test","Test")'
_RunPlugIn($Source)
Func _RunPlugIn($Source)
Local $StartLoop_Line, $EndLoop_Line
$Split1 = StringSplit($Source, @LF)
For $NextLoop1 = 1 To $Split1[0]
$Split2 = StringSplit($Split1[$NextLoop1], "=")
$Split3 = StringSplit($Split1[$NextLoop1], " ")
If $Split3[1] <> "For" And $Split3[1] <> "If" Then
If $Split2[0] > 1 Then
Assign(StringTrimLeft(StringTrimRight($Split2[1], 1), 1), Execute(StringTrimLeft(StringReplace($Split2[2], @CR, ""), 1)))
ElseIf $Split2[0] = 1 Then
Execute(StringReplace($Split1[$NextLoop1], @CR, ""))
EndIf
EndIf
If $Split3[1] = "For" Then
$StartLoop_Line = $NextLoop1
For $NextLoop2 = $StartLoop_Line To $Split1[0]
If StringInStr($Split1[$NextLoop2], "Next") Then
$EndLoop_Line = $NextLoop2
ExitLoop
EndIf
Next
$From = $Split3[4]
$To = $Split3[6]
$StartLoop_Line += 1
$EndLoop_Line -= 1
$VarName = $Split3[2]
For $FNLoop = Number($From) To Number($To)
For $NextLoop3 = Number($StartLoop_Line) To Number($EndLoop_Line)
Execute(StringReplace($Split1[$NextLoop3], @CR, ""))
Next
Next
$NextLoop1 = $EndLoop_Line
EndIf
If $Split3[1] = "If" Then
$StartLoop_Line2 = $NextLoop1
For $NextLoop2 = $StartLoop_Line To $Split1[0]
If StringInStr($Split1[$NextLoop2], "EndIf") Then
$EndLoop_Line2 = $NextLoop2
ExitLoop
EndIf
Next
$Var1 = $Split3[2]
$Var2 = $Split3[4]
$StartLoop_Line2 += 1
$EndLoop_Line2 -= 1
$IfType = $Split3[3]
If StringLeft(Eval("Var1"), 1) = "$" Then
$Var1 = Eval(StringTrimLeft(Eval("Var1"), 1))
Else
$Var1 = Eval("Var1")
EndIf
If StringLeft(Eval("Var2"), 1) = "$" Then
$Var2 = Eval(StringTrimLeft(Eval("Var2"), 1))
Else
$Var2 = Eval("Var2")
EndIf
If $IfType = "=" Then
If String($Var1) = String($Var2) Then
For $NextLoop4 = $StartLoop_Line2 To $EndLoop_Line2
Execute(StringReplace($Split1[$NextLoop4], @CR, ""))
Next
EndIf
ElseIf $IfType = "<" Then
If String($Var1) < String($Var2) Then
For $NextLoop4 = $StartLoop_Line2 To $EndLoop_Line2
Execute(StringReplace($Split1[$NextLoop4], @CR, ""))
Next
EndIf
ElseIf $IfType = ">" Then
If String($Var1) > String($Var2) Then
For $NextLoop4 = $StartLoop_Line2 To $EndLoop_Line2
Execute(StringReplace($Split1[$NextLoop4], @CR, ""))
Next
EndIf
ElseIf $IfType = "<>" Then
If String($Var1) <> String($Var2) Then
For $NextLoop4 = $StartLoop_Line2 To $EndLoop_Line2
Execute(StringReplace($Split1[$NextLoop4], @CR, ""))
Next
EndIf
EndIf
$NextLoop1 = $EndLoop_Line2
EndIf
If $Split3[1] = "While" Then
EndIf
Next
EndFunc
Funktion ist aber nicht von mir
Wohow, was ist das denn?
Ist von nem User , Musste mal Gucken ob das Funkt
Gib es sowas in einer etwas leichteren Version?
ich wies es nicht
sonst pack die fuunc in ne extra datei
dann ist der code übersichtlich
xD die Antwort ist einfacher als einfach xD
Man nehme:
$Source = 'MsgBox(0,"","hi")'
Execute($Source)
xDxD
Danke, ich werd damit noch rumpobieren, und den mal sehen, vielleicht ist es die lösung meiner Fragen
Danke nochmal
wenns klappt würde ich sagen problem gelöst.
und wir 2 schlagen uns die halbe nacht um die ohren