Hallo Au3 Freunde
Ziel:
- eine .exe Datei erstellen, durch Übergabe von Parametern soll sie einmalig werden
- diese Parameter sollen also "hardcoded" sein
Sinn und Zweck:
Ich möchte "personengebundene" Exefiles erstellen. Um das Ganze so einfach wie möglich zu halten, möchte ich das eigentliche Script
als Template verwenden und per Buttonklick die "personengebundenen Daten" als Parameter an das Template übergeben.
Fortschritt:
Das Erstellen der Exe funktioniert, aber nicht wie ich es will.
Hier mein TestScript
Global $GuiName = "Titel des GUI"
Global $hGui = GUICreate($GuiName, 300,200, 1020, 50)
GUISetFont(10)
GUICtrlCreateLabel("Wert1:", 10, 10, 100, 25)
GUICtrlCreateLabel("Wert2:", 10, 40, 100, 25)
GUICtrlCreateLabel("Wert3:", 10, 70, 100, 25)
GUICtrlCreateLabel("Wert4:", 10, 100, 100, 25)
Global $btnOkay = GUICtrlCreateButton("Okay", 10, 170, 80, 20)
Global $btnExit = GUICtrlCreateButton("Abbruch", 210, 170, 80, 20)
Global $input1 = GUICtrlCreateInput("alfa@beta.de", 120, 7, 170, 20)
Global $input2 = GUICtrlCreateInput("Herr Alpha Beta", 120, 34, 170, 20)
Global $input3 = GUICtrlCreateCombo("", 120, 61, 170, 20)
Global $input4 = GUICtrlCreateCombo("", 120, 88, 170, 20)
GUICtrlSetData($input3, "input 3a|input 3b", "input 3a")
GUICtrlSetData($input4, "input 4a|input 4b|input 4c|input 4d", "input 4c")
GUISetState()
While 1
Switch GUIGetMsg()
Case -3, $btnExit
Exit
Case $btnOkay
_neuesTool()
Exit
EndSwitch
WEnd
Func _neuesTool()
Local $commandolinie = " -" & GUICtrlRead($input1) & " -" & GUICtrlRead($input2) & " -" & GUICtrlRead($input3) & " -" & GUICtrlRead($input4)
Local $compilerPath = "" ,$PathSource = FileOpenDialog("Script auswählen", @ScriptDir, "Au3 Scripts (*.au3)")
Local $PathDest = FileSaveDialog("Speichern unter", @ScriptDir, "Exe (*.exe)", 16, "test")
Local $temp = StringSplit(@AutoItExe,"\")
For $i = 1 to $temp[0]-1 Step +1
$compilerPath = $compilerPath & $temp[$i] & "\"
Next
$compilerPath = $compilerPath & "Aut2Exe\Aut2exe.exe"
;~ RunWait('"' & $compilerPath & '" /in "' & $PathSource & $commandolinie & '" /out "' & $PathDest & '" /x86')
; Fehler: Aut2Exe Error Line 0 -> Error opening the file...
; will arbeiten mit: ...\bliblub.au3 -alfa@beta.de -Herr Alpha Beta -input 3a -input 4c
;~ RunWait('"' & $compilerPath & '" /in "' & $PathSource & $commandolinie & '" /out "' & $PathDest & '.exe" /x86')
; Fehler: Aut2Exe Error Line 0 -> Error opening the file...
; will arbeiten mit: ...\bliblub.au3 -alfa@beta.de -Herr Alpha Beta -input 3a -input 4c
;~ RunWait('"' & $compilerPath & '" /in "' & $PathSource & '" /out "' & $PathDest & $commandolinie & '" /x86')
; Fehler: es wird keine .exe erstellt, sondern nur eine "Datei"
; macht daraus: ...\test.exe -alfa@beta.de -Herr Alpha Beta -input 3a -input 4c
;~ RunWait('"' & $compilerPath & '" /in "' & $PathSource & '" /out "' & $PathDest & $commandolinie & '.exe" /x86')
; Teilerfolg: es wird zwar eine .exe erstellt, aber
; macht daraus: ...\test.exe -alfa@beta.de -Herr Alpha Beta -input 3a -input 4c.exe
;~ RunWait('"' & $compilerPath & '" /in "' & $PathSource & '" /out "' & $PathDest & '" /x86')
; Teilerfolg: es wird zwar eine .exe erstellt, aber
; es werden auf grund des Aufrufs keine Parameter übergeben...
EndFunc
Alles anzeigen
Was muss ich anders machen, damit einfach nur eine test.exe entsteht, in der die Parameter erfolgreich übergeben wurden?
Wenn die test.exe erstellt wurde, lass ich mir per _ArrayDisplay() die Parameter anzeigen, bekomm aber immer nur ein leeres Array angezeigt
Könnt ihr mir weiterhelfen?
Mfg Lo..