Visual Basic .Net Form - MainForm.vb, Text Codes
 
 
 

       
      Return

 MainForm.vb
Module1.vb

    

 The codes  ..
   
1. MainForm.vb
 
Imports Microsoft.VisualBasic

Imports System.IO

Public Class MainForm

Inherits System.Windows.Forms.Form

' Variables

Dim vtime As New System.DateTime ' system Date & time

Dim vare As TreeViewEventArgs ' Variable TreeView Event Args

Dim PrevNode As TreeNode ' TreeView, Previous node open (selected)

Dim fso As Object ' Varible, Name of FileSystemObject

Dim fold As Object ' Varible, Folder Name of FileSystemObject

Dim d As DirectoryInfo

Dim All_Folder_Flag As Boolean = False ' Folder Flag is Boolean

Dim Copy_Flag As Boolean ' Copy Operation, Boolean type

Dim Message_Flg As Boolean

Dim mbMoving As Boolean ' Variable, Boolean type

Dim ToolBar_Flg As Boolean

Dim Treeview_Flg As Boolean

Dim StatusBar_Flg As Boolean

Dim item_select As Boolean

Dim CInitFolder As String

Dim AFolderName() As String ' Array, Name of Folders - Name

Dim AFileName() As String ' Array, Name of Files - Name

Dim VDirectory As String

Dim Tree_Folder As String

Dim Item_Selected_type As String

Dim V_Location As String

Dim Paste_FolderName As String

Dim DirSize As Long

Dim movetree As Integer ' Integer Variable (TreeView & ListView

Dim MnuVIndex As Integer ' Listview, Index of View

Dim VListView_select As Integer ' Listview, index of the item selected

Dim Count1 As Integer, Count2 As Integer

Dim i As Integer, j As Integer, k As Integer
 

Windows Form Designer generated code

Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

' File System Object (FSO)

fso = CreateObject("Scripting.FileSystemObject")

' Resize

Me.ToolBarmain.Width = Me.Width

Me.ToolBar1.Left = 2 * 8 + Me.PanelFolder.Width

Me.ToolBar3.Left = 3 * Me.ToolBarmain.Width / 4

Me.ToolBar2.Left = (Me.ToolBar1.Left + Me.ToolBar1.Width) + ((Me.ToolBar3.Left - (Me.ToolBar1.Left + Me.ToolBar1.Width)) - ToolBar2.Width) / 2

Ltime.Left = (Me.ToolBar1.Left - Ltime.Width) / 2

Ltime.Top = (Me.ToolBarmain.Height - Ltime.Height) / 2

' COntrols Sizes

ToolBar_Flg = True

Treeview_Flg = True

StatusBar_Flg = True

modify_size()

' TreeView & ListView, Load data

LoadData()

' StatusBar Panel 1, Message ...

Me.StatusBarPanel1.Text = "Hello ..."

MnuVIndex = 3

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub modify_size()

Dim VToolBarmain_Height As Integer

Dim VTreeView1_Width As Integer

Dim VStatusBar1_Height As Integer

If ToolBar_Flg Then

VToolBarmain_Height = Me.ToolBarmain.Height

Me.ToolBarmain.Visible = True

Me.mnuViewToolbar.Checked = True

Else

VToolBarmain_Height = 0

Me.ToolBarmain.Visible = False

Me.mnuViewToolbar.Checked = False

End If

If StatusBar_Flg Then

VStatusBar1_Height = Me.StatusBar1.Height

Me.StatusBar1.Visible = True

Me.mnuViewStatusBar.Checked = True

Else

VStatusBar1_Height = 0

Me.StatusBar1.Visible = False

Me.mnuViewStatusBar.Checked = False

End If

If Treeview_Flg Then

Me.ToolBarButton11.ImageIndex = 0

VTreeView1_Width = Me.Width / 4

Me.TreeView1.Visible = True

Me.PanelFolder.Visible = True

mnuallfolder.Enabled = False

Else

Me.ToolBarButton11.ImageIndex = 5

VTreeView1_Width = 0

Me.TreeView1.Visible = False

Me.PanelFolder.Visible = False

mnuallfolder.Enabled = True

End If

 

Me.PanelAddress.Top = +VToolBarmain_Height + 5

Me.PanelAddress.Left = 8

Me.PanelAddress.Height = Me.TxtAddress.Height

Me.PanelAddress.Width = Me.Width - 16

Me.Laddress.Left = 8

Me.Laddress.Top = Me.PanelAddress.Height - Me.Laddress.Height

Me.TxtAddress.Left = 3 * Me.Laddress.Left + Me.Laddress.Width

Me.TxtAddress.Top = 0

Me.TxtAddress.Width = Me.PanelAddress.Width - (Me.TxtAddress.Left + 8)

imgSplitter.Left = 0

imgSplitter.Top = Me.PanelAddress.Top + Me.PanelAddress.Height + 5

imgSplitter.Width = Me.Width

imgSplitter.Height = Me.Height - (Me.PanelAddress.Top + Me.PanelAddress.Height + 5)

''''''''''''''''' Automatically resize '''''''''''''

' TreeView, Height

Dim HTree As Integer = (Me.Height - ((Me.PanelAddress.Top + Me.PanelAddress.Height + 5) + 8 + Me.PanelFolder.Height + 5 + VStatusBar1_Height))

' TreeView, Number of rows - 2

Dim NRTree As Integer = (Int(HTree / Me.TreeView1.ItemHeight)) - 1

' Variable

Dim VarTop As Integer = Me.TreeView1.ItemHeight / 2

'''''''''''''''''''''''''''''''''''''''''''''''''''''

Me.PanelFolder.Left = 8

Me.PanelFolder.Top = Me.imgSplitter.Top + 5

Me.PanelFolder.Height = Me.btnClose_Tree.Height

Me.PanelFolder.Width = Me.Width / 4

Me.LFolder.Left = 4

Me.LFolder.Top = Me.PanelFolder.Height - Me.LFolder.Height

Me.btnClose_Tree.Left = Me.PanelFolder.Width - (Me.btnClose_Tree.Width + 4)

Me.btnClose_Tree.Top = (Me.PanelFolder.Height - Me.btnClose_Tree.Height) / 2

Me.TreeView1.Left = Me.PanelFolder.Left

Me.TreeView1.Top = Me.PanelFolder.Top + Me.PanelFolder.Height + 5

Me.TreeView1.Height = (NRTree * Me.TreeView1.ItemHeight) - 8

Me.TreeView1.Width = VTreeView1_Width

picSplitter.Top = Me.PanelFolder.Top

picSplitter.Left = Me.TreeView1.Left + Me.TreeView1.Width + 2

