📄 code288a.txt
字号:
Public Sub Main()
Dim FileNames As String, DirName As String
Dim DirArray() As String, FileArray() As String
Dim TotalDirs As Integer, TotalFiles As Integer
Dim iLoop As Integer
DirName = "c:\"
FileNames = Dir(DirName, vbNormal + vbDirectory)
Do While FileNames <> ""
If FileNames <> "." And FileNames <> ".." Then
If (GetAttr(DirName & FileNames) And vbDirectory) = _
vbDirectory Then
TotalDirs = TotalDirs + 1
ReDim Preserve DirArray(TotalDirs)
DirArray(TotalDirs) = FileNames
Else
TotalFiles = TotalFiles + 1
ReDim Preserve FileArray(TotalFiles)
FileArray(TotalFiles) = FileNames
End If
End If
FileNames = Dir
Loop
Quick_Sort DirArray, 0, UBound(DirArray)
Quick_Sort FileArray, 0, UBound(FileArray)
Debug.Print "---Directories---"
For iLoop = 0 To UBound(DirArray)
Debug.Print DirArray(iLoop)
Next
Debug.Print "---Files---"
For iLoop = 0 To UBound(FileArray)
Debug.Print FileArray(iLoop)
Next
End Sub
Public Sub Quick_Sort(SortArray As Variant, _
ByVal First As Integer, _
ByVal Last As Integer)
Dim Low As Integer, High As Integer
Dim Temp As Variant, List_Separator As Variant
Low = First
High = Last
List_Separator = UCase(SortArray((First + Last) / 2))
Do
Do While (UCase(SortArray(Low)) < List_Separator)
Low = Low + 1
Loop
Do While (UCase(SortArray(High)) > List_Separator)
High = High - 1
Loop
If (Low <= High) Then
Temp = SortArray(Low)
SortArray(Low) = SortArray(High)
SortArray(High) = Temp
Low = Low + 1
High = High - 1
End If
Loop While (Low <= High)
If (First < High) Then Quick_Sort SortArray, First, High
If (Low < Last) Then Quick_Sort SortArray, Low, Last
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -