Sign in to follow this  
Followers 0
confucion

[HELP] GUICtrlCreateCombo Directory List

5 posts in this topic

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.

Share this post


Link to post
Share on other sites



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.

FileListToArray()

Loop through the array adding "|" to a string to the end of each file

GUICtrlSetData(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.

Share this post


Link to post
Share on other sites

Lesson #6 in Welcome to Autoit 1-2-3

; 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 files

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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 version

8)


NEWHeader1.png

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0