Me.ListView1.Top = Me.PanelFolder.Top

Me.ListView1.Left = Me.TreeView1.Left + Me.TreeView1.Width + Me.picSplitter.Width

Me.ListView1.Height = Me.TreeView1.Height + (Me.TreeView1.Top - Me.PanelFolder.Top)

Me.ListView1.Width = Me.Width - (Me.ListView1.Left + 8)

picSplitter.Height = Me.ListView1.Height

Me.StatusBar1.Width = Me.Width

Me.StatusBar1.Top = Me.TreeView1.Top + Me.TreeView1.Height + VarTop

' ListView,Header

listHeader()

ListView1.Refresh()

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

' Current Date ...

Me.StatusBarPanel3.Text = vtime.Now.ToShortDateString

' Current Time ...

Ltime.Text = vtime.Now.ToLongTimeString.ToString

Me.StatusBarPanel4.Text = vtime.Now.ToLongTimeString.ToString

End Sub

' Initial Load

Private Sub LoadData()

Dim dr As New Object

Dim rootNode As TreeNode

Dim childNode As TreeNode

Dim childNode1 As TreeNode

Dim Flg_FiretRootNode As Boolean = True

Dim FirstRootNode As String

' Clear TreeView & Listview

TreeView1.Nodes.Clear()

ListView1.Items.Clear()

 

For i = 0 To Drive1.Items.Count - 1

' Root Nodes

dr = fso.GetDrive(Microsoft.VisualBasic.Left(Drive1.Items(i), 1))

If fso.DriveExists(Microsoft.VisualBasic.Left(Drive1.Items(i), 1)) Then

' drives ready

If dr.Isready Then

' Root nodes

rootNode = New TreeNode(Microsoft.VisualBasic.Left(Drive1.Items(i), 1) & ":") ' Drive1.Items(i))

Select Case dr.DriveType

Case 0

' UNKWON_DRIVE

rootNode.ImageIndex = 6

rootNode.SelectedImageIndex = 6

Case 2

' FLOPPY35

rootNode.ImageIndex = 3

rootNode.SelectedImageIndex = 3

Case 1

' HDDRIVE

rootNode.ImageIndex = 4

rootNode.SelectedImageIndex = 4

Case 3

' NETWORK

rootNode.ImageIndex = 5

rootNode.SelectedImageIndex = 5

Case 4

' CDDRIVE

rootNode.ImageIndex = 2

rootNode.SelectedImageIndex = 2

Case 5

' Unkown_Divers

rootNode.ImageIndex = 6

rootNode.SelectedImageIndex = 6

End Select

' Root nodes

rootNode.Tag = Drive1.Items(i)

TreeView1.Nodes.Add(rootNode)

' First Boot Node

If Flg_FiretRootNode Then

FirstRootNode = Drive1.Items(i)

Flg_FiretRootNode = False

End If

' 1st child Nodes

Dir1.Path = UCase(Microsoft.VisualBasic.Left(Drive1.Items(i), 1)) & ":\"

If Dir1.DirListCount > 0 Then

For j = 0 To Dir1.DirListCount - 1

If UCase(Microsoft.VisualBasic.Left(Dir1.DirList(j), 1)) = UCase(Microsoft.VisualBasic.Left(Drive1.Items(i), 1)) Then

childNode = New TreeNode(Microsoft.VisualBasic.Right(Dir1.DirList(j), Len(Dir1.DirList(j)) - 3), 0, 1)

childNode.Tag = Dir1.DirList(j)

' child Nodes

rootNode.Nodes.Add(childNode)

' 'Expand root nodes (1st ready drivers)

If UCase(Microsoft.VisualBasic.Left(Dir1.DirList(j), 1)) = UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) Then

rootNode.Expand()

End If

' 2nd child Nodes

Dir2.Path = Dir1.DirList(j)

If Dir2.DirListCount > 0 Then

For k = 0 To Dir2.DirListCount - 1

If Microsoft.VisualBasic.Left(Dir2.DirList(k), Len(Dir1.DirList(j))) = Dir1.DirList(j) Then

childNode1 = New TreeNode(Microsoft.VisualBasic.Right(Dir2.DirList(k), (Len(Dir2.DirList(k)) - (Len(Dir1.DirList(j)) + 1))), 0, 1)

childNode1.Tag = Dir2.DirList(k)

' child Nodes

childNode.Nodes.Add(childNode1)

End If

Next k

End If

End If

Next j

End If

Else

' drives not ready

' Root nodes

rootNode = New TreeNode(Microsoft.VisualBasic.Left(Drive1.Items(i), 1) & ":") ' Drive1.Items(i))

Select Case dr.DriveType

Case 0

' UNKWON_DRIVE

rootNode.ImageIndex = 6

rootNode.SelectedImageIndex = 6

Case 2

' FLOPPY35

rootNode.ImageIndex = 3

rootNode.SelectedImageIndex = 3

Case 1

' HDDRIVE

rootNode.ImageIndex = 4

rootNode.SelectedImageIndex = 4

Case 3

' NETWORK

rootNode.ImageIndex = 5

rootNode.SelectedImageIndex = 5

Case 4

' CDDRIVE

rootNode.ImageIndex = 2

rootNode.SelectedImageIndex = 2

Case 5

' Unkown_Divers

rootNode.ImageIndex = 6

rootNode.SelectedImageIndex = 6

End Select

rootNode.Tag = UCase(Microsoft.VisualBasic.Left(Drive1.Items(i), 1) & ":") ' Drive1.Items(i)

TreeView1.Nodes.Add(rootNode)

End If

End If

Next i

''''''''''''''''''' Listview, Add items

' Folder

Dir1.Path = UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":\"

VDirectory = UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":"

Me.TxtAddress.Text = UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":"

' Folder Size

d = New DirectoryInfo(Me.TxtAddress.Text)

DirectorySize(d)

If Dir1.DirListCount > 0 Then

For j = 0 To Dir1.DirListCount - 1

ListView_Sub(Dir1.DirList(j), "", 0)

Next j

End If

' Files

File1.Path = UCase(Microsoft.VisualBasic.Left(FirstRootNode, 1)) & ":\"

If File1.Items.Count > 0 Then

For j = 0 To File1.Items.Count - 1

' Add Files

ListView_Sub(File1.Items(j), File1.Path, 1)

Next j

End If

End Sub

' Listview, Header

Private Sub listHeader()

Dim ColWith As Integer

ListView1.Columns.Clear()

ColWith = (Me.ListView1.Width / 4) - 6

' Column Header

