JustinReno Posted January 3, 2008 Author Posted January 3, 2008 (edited) Sorry, I forgot to keep a look out on this thread. Here is the full source: Some code is wrong, like $Exit. expandcollapse popup$GUI = GUICreate("AutoIt Script Editor by Justin Reno", 283, 265) $Edit = GUICtrlCreateEdit("", 0, 0, 281, 217) $Input = GUICtrlCreateInput("", 0, 224, 281, 21) $FileMenu = GUICtrlCreateMenu("File") $Open = GUICtrlCreateMenuItem("Open", $FileMenu) GUICtrlCreateMenuItem("", $FileMenu) $Save = GUICtrlCreateMenuItem("Save", $FileMenu) GUICtrlCreateMenuItem("", $FileMenu) $Exit = GUICtrlCreateMenuItem("Exit", $FileMenu) $ScriptMenu = GUICtrlCreateMenu("Script") $Run = GUICtrlCreateMenuItem("Run", $ScriptMenu) $Compile = GUICtrlCreateMenuItem("Compile", $ScriptMenu) $AboutMenu = GUICtrlCreateMenu("About") $About = GUICtrlCreateMenuItem("About", $AboutMenu) GUICtrlCreateMenuItem("", $AboutMenu) $HelpFile = GUICtrlCreateMenuItem("AutoIt Help File", $AboutMenu) GUISetState(@SW_SHOW) While 1 $Msg = GUIGetMsg() Switch $Msg Case -3, $Exit Exit Case $Open GUICtrlSetData($Edit, FileRead(FileOpenDialog("AutoIt Script Editor - Open Script", @ScriptDir, "AutoIt Scripts(*.au3)"))) Case $Save FileWrite(FileSaveDialog("AutoIt Script Editor - Save Script", @ScriptDir, "AutoIt Scripts(*.au3)"), GUICtrlRead($Edit)) Case $Exit If GUICtrlRead($Edit) <> "" Then $AskToSaveMsg = MsgBox(68, "AutoIt Script Editor - Save Unsaved File", "Do you want to save this script?") If $Msg = 6 Then FileWrite(FileSaveDialog("AutoIt Script Editor - Save Script", @ScriptDir, "AutoIt Scripts(*.au3)"), GUICtrlRead($Edit)) Case $Run FileWrite(@TempDir&"\Script.au3", GUICtrlRead($Edit)) RunWait(@AutoItExe & " " & @TempDir&"\Script.au3") FileDelete(@TempDir&"\Script.au3") Case $Compile $Return = Aut2ExeThisFile('MsgBox(0, "Test","It Worked!")') If Not @error Then MsgBox(0, "Success", $return) Else If @error = 1 Then MsgBox(0, "Error", "The Cancel button was pushed.") ElseIf @error = 2 Then MsgBox(0, "Error", "The Timeout time was reached.") ElseIf @error = 3 Then MsgBox(0, "Error", "The InputBox failed to open. This is usually caused by bad arguments.") ElseIf @error = 4 Then MsgBox(0, "Error", "User canceled or closed Folder Selection window.") EndIf EndIf #cs FileWrite(@TempDir&"\Script.au3", GUICtrlRead($Edit)) $IconPath = FileOpenDialog("AutoIt Script Editor - Compile Icon", @ScriptDir, "Icons(*.ico)") FileCopy($IconPath, @ScriptDir&"\Icon.ico") $Icon = "Icon.ico" MsgBox(0, "test", @ProgramFilesDir&"\AutoIt3\Aut2Exe\Aut2exe.exe /In "&@TempDir&"\Script.au3 /Out "&FileSaveDialog("AutoIt Script Editor - Compile Save Location", @ScriptDir, "Executables(*.exe)")&" /Icon "&$Icon&" /Comp 4") FileDelete(@TempDir&"\Script.au3") #CE Case $About MsgBox(64, "AutoIt Script Editor - About", "AutoIt Script Editor copyright Justin Reno 2007.") Case $HelpFile Run(@ProgramFilesDir&"\AutoIt3\AutoIt3Help.exe") EndSwitch WEnd ;~ Aut2ExeThisFile(GUICtrlRead($Edit)) ; For You To Use Func Aut2ExeThisFile($AutoitCode) $Path = FileSelectFolder("AutoIt Script Editor - Select Save Directory", @HomePath) If @error Or $Path = "" Then SetError(4) Return @error EndIf $FileName = InputBox("AutoIt Script Editor - Type File Name", "Please type in your wanted file name:") $FileName = StringReplace($FileName, " ", "_") ; no spaces allowed - MAY NEED TO ADD OTHER ILLEGAL CHARACTER CHECKS HERE !!!!! If @error Then If @error = 1 Then SetError(1) Return @error EndIf If @error = 2 Then SetError(2) Return @error EndIf If @error = 3 Then SetError(3) Return @error EndIf EndIf $EXEPath = $Path & "\" & $FileName FileWrite($Path & $FileName & ".au3", $AutoitCode) $icon = FileOpenDialog("AutoIt Script Editor - Compile Icon", "C:\Program Files\AutoIt3\Icons", "Icons(*.ico)", 1) $splitpath = StringSplit($icon, "\") If Not FileExists(@ScriptDir & "\" & $splitpath[UBound($splitpath) - 1]) Then FileCopy($icon, @ScriptDir & "\" & $splitpath[UBound($splitpath) - 1]) EndIf Run(@ProgramFilesDir & "\AutoIt3\Aut2Exe\Aut2exe.exe /In " & $Path & $FileName & ".au3" & " /Out " & $EXEPath & ".exe" & " /Icon " & $splitpath[UBound($splitpath) - 1]) Return $FileName & ".au3 was compiled to:" & @CRLF & $EXEPath & ".exe" & @CRLF & "Icon Used: " & $splitpath[UBound($splitpath) - 1] EndFunc ;==>Aut2ExeThisFile Edited January 3, 2008 by JustinReno
JustinReno Posted January 3, 2008 Author Posted January 3, 2008 Ok, here is the fixed script. By Justin Reno and Danwilli. expandcollapse popup$GUI = GUICreate("AutoIt Script Editor by Justin Reno", 283, 265) $Edit = GUICtrlCreateEdit("", 0, 0, 281, 217) $Input = GUICtrlCreateInput("", 0, 224, 281, 21) $FileMenu = GUICtrlCreateMenu("File") $Open = GUICtrlCreateMenuItem("Open", $FileMenu) GUICtrlCreateMenuItem("", $FileMenu) $Save = GUICtrlCreateMenuItem("Save", $FileMenu) GUICtrlCreateMenuItem("", $FileMenu) $Exit = GUICtrlCreateMenuItem("Exit", $FileMenu) $ScriptMenu = GUICtrlCreateMenu("Script") $Run = GUICtrlCreateMenuItem("Run", $ScriptMenu) $Compile = GUICtrlCreateMenuItem("Compile", $ScriptMenu) $AboutMenu = GUICtrlCreateMenu("About") $About = GUICtrlCreateMenuItem("About", $AboutMenu) GUICtrlCreateMenuItem("", $AboutMenu) $HelpFile = GUICtrlCreateMenuItem("AutoIt Help File", $AboutMenu) GUISetState(@SW_SHOW) While 1 $Msg = GUIGetMsg() Switch $Msg Case -3, $Exit Exit Case $Open GUICtrlSetData($Edit, FileRead(FileOpenDialog("AutoIt Script Editor - Open Script", @ScriptDir, "AutoIt Scripts(*.au3)"))) Case $Save FileWrite(FileSaveDialog("AutoIt Script Editor - Save Script", @ScriptDir, "AutoIt Scripts(*.au3)"), GUICtrlRead($Edit)) Case $Exit If GUICtrlRead($Edit) <> "" Then $AskToSaveMsg = MsgBox(68, "AutoIt Script Editor - Save Unsaved File", "Do you want to save this script?") If $Msg = 6 Then FileWrite(FileSaveDialog("AutoIt Script Editor - Save Script", @ScriptDir, "AutoIt Scripts(*.au3)"), GUICtrlRead($Edit)) Case $Run FileWrite(@TempDir&"\Script.au3", GUICtrlRead($Edit)) RunWait(@AutoItExe & " " & @TempDir&"\Script.au3") FileDelete(@TempDir&"\Script.au3") Case $Compile $Return = Aut2ExeThisFile(GUICtrlRead($Edit)) If Not @error Then MsgBox(0, "Success", $return) Else If @error = 1 Then MsgBox(0, "Error", "The Cancel button was pushed.") ElseIf @error = 2 Then MsgBox(0, "Error", "The Timeout time was reached.") ElseIf @error = 3 Then MsgBox(0, "Error", "The InputBox failed to open. This is usually caused by bad arguments.") ElseIf @error = 4 Then MsgBox(0, "Error", "User canceled or closed Folder Selection window.") EndIf EndIf #cs FileWrite(@TempDir&"\Script.au3", GUICtrlRead($Edit)) $IconPath = FileOpenDialog("AutoIt Script Editor - Compile Icon", @ScriptDir, "Icons(*.ico)") FileCopy($IconPath, @ScriptDir&"\Icon.ico") $Icon = "Icon.ico" MsgBox(0, "test", @ProgramFilesDir&"\AutoIt3\Aut2Exe\Aut2exe.exe /In "&@TempDir&"\Script.au3 /Out "&FileSaveDialog("AutoIt Script Editor - Compile Save Location", @ScriptDir, "Executables(*.exe)")&" /Icon "&$Icon&" /Comp 4") FileDelete(@TempDir&"\Script.au3") #CE Case $About MsgBox(64, "AutoIt Script Editor - About", "AutoIt Script Editor copyright Justin Reno 2007.") Case $HelpFile Run(@ProgramFilesDir&"\AutoIt3\AutoIt3Help.exe") EndSwitch WEnd Func Aut2ExeThisFile($AutoitCode) $Path = FileSelectFolder("AutoIt Script Editor - Select Save Directory", @HomePath) If @error Or $Path = "" Then SetError(4) Return @error EndIf $FileName = InputBox("AutoIt Script Editor - Type File Name", "Please type in your wanted file name:") ;~ $FileName = StringReplace($FileName, " ", "_") ; no spaces allowed - MAY NEED TO ADD OTHER ILLEGAL CHARACTER CHECKS HERE !!!!! If @error Then If @error = 1 Then SetError(1) Return @error EndIf If @error = 2 Then SetError(2) Return @error EndIf If @error = 3 Then SetError(3) Return @error EndIf EndIf $EXEPath = $Path & "\" & $FileName FileWrite($Path & $FileName & ".au3", $AutoitCode) $icon = FileOpenDialog("AutoIt Script Editor - Compile Icon", "C:\Program Files\AutoIt3\Icons", "Icons(*.ico)", 1) $splitpath = StringSplit($icon, "\") If Not FileExists(@ScriptDir & "\" & $splitpath[UBound($splitpath) - 1]) Then FileCopy($icon, @ScriptDir & "\" & $splitpath[UBound($splitpath) - 1]) EndIf Run(@ProgramFilesDir & '\AutoIt3\Aut2Exe\Aut2exe.exe /In "' & $Path & $FileName & '.au3"' & ' /Out "' & $EXEPath & '.exe"' & ' /Icon "' & $splitpath[UBound($splitpath) - 1] & '"') Return $FileName & ".au3 was compiled to:" & @CRLF & $EXEPath & ".exe" & @CRLF & "Icon Used: " & $splitpath[UBound($splitpath) - 1] EndFunc ;==>Aut2ExeThisFile
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now