confucion Posted September 17, 2007 Posted September 17, 2007 How do I recreate a directory list within a GUICtrlCreateCombo? Lets say I have a folder like this: D:\Folder A\Folder B\102 D:\Folder A\Folder B\104 D:\Folder A\Folder B\105 D:\Folder A\Folder B\106 D:\Folder A\Folder B\109 I need to read the folders in Folder B and put them in a GUICtrlCreateCombo and assign the selected folder <104> to a variable for usage. Tks.
Moderators SmOke_N Posted September 17, 2007 Moderators Posted September 17, 2007 How do I recreate a directory list within a GUICtrlCreateCombo?Lets say I have a folder like this:D:\Folder A\Folder B\102D:\Folder A\Folder B\104D:\Folder A\Folder B\105D:\Folder A\Folder B\106D:\Folder A\Folder B\109I need to read the folders in Folder B and put them in a GUICtrlCreateCombo and assign the selected folder <104> to a variable for usage.Tks.FileListToArray()Loop through the array adding "|" to a string to the end of each fileGUICtrlSetData(combo, string) Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
Valuater Posted September 17, 2007 Posted September 17, 2007 Lesson #6 in Welcome to Autoit 1-2-3expandcollapse popup; includes #include <GuiConstants.au3> #include <file.au3> ; create the GUI. $win = GUICreate("File List/View Demo", 614, 370) ; set the font for the GUI GUISetFont(9, 400, -1, "MS Sans Serif") ; create buttons. $btnList = GUICtrlCreateButton("&List Files", 10, 330, 75, 25) $btnView = GUICtrlCreateButton("&View File", 85, 330, 75, 25) ; create the left list. $TutorItList = GUICtrlCreateList("", 10, 10, 150, 330) ; create the right edit. $TutorItEdit = GUICtrlCreateEdit("Please select a tutorial from the list to your left.", 175, 10, 420, 345, $ES_AUTOVSCROLL + $ES_READONLY + $ES_MULTILINE + $WS_VSCROLL) ; set the edit colors. GUICtrlSetBkColor(-1, 0xFFFFFF) GUICtrlSetColor(-1, 0x000000) ; set focus to the edit. GUICtrlSetState($TutorItList, $GUI_FOCUS) ; show the GUI. GUISetState() ; start the loop. While 1 ; listen for a message $msg = GUIGetMsg() ; using select/case for the message Select Case $msg = $GUI_EVENT_CLOSE Exit Case $msg = $btnList Set_tutor() Case $msg = $btnView View_tutor() ; end the selections EndSelect WEnd ; Function to populate the left list. Func Set_tutor() $TutList = _FileListToArray (@HomeDrive & "\", "*.txt", 1) ; list files to an array. If (Not IsArray($TutList)) Or (@error = 1) Then MsgBox(262208, "Tutor Error", "No Files\Folders Found. ", 5) Return EndIf GUICtrlSetData($TutorItList, "") ; set list to empty. For $x = 1 To $TutList[0] ; for loop to place the files in the list. GUICtrlSetData($TutorItList, (StringTrimRight($TutList[$x], 4)) & "|", 1) ; string trim the last 4 characters ( .txt ) Next EndFunc ; Function to populate the right edit. Func View_tutor() $s_text = GUICtrlRead($TutorItList) ; read the selected file to a variable. If $s_text = "" Then Return $s_text = @HomeDrive & "\" & $s_text & ".txt" ; set the location of the file. Dim $Tut_text If Not _FileReadToArray($s_text, $Tut_text) Then ; read the file to an array. MsgBox(4096, "Tutor Error", " Error reading log to Array error:" & @error) Return EndIf GUICtrlSetData($TutorItEdit, "") ; set the edit to empty. For $x = 1 To $Tut_text[0] ; for loop to place the read file into the edit. GUICtrlSetData($TutorItEdit, $Tut_text[$x] & @CRLF, 1) Next EndFunc ; Note ; file read to array, reads the file ; file list to array, lists the files8)
confucion Posted September 17, 2007 Author Posted September 17, 2007 I'm using AutoIt v3.1.1, do both of these replies still apply? I can't seem to find _FileListToArray in the Help file...
Valuater Posted September 17, 2007 Posted September 17, 2007 I'm using AutoIt v3.1.1, do both of these replies still apply? I can't seem to find _FileListToArray in the Help file...get a newer version8)
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