ListView1.Columns.Add("Name", ColWith, HorizontalAlignment.Center)

ListView1.Columns.Add("Size", ColWith, HorizontalAlignment.Left)

ListView1.Columns.Add("Type", ColWith, HorizontalAlignment.Left)

ListView1.Columns.Add("Date Modified", ColWith, HorizontalAlignment.Left)

End Sub

' Listview, Add Item

' Folder type:

' + ListItem = Full Folder Name (ex: c:\New Folder\obj)

' + ParentName = " "

' + ImagIndex = 0

' File type:

' + ListItem = File Name (ex: Autoexec.bat

' + ParentName = Full Folder Name corresponding (ex: c:\New Folder)

' + ImagIndex = 1

Private Sub ListView_Sub(ByVal ListItem As String, ByVal ParentName As String, ByVal ImagIndex As Integer)

Dim f As Object

Dim item1 As ListViewItem

On Error Resume Next

' Folder type

If ImagIndex = 0 Then

' Create item and four sets of subitems.

' Name & picture

item1 = New ListViewItem(Microsoft.VisualBasic.Right(ListItem, (Len(ListItem) - (Len(TxtAddress.Text) + 1))), 0)

' Text

item1.SubItems.Add(" ")

' Size '''''''''''''''''''''''''

' Type

If GetAttr(ListItem) = 16 Then

item1.SubItems.Add("File Folder")

Else

item1.SubItems.Add("File Folder")

End If

' Date Modified

item1.SubItems.Add(Directory.GetLastWriteTime(ListItem))

'Add the items to the ListView.

ListView1.Items.AddRange(New ListViewItem() {item1})

' File Type

ElseIf ImagIndex = 1 Then

