sak Posted March 22, 2011 Share Posted March 22, 2011 (edited) Cut program name out of layer path. You can format command to write applications with other commands. Is a command that I own and design innovation. Where mistakes help with expandcollapse popup#include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) Global $hForm, $name_Inp, $sel_Btn, $run_Btn Global $sFile = @ProgramFilesDir & '\AutoIt3\Aut2Exe\Icons\SETUP09.ICO' Global $nMsg, $tablefiles, $pathsplit, $program Global $titledlg = 'Choose a program' Global $optdlg = 'All files (*.*)' Global $pathsplit, $strsplit[1], $strsplit[2], $strsplit[3], $strsplit[4] Global $strsplit[5], $strsplit[6], $strsplit[7], $strsplit[8], $strsplit[9] $hForm = GUICreate("File Path Split Switches Sample", 355, 140, -1, -1) GUICtrlCreateLabel("Program name", 105, 16, 72, 17) $name_Inp = GUICtrlCreateInput("", 32, 32, 209, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) $sel_Btn = GUICtrlCreateButton("Browse", 248, 31, 75, 23, $WS_GROUP) $run_Btn = GUICtrlCreateButton("Open", 136, 100, 75, 25, $WS_GROUP) GUICtrlSetCursor(-1, 0) GUICtrlSetState(-1, $GUI_DISABLE) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $sel_Btn $tablefiles = FileOpenDialog($titledlg, @DesktopDir & "/", $optdlg, 1 + 4, "", $hForm) If Not @error Then $pathsplit = StringSplit($tablefiles, '\') If StringInStr($pathsplit[1], '.') Then $program = $pathsplit[1] ElseIf StringInStr($pathsplit[2], '.') Then $program = $pathsplit[2] ElseIf StringInStr($pathsplit[3], '.') Then $program = $pathsplit[3] ElseIf StringInStr($pathsplit[4], '.') Then $program = $pathsplit[4] ElseIf StringInStr($pathsplit[5], '.') Then ;pathsplit switches $program = $pathsplit[5] ElseIf StringInStr($pathsplit[6], '.') Then $program = $pathsplit[6] ElseIf StringInStr($pathsplit[7], '.') Then $program = $pathsplit[7] ElseIf StringInStr($pathsplit[8], '.') Then $program = $pathsplit[8] ElseIf StringInStr($pathsplit[9], '.') Then $program = $pathsplit[9] EndIf GUICtrlSetData($name_Inp, $program) GUICtrlSetState($run_Btn, $GUI_ENABLE) EndIf Case $run_Btn ShellExecute($program, "", "", "open") EndSwitch WEnd Edited March 22, 2011 by sak Link to comment Share on other sites More sharing options...
JohnOne Posted March 22, 2011 Share Posted March 22, 2011 I havent looked at what your script does. You dont need to declare every element of an array Global $pathsplit, $strsplit[1], $strsplit[2], $strsplit[3], $strsplit[4] Global $strsplit[5], $strsplit[6], $strsplit[7], $strsplit[8], $strsplit[9] This will do $strsplit[9] AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Mallie99 Posted March 22, 2011 Share Posted March 22, 2011 (edited) Have a look at String Split... It will create an array with all "Splits" in it.For example:$sString = "This is a bit of text" ; Some text with spaces $aArray = StringSplit($sString, " ") ; Split the text into an array containing every word, split by the "Space" characterYou will get the following:$aArray[0] = 6 ; The number of things it's split up into $aArray[1] = "This"$aArray[2] = "is"$aArray[3] = "a"$aArray[4] = "bit"$aArray[5] = "of"$aArray[6] = "text"MalEDIT: Sorry, you've already used StringSplit. Your code is a bit wild.What exactly are you asking?? Edited March 22, 2011 by Mallie99 Are you telling me something I need to know or something I want to know? Link to comment Share on other sites More sharing options...
Mallie99 Posted March 22, 2011 Share Posted March 22, 2011 If all you are trying to do is get the name from a path, you have 2 options: expandcollapse popup#include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) Global $hForm, $name_Inp, $sel_Btn, $run_Btn Global $sFile = @ProgramFilesDir & '\AutoIt3\Aut2Exe\Icons\SETUP09.ICO' Global $nMsg, $tablefiles, $pathsplit, $program Global $titledlg = 'Choose a program' Global $optdlg = 'All files (*.*)' Global $pathsplit, $strsplit[8] $hForm = GUICreate("File Path Split Switches Sample", 355, 140, -1, -1) GUICtrlCreateLabel("Program name", 105, 16, 72, 17) $name_Inp = GUICtrlCreateInput("", 32, 32, 209, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) $sel_Btn = GUICtrlCreateButton("Browse", 248, 31, 75, 23, $WS_GROUP) $run_Btn = GUICtrlCreateButton("Open", 136, 100, 75, 25, $WS_GROUP) GUICtrlSetCursor(-1, 0) GUICtrlSetState(-1, $GUI_DISABLE) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $sel_Btn $tablefiles = FileOpenDialog($titledlg, @DesktopDir & "/", $optdlg, 1 + 4, "", $hForm) If Not @error Then $pathsplit = StringSplit($tablefiles, '\') For $i = 1 to UBound($pathsplit) - 1 If StringInstr($pathsplit[$i], '.') Then $program = $pathsplit[$i] EndIf Next GUICtrlSetData($name_Inp, $program) GUICtrlSetState($run_Btn, $GUI_ENABLE) EndIf Case $run_Btn ShellExecute($program, "", "", "open") EndSwitch WEnd - or - expandcollapse popup#include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) Global $hForm, $name_Inp, $sel_Btn, $run_Btn Global $sFile = @ProgramFilesDir & '\AutoIt3\Aut2Exe\Icons\SETUP09.ICO' Global $nMsg, $tablefiles, $pathsplit, $program Global $titledlg = 'Choose a program' Global $optdlg = 'All files (*.*)' Global $pathsplit, $strsplit[8] $hForm = GUICreate("File Path Split Switches Sample", 355, 140, -1, -1) GUICtrlCreateLabel("Program name", 105, 16, 72, 17) $name_Inp = GUICtrlCreateInput("", 32, 32, 209, 21, BitOR($ES_CENTER,$ES_AUTOHSCROLL)) $sel_Btn = GUICtrlCreateButton("Browse", 248, 31, 75, 23, $WS_GROUP) $run_Btn = GUICtrlCreateButton("Open", 136, 100, 75, 25, $WS_GROUP) GUICtrlSetCursor(-1, 0) GUICtrlSetState(-1, $GUI_DISABLE) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $sel_Btn $tablefiles = FileOpenDialog($titledlg, @DesktopDir & "/", $optdlg, 1 + 4, "", $hForm) If Not @error Then $pathsplit = StringSplit($tablefiles, '\') GUICtrlSetData($name_Inp, $pathsplit[$pathsplit[0]]) GUICtrlSetState($run_Btn, $GUI_ENABLE) EndIf Case $run_Btn ShellExecute($program, "", "", "open") EndSwitch WEnd Are you telling me something I need to know or something I want to know? Link to comment Share on other sites More sharing options...
UEZ Posted March 22, 2011 Share Posted March 22, 2011 Check out _PathSplit() function in File.au3 Br,UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
sak Posted March 22, 2011 Author Share Posted March 22, 2011 Mallie99 Thank you very much Your best really. I have worn it to increase knowledge. If not disturbing. Ask that you help write this statement for me. Command to import the file in the ListBox. Double-file and select the item to open. This command I can not write. Link to comment Share on other sites More sharing options...
JohnOne Posted March 22, 2011 Share Posted March 22, 2011 Use the support forum. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
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