Hi,
Noch eine Frage diese ist warscheinlich ein weniger schwerer und zwar :
Ich habe ein Programm erstellt das scripte erstellt naja egal jedenfalls ist der cod in diesem Programm autoIT wie kann ich meinem Programm sagen das er wenn ich einen button drücke den Cod in dem Programm zur exe Compiliert ?
AutoIT Compile
-
- [ offen ]
-
AgentProxon -
27. November 2010 um 21:07 -
Geschlossen -
Erledigt
-
-
Hi,
mit dem Befehl ShellExecute() schau dir hier zu die Hilfe an,
sowie mit Hilfe dieses Artikels: http://translation.autoit.de/onlinehilfe/intro/compiler.htm -
Bitte drück dich deutlicher aus...
Es heißt "Code" und nicht "cod" aka "Call Of Duty" ;). Von welcher Art "cod" reden wir hier? AutoIt oder etwas anderes. Und wenn du ein Programm hast, wieso bist du dann nicht so nett und stellst es in deinen Post damit wir uns nicht vorstellen müssen was du bereits hast und wobei du Hilfe brauchst, da du das ja scheinbar auch nicht erklären kannst. Wenn du das machen willst was ich denke dann müsstest du den code in einer Datei speichern und diese mit der Aut2exe.exe im Autoit Ordner über die Kommandozeile konvertieren. Beispiel:Spoiler anzeigen
[autoit]#RequireAdmin
[/autoit] [autoit][/autoit] [autoit]$PathSource = FileOpenDialog("Script auswählen", @ScriptDir, "Au3 Scripts (*.au3)")
[/autoit]
$IconPath = FileOpenDialog("Icon auswählen", @ScriptDir, "Icons (*.ico)")
$Complevel = InputBox("Kompressionslevel", "0 - 4", 2)
$UPXPack = InputBox("UPX", "Mit UPX packen? 1 = Ja; 0 = Nein", 1)
If $UPXPack = 1 Then
$UPXPack = "/pack"
Else
$UPXPack = "/nopack"
EndIf
$ANSI_Unicode = InputBox("ANSI/Unicode", "1 = ANSI; 2 = Unicode", 2)
If $ANSI_Unicode = 1 Then
$ANSI_Unicode = "/ansi"
Else
$ANSI_Unicode = "/unicode"
EndIf
$Console = InputBox("Konsole/GUI", "1 = Konsole; 2 = GUI", 2)
If $Console = 1 Then
$Console = "/console"
Else
$Console = "/gui"
EndIf
$PathDest = FileSaveDialog("Speichern unter", @ScriptDir, "Exe (*.exe)")
RunWait(StringTrimRight(@AutoItExe, 11) & "Aut2Exe\Aut2exe.exe /in " & $PathSource & " /out " & $PathDest & ".exe /icon " & $IconPath & " /comp " & $Complevel & " " & $UPXPack & " " & $ANSI_Unicode & " /x86 " & $Console)
RunWait(StringTrimRight(@AutoItExe, 11) & "Aut2Exe\Aut2exe.exe /in " & $PathSource & " /out " & $PathDest & "_x64.exe /icon " & $IconPath & " /comp " & $Complevel & " " & $UPXPack & " " & $ANSI_Unicode & " /x64 " & $Console)) -
Solltest dir auch fileinstall() in der Hilfe anschauen.
Dein Masterscript sollte dann per fileinstall die aut2exe.exe enthalten plus sämtliche .au3 Sourcecodes.
Wobei das kaum Sinn macht, du könntest die Programme auch gleich kompiliert per fileinstall einfügen oder seperat beilegen... -
Also man kann sich es wie Notepad vorstellen dort schreibt man z.B MsgBox(0,"","") und dann klickt man auf erstellen und dann soll er den Code also MsgBox aus dem Notepad entnehmen und ihn zur exe machen also wie der Compiler bei AutoIT
-
Also ein eigener "Scite Editor" sozusagen. Dann einfach den Inhalt des Feldes in eine au3 speichern (z.b. filewriteline ) und dann die au3 mit aut2exe kompilieren.
-
Zitat
Also ein eigener "Scite Editor" sozusagen. Dann einfach den Inhalt des Feldes in eine au3 speichern (z.b. filewriteline ) und dann die au3 mit aut2exe kompilieren.
Aha...ZitatWenn du das machen willst was ich denke dann müsstest du den code in einer Datei speichern und diese mit der Aut2exe.exe im Autoit Ordner über die Kommandozeile konvertieren.
Abgesehen davon: Wieso willst du das mit FileWritLine machen, und nicht mit FileWrite? -
Ne ihr versteht es nicht liegt glaub ich an mir naja also:
Ich habe mal so eine kleine GUI zur erkläung gemacht dort ist eine Edit box drinnen und in diese Edit Box schreibt der Benutzer einen AutoIT Code z.B
[autoit]MsgBox(0,"Test","Ich bin ein scherz")
[/autoit]Dann klickt diese Person auf EXE und das Programm speichert als erstes den Inhalt als .au3 ab und soll dann Automatisch und von selber die au3 zur exe Compilen .
-
Zitat
Dann klickt diese Person auf EXE und das Programm speichert als erstes den Inhalt als .au3 ab und soll dann Automatisch und von selber die au3 zur exe Compilen .
Und genau das haben wir dir in den vorherigen Antworten beschrieben ...
Ich hab dir sogar noch ein Beispiel zum Konvertiervorgang gegeben. -
Edit Edit Edit : OMG XD nochmal edit es geht leider nicht !?
-
Zitat
wäre so net wenn du kein bock hast must du es net
Hätte ich kein Bock dir etwas zu erklären wäre hier kein einziger Post von mir drin...
Mein Script steuert die Aut2Exe.exe per Kommandozeile an. Die passenden Befehle für die exe findest du auf der von Ealendil genannten Seite: http://translation.autoit.de/onlinehilfe/intro/compiler.htm. Mit der Kommandozeile kannst du Daten an ein Programm übergeben ohne die Maus/Tastatur etc. benutzen zu müssen, es wird also keine Eingabe abgefragt sondern die Kommandos einfach an den Pfad der exe angehängt. -
Es geht zwar alles also die ganzen Inputboxen kommen aber dann erstellt er keine exe !?
-
Ich weiß nicht wie dein Script aussieht, also kann ich dir nicht weiterhelfen... Wenn du alles beim alten gelassen hast in meinem Script dann würde ich mal alle Eingaben überprüfen.
-
Dein Script funktioniert bei mir btw auch nicht name22. Zeile 26 ist ne Klammer zuviel, siehe syntax error. Aber auch nach Behebung dieses Fehlers erstellt er bei mir keine exe. Vermutlich noch ein anderer Fehler im run Befehl versteckt. Der output Path stimmt jedenfalls, den hat ich mir testweise mal anzeigen lassen.
-
Ich habe alles versucht nur er will keine exe machen ich habe einfach nur dein Script gestartet dan file ausgewählt etc und dann kommt halt nichts gehts bei dir den ?
-
Sorry mein Fehler. Da hab ich wohl die falsche Version hochgeladen...
Hier mal das ganze auf die Angabe der Pfade von Script und Exe reduziert.Spoiler anzeigen
[autoit]#RequireAdmin
[/autoit] [autoit][/autoit] [autoit]$PathSource = FileOpenDialog("Script auswählen", @ScriptDir, "Au3 Scripts (*.au3)")
[/autoit]
$PathDest = FileSaveDialog("Speichern unter", @ScriptDir, "Exe (*.exe)")
RunWait(StringTrimRight(@AutoItExe, 11) & 'Aut2Exe\Aut2exe.exe /in "' & $PathSource & '" /out "' & $PathDest & '.exe" /x86 ') -
Ich will dich ja nicht nerven aber es geht immer noch nicht
-
Zitat
Ich will dich ja nicht nerven aber es geht immer noch nicht
Bei mir schon... Was funktioniert denn nicht? -
Er erstellt die exe nicht entwerder mache ich etwas falsch oder das Script ist falsch
-
Zitat
Er erstellt die exe nicht entwerder mache ich etwas falsch oder das Script ist falsch
Also bei mir funktioniert es. Was dann wohl heißt, dass das Script stimmt. Also wenn du das Programm startest wählst du im ersten FileOpenDialog die .au3 Datei aus und im zweiten den Namen und Pfad für die .exe... -