Hi All
I want to have a dialog box that allows me to choose Directories / subdirectories and once tagged then make a sql file of the full path of each file in those directories / sub directories / Sub / Sub / Sub ect
I can recursivley get all the file names from a directory but sometimes do not want all of the sub directories of that directory.
I hope this is makes sense.
I have been trying all different methods for a while and taking code from all over this forum to try and make this work.
I want to firstly choose what Drive I want to scan but I have not seen anything that might help, so I have come to the conclusion to put a field in the Settings of the program.
The problem is really the extra levels. I can get the Root and one level working ok except it does show the directory name in the 1st level of the level I have entered. If I do not put something there then the tree option in TreeView does not appear.
One way to solve this is maybe to ready the complete drive and build all the directory tree before displaying anything. At the moment we are only reading the next level directory tree when we open it in TreeView.
If I could determine which level I was on I could then change this to get a directory of the next level
I want to have a dialog box that allows me to choose Directories / subdirectories and once tagged then make a sql file of the full path of each file in those directories / sub directories / Sub / Sub / Sub ect
I can recursivley get all the file names from a directory but sometimes do not want all of the sub directories of that directory.
I hope this is makes sense.
I have been trying all different methods for a while and taking code from all over this forum to try and make this work.
I want to firstly choose what Drive I want to scan but I have not seen anything that might help, so I have come to the conclusion to put a field in the Settings of the program.
The problem is really the extra levels. I can get the Root and one level working ok except it does show the directory name in the 1st level of the level I have entered. If I do not put something there then the tree option in TreeView does not appear.
One way to solve this is maybe to ready the complete drive and build all the directory tree before displaying anything. At the moment we are only reading the next level directory tree when we open it in TreeView.
If I could determine which level I was on I could then change this to get a directory of the next level
B4X:
FolderList("i:\" & ti.Text)
B4X:
#MainFormWidth: 800
#MainFormHeight: 600
#End Region
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private TreeView1 As TreeView
Dim folders As List
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("dirtree") 'Load the layout file.
MainForm.Show
TreeView1.SetCheckBoxesMode
FolderList("i:\")
For i = 0 To folders.Size-1
Dim ti As CheckboxTreeItem
ti.Initialize("ti", folders.Get(i))
Dim cti As CheckboxTreeItem
cti.Initialize("cti", folders.Get(i))
Dim ctp As CheckboxTreeItem
ctp.Initialize("cti", folders.Get(i))
cti.Children.Add(ctp) 'add the child of the child
ti.Children.Add(cti) 'add the child
TreeView1.Root.Children.Add(ti)
Next
End Sub
Sub FolderList(folder As String) As List
folders.Initialize
folders.Clear
For Each f As String In File.ListFiles(folder)
If File.IsDirectory(folder, f) = True Then
folders.Add(f)
Dim a As String = f
Log(a)
Else
End If
Next
Return folders
End Sub
Sub TI_ExpandedChanged(Expanded As Boolean)
If Expanded = True Then
Dim ti As CheckboxTreeItem = Sender
FolderList("i:\" & ti.Text)
Log("ti.text ="&ti.Text)
For i = 0 To folders.Size-1
Dim ti1 As CheckboxTreeItem
ti1.Initialize("ti1", folders.Get(i))
Dim cti1 As CheckboxTreeItem
cti1.Initialize("cti1",folders.Get(i))
Dim ctp1 As CheckboxTreeItem
ctp1.Initialize("cti1", folders.Get(i))
cti1.Children.Add(ctp1) 'add the child of the child
ti.Children.Add(cti1) 'add the child
TreeView1.Root.Children.Add(ti1)
Next
Else
folders.Clear
End If
End Sub
Sub TreeView1_SelectedItemChanged(SelectedItem As TreeItem)
End Sub