f = fso.GetFile(ParentName & "\" & ListItem)

' Create item and four sets of subitems.

' Name & picture

item1.Tag = ParentName & "\" & ListItem

item1 = New ListViewItem(ListItem, 1)

' Size

item1.SubItems.Add(FileLen(ParentName & "\" & ListItem) & " Bytes")

' Type

item1.SubItems.Add(f.Type)

' Date Modifed

item1.SubItems.Add(File.GetLastWriteTime(ParentName & "\" & ListItem))

'Add the items to the ListView.

ListView1.Items.AddRange(New ListViewItem() {item1})

End If

End Sub

Private Sub mnuallfolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuallfolder.Click

' COntrols Sizes

Treeview_Flg = Not Treeview_Flg

modify_size()

End Sub

Private Sub btnClose_Tree_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose_Tree.Click

' COntrols Sizes

Treeview_Flg = Not Treeview_Flg

modify_size()

End Sub

Private Sub imgSplitter_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles imgSplitter.MouseDown

picSplitter.Visible = True

mbMoving = True

End Sub

Private Sub imgSplitter_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles imgSplitter.MouseMove

movetree = e.X

If mbMoving Then

Me.picSplitter.Left = movetree

End If

End Sub

Private Sub imgSplitter_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles imgSplitter.MouseUp

picSplitter.Visible = False

mbMoving = False

SizeControls(movetree)

End Sub

' Resise

Private Sub SizeControls(ByVal XPosition As Integer)

On Error Resume Next

If XPosition <= (Me.btnClose_Tree.Width + 4) Then

XPosition = (Me.btnClose_Tree.Width + 4)

End If

If XPosition <= Me.LFolder.Width Then

Me.LFolder.Visible = False

Else

Me.LFolder.Visible = True

End If

Me.PanelFolder.Width = XPosition

Me.PanelFolder.Left = 8

Me.TreeView1.Width = Me.PanelFolder.Width

Me.TreeView1.Left = Me.PanelFolder.Left

Me.ListView1.Left = Me.TreeView1.Left + Me.TreeView1.Width + Me.picSplitter.Width + 5

Me.ListView1.Width = Me.Width - (Me.ListView1.Left + 8)

Me.btnClose_Tree.Left = Me.PanelFolder.Width - (Me.btnClose_Tree.Width + 4)

Me.picSplitter.Left = Me.TreeView1.Left + Me.TreeView1.Width + 2

' Header Column

listHeader()

End Sub

Private Sub mnuCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCopy.Click

' Copy Operation

Copy_Function()

End Sub

Private Sub mnuPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuPaste.Click

' Paste Operation

Paste_Function()

End Sub

Private Sub mnuDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuDelete.Click

' Delete operation

Delete_Sub()

End Sub

Private Sub mnuProperties_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuProperties.Click

' Properties information

Properties_info()

End Sub

' Properties information

Private Sub Properties_info()

' TreeView, drive properties

If Item_Selected_type = "TreeItem_Drive" Then

Properties_Tree_Drive_Sub()

' TreeView, Folder properties

ElseIf Item_Selected_type = "TreeItem_Folder" Then

Properties_Tree_Folder_Sub()

' ListView, Folder & File properties

ElseIf Item_Selected_type = "ListItem" Then

Properties_List_Sub()

End If

properties_flg(False)

End Sub

Private Sub properties_flg(ByVal bval As Boolean)

Me.ToolBarButton21.Enabled = bval

Me.mnupopproperties.Enabled = bval

Me.mnuProperties.Enabled = bval

End Sub

Private Sub mnuClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuClose.Click

Application.Exit()

End Sub

Private Sub mnuViewStatusBar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuViewStatusBar.Click

StatusBar_Flg = Not StatusBar_Flg

modify_size()

End Sub

Private Sub mnuViewToolbar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuViewToolbar.Click

' COntrols Sizes

ToolBar_Flg = Not ToolBar_Flg

modify_size()

End Sub

Private Sub mnuListViewMode_0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuListViewMode_0.Click

MnuVIndex = 0

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub mnuListViewMode_1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuListViewMode_1.Click

MnuVIndex = 1

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub mnuListViewMode_2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuListViewMode_2.Click

MnuVIndex = 2

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub mnuListViewMode_3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuListViewMode_3.Click

MnuVIndex = 3

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub ListViewMode_Sub(ByVal VIndex As Integer)

Select Case VIndex

Case 0

ListView1.View = View.LargeIcon

mnuListViewMode_0.Checked = True

mnuListViewMode_1.Checked = False

mnuListViewMode_2.Checked = False

mnuListViewMode_3.Checked = False

Me.ViewLargeIcon.Checked = True

Me.ViewSmallIcon.Checked = False

Me.ViewList.Checked = False

Me.ViewDetails.Checked = False

Case 1

ListView1.View = View.SmallIcon

mnuListViewMode_0.Checked = False

mnuListViewMode_1.Checked = True

mnuListViewMode_2.Checked = False

mnuListViewMode_3.Checked = False

Me.ViewLargeIcon.Checked = False

Me.ViewSmallIcon.Checked = True

Me.ViewList.Checked = False

Me.ViewDetails.Checked = False

Case 2

ListView1.View = View.List

mnuListViewMode_0.Checked = False

mnuListViewMode_1.Checked = False

mnuListViewMode_2.Checked = True

mnuListViewMode_3.Checked = False

Me.ViewLargeIcon.Checked = False

Me.ViewSmallIcon.Checked = False

Me.ViewList.Checked = True

Me.ViewDetails.Checked = False

Case 3

ListView1.View = View.Details

mnuListViewMode_0.Checked = False

mnuListViewMode_1.Checked = False

mnuListViewMode_2.Checked = False

mnuListViewMode_3.Checked = True

Me.ViewLargeIcon.Checked = False

Me.ViewSmallIcon.Checked = False

Me.ViewList.Checked = False

Me.ViewDetails.Checked = True

End Select

End Sub

Private Sub mnuAboutThis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAboutThis.Click

Dim f As New About

f.Show()

End Sub

Private Sub ToolBar1_ButtonClick_1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick

Select Case ToolBar1.Buttons.IndexOf(e.Button)

Case 0

' Folders Tree

' COntrols Sizes

Treeview_Flg = Not Treeview_Flg

modify_size()

Case 2

' Copy Operation

Copy_Function()

Case 4

' Paste Operation

Paste_Function()

Case 6

' Delete operation

Delete_Sub()

End Select

End Sub

Private Sub ToolBar2_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar2.ButtonClick

Select Case ToolBar2.Buttons.IndexOf(e.Button)

Case 0

' Properties information

Properties_info()

End Select

End Sub

' Drive Properties

Private Sub Properties_Tree_Drive_Sub()

Dim dr As Object ' Drive

Dim Drive_Type As String ' Type of drive

On Error Resume Next

'Drive Exist

If fso.DriveExists(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text, 1)) = True Then

dr = fso.GetDrive(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text, 2))

If dr.Isready Then ' This drive is ready

fDrive_Properities.Text = " " & UCase(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text, 1)) & ": Drive, Properties"

fDrive_Properities.LLabel.Text = dr.VolumeName

Select Case dr.DriveType

Case 0

Drive_Type = "Unknown"

fDrive_Properities.Ldrive.ImageIndex = 4 ' Unkown Diver

Case 1

Drive_Type = "Removable"

fDrive_Properities.Ldrive.ImageIndex = 2 ' 35floppy

Case 2

Drive_Type = "Fixed Disk"

fDrive_Properities.Ldrive.ImageIndex = 0 ' HDDrive

Case 3

Drive_Type = "Network"

fDrive_Properities.Ldrive.ImageIndex = 3 ' Network

Case 4

Drive_Type = "CD-ROM"

fDrive_Properities.Ldrive.ImageIndex = 1 ' Cddrive

Case 5

Drive_Type = "RAM Disk"

fDrive_Properities.Ldrive.ImageIndex = 4 ' Unkown Diver

End Select

fDrive_Properities.LType.Text = Drive_Type ' Drive Type

fDrive_Properities.LFileSystem.Text = dr.FileSystem ' File Sytem Type

' Space ..

fDrive_Properities.LUsed1.Text = (dr.TotalSize - dr.FreeSpace) & " bytes"

fDrive_Properities.LUsed2.Text = FormatNumber((dr.TotalSize - dr.FreeSpace) / 1024, 0) & " Kbytes"

fDrive_Properities.LFree1.Text = dr.FreeSpace & " bytes"

fDrive_Properities.LFree2.Text = FormatNumber(dr.FreeSpace / 1024, 0) & " Kbytes"

fDrive_Properities.LCapacity1.Text = dr.TotalSize & " bytes"

fDrive_Properities.LCapacity2.Text = FormatNumber(dr.TotalSize / 1024, 0) & " Kbytes"

fDrive_Properities.ShowDialog() ' Drive_Properties_Form

Else

' drive Not Ready

fNot_Ready_Form.Text = UCase(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text, 1)) & ": drive, no properties."

fNot_Ready_Form.LMessage1.Text = "This device " & UCase(Microsoft.VisualBasic.Left(TreeView1.SelectedNode.Text, 1)) & ": is not ready ."

fNot_Ready_Form.LMessage2.Text = "no properties values ..."

fNot_Ready_Form.ShowDialog() ' Not_Ready_Form

End If

End If

End Sub

' Folder properties (TreeView node Folder)

Private Sub Properties_Tree_Folder_Sub()

Dim v_Location As String

Dim vlen As Integer = 0

' Folder ...

fold = fso.GetFolder(Tree_Folder)

' Form Text

fFolder_File_Properties.Text = " " & Tree_Folder & " Properties"

' Folder picture

fFolder_File_Properties.LFolder.ImageIndex = 0

' Calcul ...

v_Location = Tree_Folder

For i = 0 To Len(Tree_Folder) - 1

If Microsoft.VisualBasic.Right(v_Location, 1) = "\" Then

Exit For

Else

vlen = i + 1

v_Location = Microsoft.VisualBasic.Left(v_Location, (Len(v_Location) - 1))

End If

Next

'Folder Name

fFolder_File_Properties.LName.Text = Microsoft.VisualBasic.Right(Tree_Folder, vlen)

' Short Location name

v_Location = Microsoft.VisualBasic.Left(v_Location, (Len(v_Location) - 1))

' Short Location name

Location_view(v_Location)

' Other information

Properties_Tree_List_Folder()

fFolder_File_Properties.ShowDialog() ' Folder/File, Properties Form

End Sub

' Short Location name

Private Sub Location_view(ByVal VLocation As String)

Dim VFName As String

Dim VLocation_left As String, VLocation_Right As String

Dim vlen As Integer = 0

If Len(VLocation) <= 32 Then

fFolder_File_Properties.LLocation.Text = VLocation

Else

' Left part

VFName = VLocation

vlen = 0

For i = 0 To Len(VLocation) - 1

If Microsoft.VisualBasic.Left(VFName, 1) = "\" And vlen > 2 Then

vlen = vlen + 1

Exit For

Else

vlen = i + 1

VFName = Microsoft.VisualBasic.Right(VFName, (Len(VFName) - 1))

End If

Next

VLocation_left = Microsoft.VisualBasic.Left(VLocation, vlen)

' Right part

VFName = VLocation

For i = 0 To Len(VLocation) - 1

If Microsoft.VisualBasic.Right(VFName, 1) = "\" Then

vlen = vlen + 1

Exit For

Else

vlen = i + 1

VFName = Microsoft.VisualBasic.Left(VFName, (Len(VFName) - 1))

End If

Next

VLocation_Right = Microsoft.VisualBasic.Right(VLocation, vlen)

If Len(VLocation_left & "..." & VLocation_Right) > 32 Then

VLocation_left = Microsoft.VisualBasic.Left(VLocation, 3)

End If

' Location

fFolder_File_Properties.LLocation.Text = VLocation_left & "..." & VLocation_Right

End If

End Sub

' Other information

Private Sub Properties_Tree_List_Folder()

' Folder Type

fFolder_File_Properties.LType.Text = fold.Type

' Size

fFolder_File_Properties.Lsize.Text = fold.Size & " Bytes"

' Short Name

fFolder_File_Properties.LShortName.Text = fold.ShortName

On Error GoTo PError0

fFolder_File_Properties.LDateCreated.Text = fold.DateCreated

Exit Sub

PError0:

fFolder_File_Properties.LDateCreated.Text = "(Unkonwon)"

Exit Sub

End Sub

' ListView, Folder & File properties

Private Sub Properties_List_Sub()

Dim f As Object

Dim VFileName As String

On Error Resume Next

V_Location = Me.TxtAddress.Text

' Folder

If ListView1.SelectedItems.Item(0).ImageIndex = 0 Then

' Folder

fold = fso.GetFolder(V_Location & "\" & ListView1.SelectedItems(0).Text)

' Form Text

fFolder_File_Properties.Text = " " & ListView1.SelectedItems(0).Text & " Properties"

' image

fFolder_File_Properties.LFolder.ImageIndex = 0

' Folder name

fFolder_File_Properties.LName.Text = ListView1.SelectedItems(0).Text

' Short Location name

Location_view(V_Location)

' Other information

Properties_Tree_List_Folder() ' Sub Procedure

' File

ElseIf ListView1.SelectedItems.Item(0).ImageIndex = 1 Then

' File

f = fso.GetFile(V_Location & "\" & ListView1.SelectedItems(0).Text)

' Form text

fFolder_File_Properties.Text = " " & ListView1.SelectedItems(0).Text & " Properties"

' image

fFolder_File_Properties.LFolder.ImageIndex = 1

' File name

fFolder_File_Properties.LName.Text = ListView1.SelectedItems(0).Text

' File Type

fFolder_File_Properties.LType.Text = f.Type

' Short Location name

Location_view(V_Location)

' Size

fFolder_File_Properties.Lsize.Text = f.Size & " bytes"

' Short name

fFolder_File_Properties.LShortName.Text = f.ShortName

' File Date

fFolder_File_Properties.LDateCreated.Text = f.DateCreated

End If

' Folder/File Properties Form

fFolder_File_Properties.ShowDialog()

End Sub

' ListView, View Mode

Private Sub ToolBar3_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar3.ButtonClick

Select Case ToolBar3.Buttons.IndexOf(e.Button)

' ListView, View Mode

Case 0

Select Case MnuVIndex

' Large Icons

Case 0

MnuVIndex = MnuVIndex + 1

' Small Icons

Case 1

MnuVIndex = MnuVIndex + 1

' List

Case 2

MnuVIndex = MnuVIndex + 1

' Details

Case 3

MnuVIndex = 0

End Select

ListViewMode_Sub(MnuVIndex)

' About

Case 2

Dim f As New About

f.Show()

' Exit

Case 4

Application.Exit()

End Select

End Sub

' ListView, View Mode

Private Sub ViewLargeIcon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewLargeIcon.Click

MnuVIndex = 0

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub ViewSmallIcon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewSmallIcon.Click

MnuVIndex = 1

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub ViewList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewList.Click

MnuVIndex = 2

ListViewMode_Sub(MnuVIndex)

End Sub

Private Sub ViewDetails_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewDetails.Click

MnuVIndex = 3

ListViewMode_Sub(MnuVIndex)

End Sub

' Pop Menu Items

Private Sub mnupopcopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnupopcopy.Click

' Copy Operation

Copy_Function()

End Sub

Private Sub mnupoppaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnupoppaste.Click

' Paste Operation

Paste_Function()

End Sub

Private Sub mnupopdelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnupopdelete.Click

' Delete operation

Delete_Sub()

End Sub

Private Sub mnupopproperties_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnupopproperties.Click

' Properties information

Properties_info()

End Sub

Private Sub mnupopabout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnupopabout.Click

Dim f As New About

f.ShowDialog()

End Sub

Private Sub TreeView1_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand

vare = e

End Sub

Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

Dim drv As Object

Dim childNode As TreeNode

Dim NewNodeFlag As Boolean = True

On Error Resume Next

' StatusBar

Me.StatusBarPanel1.Text = "Node selected - " & e.Node.Text

' Copy, Paste and delete is disabled

Me.ToolBarButton13.Enabled = False

Me.mnuCopy.Enabled = False

Me.mnupopcopy.Enabled = False

If Copy_Flag = True Then

Me.ToolBarButton15.Enabled = True

Me.mnuPaste.Enabled = True

Me.mnupoppaste.Enabled = True

Else

Me.ToolBarButton15.Enabled = False

Me.mnuPaste.Enabled = False

Me.mnupoppaste.Enabled = False

End If

Me.ToolBarButton17.Enabled = False

Me.mnuDelete.Enabled = False

Me.mnupopdelete.Enabled = False

' TreeView, Previous node open (selected)

If PrevNode.ImageIndex = 1 Then PrevNode.ImageIndex = 0

If PrevNode.Parent.ImageIndex = 1 Then PrevNode.Parent.ImageIndex = 0

 

Select Case e.Node.ImageIndex

' Folder Type

Case 0

If e.Node.IsExpanded Then e.Node.Collapse()

' ListView1.Items.Clear()

' TxtAddress

VDirectory = UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) & Microsoft.VisualBasic.Right(e.Node.Tag, (Len(e.Node.Tag) - 1))

Me.TxtAddress.Text = UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) & Microsoft.VisualBasic.Right(e.Node.Tag, (Len(e.Node.Tag) - 1))

' Folder Size

d = New DirectoryInfo(Me.TxtAddress.Text)

DirectorySize(d)

Dir2.Path = e.Node.Tag

If Dir2.DirListCount > 0 Then

For k = 0 To Dir2.DirListCount - 1

'''''''''''''''''' TreeView '''''''''

If e.Node.GetNodeCount(True) = 0 Then ' Node, First selection

' Add a Sub Nodes

Dir1.Path = e.Node.Tag

If Dir1.DirListCount > 0 Then

For j = 0 To Dir1.DirListCount - 1

If Microsoft.VisualBasic.Left(Dir1.DirList(j), Len(Dir1.Path)) = Dir1.Path Then

childNode = New TreeNode(Microsoft.VisualBasic.Right(Dir1.DirList(j), (Len(Dir1.DirList(j)) - (Len(Dir1.Path) + 1))), 0, 1)

childNode.Tag = Dir1.DirList(j)

e.Node.Nodes.Add(childNode)

End If

Next j

End If

End If

e.Node.Expand()

Next

End If

''''''''''''''''' ListView '''''

Dir2.Path = e.Node.Tag

File1.Path = Dir2.Path

' If Dir2.DirListCount > 0 Or File1.Items.Count > 0 Then

ListView1.Items.Clear()

If Dir2.DirListCount > 0 Then

For k = 0 To Dir2.DirListCount - 1

' Folder, Add Items

If e.Node.ImageIndex = 0 Then

ListView_Sub(Dir2.DirList(k), " ", 0)

End If

Next

End If

' File, Add Items

If File1.Items.Count > 0 Then

For k = 0 To File1.Items.Count - 1

ListView_Sub(File1.Items(k), Dir2.Path, 1)

Next

End If

' Type of item selected is drive

Item_Selected_type = "TreeItem_Folder"

properties_flg(True)

Tree_Folder = e.Node.Tag

' Paste Folder

Paste_FolderName = Me.TxtAddress.Text

' TreeView, Previous node open (selected)

PrevNode = e.Node

Exit Sub

' Other Types - HDrive, CDRom, 3.5Floppy, ...

Case Is > 1

drv = fso.GetDrive(Microsoft.VisualBasic.Left(e.Node.Text, 1))

If drv.Isready = False Then ' Drive is not Ready

drive_not_ready(e.Node.Text)

'Type of item selected is drive

Item_Selected_type = "TreeItem_Drive"

properties_flg(True)

Exit Sub

Else ' Drives Ready

e.Node.Expand()

ListView1.Items.Clear()

' TxtAddress

VDirectory = UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) & ":"

Me.TxtAddress.Text = UCase(Microsoft.VisualBasic.Left(e.Node.Tag, 1)) & ":"

' Folder Size

d = New DirectoryInfo(Me.TxtAddress.Text)

DirectorySize(d)

' Listview1, Add items

Dir2.Path = Microsoft.VisualBasic.Left(e.Node.Tag, 1) & ":\"

If Dir2.DirListCount > 0 Then

For j = 0 To Dir2.DirListCount - 1

If UCase(Microsoft.VisualBasic.Left(Dir2.DirList(j).ToString, 1)) = UCase(Microsoft.VisualBasic.Left(e.Node.Text, 1)) Then

' Listview, Add Items

ListView_Sub(Dir2.DirList(j).ToString, "", 0)

End If

Next

End If

''''''''''''''''''''

File1.Path = Microsoft.VisualBasic.Left(e.Node.Tag, 1) & ":\"

If File1.Items.Count > 0 Then

For k = 0 To File1.Items.Count - 1

' Add Files

ListView_Sub(File1.Items(k), File1.Path, 1)

Next

End If

'Type of item selected is drive

Item_Selected_type = "TreeItem_Drive"

properties_flg(True)

End If

 

' Paste Folder

Paste_FolderName = Me.TxtAddress.Text

End Select

End Sub

Private Sub drive_not_ready(ByVal drv_not_ready As String)

fNot_Ready_Form.Text = UCase(Microsoft.VisualBasic.Left(drv_not_ready, 1)) & ": drive testing."

fNot_Ready_Form.LMessage1.Text = UCase(Microsoft.VisualBasic.Left(drv_not_ready, 1)) & ": is not accessible."

fNot_Ready_Form.LMessage2.Text = "This device is not ready."

fNot_Ready_Form.ShowDialog()

End Sub

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged

' Select Function

Select_Function()

' Type of item selected is Listview item

Item_Selected_type = "ListItem"

properties_flg(True)

If Count1 > 0 Or Count2 > 0 Then

' To copy Function

Me.ToolBarButton13.Enabled = True

Me.mnuCopy.Enabled = True

Me.mnupopcopy.Enabled = True

' To Delete Function

Me.ToolBarButton17.Enabled = True

Me.mnuDelete.Enabled = True

Me.mnupopdelete.Enabled = True

Else

' To copy Function

Me.ToolBarButton13.Enabled = False

Me.mnuCopy.Enabled = False

Me.mnupopcopy.Enabled = False

' To Delete Function

Me.ToolBarButton17.Enabled = False

Me.mnuDelete.Enabled = False

Me.mnupopdelete.Enabled = False

End If

End Sub

' Copy

Private Sub Select_Function()

Count1 = 0 ' Number of Folders

Count2 = 0 ' Number of Files

' Item Selected

For i = 0 To ListView1.SelectedItems.Count - 1

If ListView1.SelectedItems.Item(i).Selected = True Then

' Folders

If ListView1.SelectedItems(i).ImageIndex = 0 Then

Count1 = Count1 + 1 ' Number of Folders

' Files

ElseIf ListView1.SelectedItems(i).ImageIndex = 1 Then

Count2 = Count2 + 1 ' Number of Files

End If

End If

Next i

' Reallocate Storage Space for Dynamic Array

If Count1 > 0 Then

ReDim AFolderName(Count1)

End If

If Count2 > 0 Then

ReDim AFileName(Count2)

End If

j = 0

k = 0

CInitFolder = Me.TxtAddress.Text

' Arrays of Folders and Files

For i = 0 To ListView1.SelectedItems.Count - 1

If ListView1.SelectedItems(i).Selected = True Then

' Array of Folders

If ListView1.SelectedItems(i).ImageIndex = 0 Then

AFolderName(j) = ListView1.SelectedItems(i).Text

j = j + 1

' Array of Files

ElseIf ListView1.SelectedItems(i).ImageIndex = 1 Then

AFileName(k) = ListView1.SelectedItems(i).Text

k = k + 1

End If

End If

Next i

Paste_FolderName = Me.TxtAddress.Text

' To Paste Function

If Copy_Flag Then

Me.ToolBarButton15.Enabled = True

Me.mnuPaste.Enabled = True

Me.mnupoppaste.Enabled = True

Else

Me.ToolBarButton15.Enabled = False

Me.mnuPaste.Enabled = False

Me.mnupoppaste.Enabled = False

End If

End Sub

' Copy Operation, Use ListView to copy Folders

Private Sub Copy_Function()

Me.ListFolder.Items.Clear()

Me.ListFile.Items.Clear()

If Count1 > 0 Then

For i = 0 To Count1 - 1

Me.ListFolder.Items.Add(AFolderName(i))

Next

End If

If Count2 > 0 Then

For i = 0 To Count2 - 1

Me.ListFile.Items.Add(AFileName(i))

Next

End If

Paste_FolderName = Me.TxtAddress.Text

' To copy Function

Me.ToolBarButton13.Enabled = False

Me.mnuCopy.Enabled = False

Me.mnupopcopy.Enabled = False

' To Paste Function

Message_Flg = True

Copy_Flag = True

Me.ToolBarButton15.Enabled = True

Me.mnuPaste.Enabled = True

Me.mnupoppaste.Enabled = True

End Sub

' Paste operation, Paste Folders appear in ListView & TreeView

Private Sub Paste_Function()

Dim VString As String

Dim childnode As TreeNode

If Message_Flg Then

' Message ...

MsgBox("IF??? - Folder is Big, Memory to be abort ...", MsgBoxStyle.Information, "Message")

Message_Flg = False

End If

If Len(Paste_FolderName) > 0 Then

''''''''''''''''''''''''''' ListView1 '''''''''''''''

' Paste file(s)...

If Me.ListFile.Items.Count > 0 Then

For k = 0 To Me.ListFile.Items.Count - 1

' File(s) exist

If File.Exists(Trim(Paste_FolderName) & "\" & Trim(ListFile.Items.Item(k))) Then

i = 0

BegPt1:

VString = "Copy (" & Str(i) & ") of " & Trim(ListFile.Items.Item(k))

If File.Exists(Trim(Paste_FolderName) & "\" & VString) Then

i = i + 1

GoTo BegPt1

Else

File.Copy(Trim(CInitFolder) & "\" & Trim(ListFile.Items.Item(k)), Trim(Paste_FolderName) & "\" & VString)

ListView_Sub(VString, Paste_FolderName, 1)

End If

Else

File.Copy(Trim(CInitFolder) & "\" & Trim(ListFile.Items.Item(k)), Trim(Paste_FolderName) & "\" & Trim(ListFile.Items.Item(k)))

ListView_Sub(ListFile.Items.Item(k), Paste_FolderName, 1)

End If

Next k

End If

' Paste Folder

''''''''''''''''''''''''''' ListView1 '''''''''''''''

Me.ListFile.Items.Clear()

If Me.ListFolder.Items.Count > 0 Then

For j = 0 To Me.ListFolder.Items.Count - 1

' Folder(s) exist

If Directory.Exists(Trim(Paste_FolderName) & "\" & Trim(ListFolder.Items.Item(j))) Then

 

 

i = 0

BegPt2:

VString = "Copy (" & Str(i) & ") of " & Trim(ListFolder.Items.Item(j))

If Directory.Exists(Trim(Paste_FolderName) & "\" & VString) Then

i = i + 1

GoTo BegPt2

Else

fso.CopyFolder(Trim(CInitFolder) & "\" & Trim(ListFolder.Items.Item(j)), Trim(Paste_FolderName) & "\" & VString, False)

ListView_Sub(Trim(Paste_FolderName & "\" & VString), "", 0)

''''' TreeView, Add nodes

childnode = New TreeNode(VString.ToString, 0, 1)

childnode.Tag = Trim(Paste_FolderName) & "\" & VString

vare.Node.Nodes.Add(childnode)

End If

Else

fso.CopyFolder(Trim(CInitFolder) & "\" & Trim(ListFolder.Items.Item(j)), Trim(Paste_FolderName) & "\" & Trim(ListFolder.Items.Item(j)), False)

ListView_Sub(Trim(Paste_FolderName) & "\" & Trim(ListFolder.Items.Item(j)), "", 0)

''''' TreeView, Add nodes

childnode = New TreeNode(Trim(ListFolder.Items.Item(j)).ToString, 0, 1)

childnode.Tag = Trim(Paste_FolderName) & "\" & Trim(ListFolder.Items.Item(j))

vare.Node.Nodes.Add(childnode)

End If

Next

End If

'''''''''''''''''''''''''''' TreeView ''''''''

' TreeView, images

If vare.Node.Nodes(VListView_select).Parent.ImageIndex = 1 Then vare.Node.Nodes(VListView_select).Parent.ImageIndex = 0

If vare.Node.Nodes(VListView_select).ImageIndex = 1 Then vare.Node.Nodes(VListView_select).ImageIndex = 0

' TreeView, Previous node open (selected) - modify the image

If PrevNode.SelectedImageIndex = 1 Then PrevNode.SelectedImageIndex = 0

' TreeView, Previous node open (selected)

PrevNode = vare.Node

vare.Node.Expand()

'''''''''''''''''''''''''''''''''''''

' To Delete Function

Me.ToolBarButton17.Enabled = False

Me.mnuDelete.Enabled = False

Me.mnupopdelete.Enabled = False

End If

End Sub

' Delete Function, Remove Delete Folders from Listiview & TreeView

Private Sub Delete_Sub()

Dim listcount As Integer

Dim childnode As TreeNode

On Error Resume Next

' Delete the file(s), deleteFile Function

''''''''''''''''''''''''''' ListView1 '''''''''''''''

If Count2 > 0 Then

For k = 0 To Count2 - 1

' File(s) exist

If File.Exists(Trim(Paste_FolderName) & "\" & Trim(AFileName(k))) Then

File.Delete(Trim(Paste_FolderName) & "\" & Trim(AFileName(k)))

End If

Next k

End If

If Count1 > 0 Then

For j = 0 To Count1 - 1

' Folder(s) exist

If Directory.Exists(Trim(Paste_FolderName) & "\" & Trim(AFolderName(j))) Then

' Delete Folder

Directory.Delete(Trim(Paste_FolderName) & "\" & Trim(AFolderName(j)), True)

''''''''''''' TreeView ''''''''''''''''''''''''

' TreeView, Remove the nodes corresponding ...

For i = 0 To vare.Node.GetNodeCount(False) - 1

If vare.Node.Nodes(i).Text = Trim(AFolderName(j)) Then

vare.Node.Nodes.RemoveAt(i)

End If

Next i

End If

'''''''''''''''''''''''''''''''''''''''''''''''''''

Next j

End If

' Remove folder & File from Listview

ListView1.Items.Clear()

Dir2.Refresh()

File1.Refresh()

Dir2.Path = Paste_FolderName

If Dir2.DirListCount > 0 Then

For k = 0 To Dir2.DirListCount - 1

ListView_Sub(Dir2.DirList(k), " ", 0)

Next

End If

File1.Path = Dir2.Path

If File1.Items.Count > 0 Then

For k = 0 To File1.Items.Count - 1

ListView_Sub(File1.Items(k), Dir2.Path, 1)

Next

End If

' To Delete Function

Me.ToolBarButton17.Enabled = False

Me.mnuDelete.Enabled = False

Me.mnupopdelete.Enabled = False

End Sub

Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick

Dim VName As String

Dim vlen As Integer

Dim childnode As TreeNode

On Error Resume Next

' StatusBar

Me.StatusBarPanel1.Text = "Listview selected - " & ListView1.SelectedItems.Item(0).Text()

' Listview, index of the item selected

VListView_select = 0

' Menu Items & Toolbar Buttons - Copy, Paste and delete is disabled

If Copy_Flag = True Then

Me.ToolBarButton15.Enabled = True

Me.mnuPaste.Enabled = True

Me.mnupoppaste.Enabled = True

Else

Me.ToolBarButton15.Enabled = False

Me.mnuPaste.Enabled = False

Me.mnupoppaste.Enabled = False

End If

Me.ToolBarButton13.Enabled = False

Me.mnuCopy.Enabled = False

Me.mnupopcopy.Enabled = False

Me.ToolBarButton17.Enabled = False

Me.mnuDelete.Enabled = False

Me.mnupopdelete.Enabled = False

Dir2.Path = VDirectory

If ListView1.SelectedItems.Item(0).ImageIndex = 0 Then

Me.TxtAddress.Text = VDirectory & "\" & ListView1.SelectedItems.Item(0).Text()

VDirectory = Me.TxtAddress.Text

' Folder Size

d = New DirectoryInfo(Me.TxtAddress.Text)

DirectorySize(d)

End If

vlen = 0

VName = VDirectory

For i = 0 To Len(VDirectory) - 1

If Microsoft.VisualBasic.Right(VName, 1) = "\" Then

vlen = vlen + 1

Exit For

Else

vlen = i + 1

VName = Microsoft.VisualBasic.Left(VName, (Len(VName) - 1))

End If

Next

VName = Microsoft.VisualBasic.Right(Me.TxtAddress.Text, vlen - 1)

' Listview, index of the item selected

If Dir2.DirListCount > 0 Then

For k = 0 To Dir2.DirListCount - 1

If Dir2.DirList(k) = Dir2.Path & "\" & VName Then

' Listview, index of the item selected

VListView_select = k

Exit For

End If

Next

End If

Me.ListView1.Items.Clear()

Dir2.Path = Me.TxtAddress.Text

If Dir2.DirListCount > 0 Then

For k = 0 To Dir2.DirListCount - 1

ListView_Sub(Dir2.DirList(k), " ", 0)

Next

End If

' File, Add Items

File1.Path = Dir2.Path

If File1.Items.Count > 0 Then

For k = 0 To File1.Items.Count - 1

ListView_Sub(File1.Items(k), Dir2.Path, 1)

Next

End If

''''''''''''''''''''''' TreeView1 ''''''''''''

'Sub Nodes ...

Dir2.Path = Me.TxtAddress.Text

If Dir2.DirListCount > 0 Then

For j = 0 To Dir2.DirListCount - 1

' Node String ...

VName = Dir2.DirList(j)

For i = 0 To Len(Dir2.DirList(j)) - 1

If Microsoft.VisualBasic.Right(VName, 1) = "\" Then

VName = Microsoft.VisualBasic.Right(Dir2.DirList(j), vlen)

Exit For

Else

vlen = i + 1

VName = Microsoft.VisualBasic.Left(VName, (Len(VName) - 1))

End If

Next

' Add nodes ...

childnode = New TreeNode(VName.ToString, 0, 1)

childnode.Tag = Dir2.DirList(j)

vare.Node.Nodes(VListView_select).Nodes.Add(childnode)

Next j

End If

' TreeView, images

If vare.Node.Nodes(VListView_select).Parent.ImageIndex = 1 Then vare.Node.Nodes(VListView_select).Parent.ImageIndex = 0

If vare.Node.Nodes(VListView_select).ImageIndex = 1 Then vare.Node.Nodes(VListView_select).ImageIndex = 0

' TreeView, Previous node open (selected) - modify the image

If PrevNode.SelectedImageIndex = 1 Then PrevNode.SelectedImageIndex = 0

' TreeView, Previous node open (selected)

PrevNode = vare.Node.Nodes(VListView_select)

vare.Node.Nodes(VListView_select).ImageIndex = 1

vare.Node.Nodes(VListView_select).Expand()

End Sub

' SiZe, Folder Selected

Private Sub DirectorySize(ByVal d As DirectoryInfo)

DirSize = 0

' file sizes.

Dim fis As FileInfo() = d.GetFiles()

Dim fi As FileInfo

For Each fi In fis

DirSize += fi.Length

Next fi

' subdirectory sizes.

Dim dis As DirectoryInfo() = d.GetDirectories()

Dim di As DirectoryInfo

Dim dsize As Long

For Each di In dis

fis = di.GetFiles()

For Each fi In fis

DirSize += fi.Length

Next fi

DirSize += DirSize

Next di

If Int((DirSize / (1024 * 1024))) = 0 Then

Me.StatusBarPanel2.Text = "Folder Size = " & Str(Int((DirSize / (1024)))) & " KB"

Else

Me.StatusBarPanel2.Text = "Folder Size = " & Str(Int((DirSize / (1024 * 1024)))) & " MB"

End If

End Sub

End Class


    Top
 

2. Module1.vb
 
Module Module1

Public fMainForm As MainForm

Public fFolder_File_Properties As New Folder_File_Properties

Public fDrive_Properities As New Drive_Properities

Public fNot_Ready_Form As New Not_Ready_Form

Public Yes_Replace_Folder As Boolean

Public No_Replace_Folder As Boolean

Public Const LISTVIEW_MODE0 As String = "View Large Icons"

Public Const LISTVIEW_MODE1 As String = "View Small Icons"

Public Const LISTVIEW_MODE2 As String = "View List"

Public Const MsglblDescription1 As String = "This folder already contains a folder named "

Public Const MsglblDescription2 As String = "If the files in tke existing folder have the same name as files in the"

Public Const MsglblDescription3 As String = "folder you are moving, they will be replaced. Do you still want to move"

Public Const MsglblDescription4 As String = "the folder?"

Public Const MsgYes As String = "Yes"

Public Const MsgNo As String = "No"

 

Public Sub Main()

fMainForm = New MainForm

Application.Run(fMainForm)

End Sub

End Module


   Top


 

      Return