zoukankan      html  css  js  c++  java
  • ASP 按修改时间读取文件夹中文件并且排序

    Private Type typFlieDate
    Name As String
    CreatedDate As Date
    AccessedDate As Date 
    ModifiedDate As Date
    End Type

    Private myFiles() As typFlieDate '包含文件的数组
    Private Sub Command1_Click()
    Dim n As Integer
    n = GetFolderFiles( "d:\" , 1)
    End Sub

    Private Function GetFolderFiles(Path As String, OrderBy As Integer) As Integer
    'path 文件夹路径
    'orderby 排序依据 1:按创建时间 2:按访问时间 3:按修改时间 4:按名称
    '返回文件夹中文件的个数
    '如果要计算子文件夹可以通过 fldr.SubFolders 访问,方法类似

    Dim tmpFile As typFlieDate
    Dim n As Integer, i As Integer, j As Integer
    Dim fso As New FileSystemObject
    Dim fldr As Folder
    Dim fls As Files
    Dim fl As File

    '读去文件
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fldr = fso.GetFolder(Path)
    Set fls = fldr.Files
    n = fls.Count
    If n > 0 Then
    ReDim myFiles(n - 1)
    i = 0
    For Each fl In fls
    myFiles(i).Name = fl.Name
    myFiles(i).AccessedDate = fl.DateLastAccessed
    myFiles(i).CreatedDate = fl.DateCreated
    myFiles(i).ModifiedDate = fl.DateLastModified
    i = i + 1
    Next
    '排序 --- 升序
    For i = 0 To n - 1
    For j = i + 1 To n - 1
    Select Case OrderBy
    Case 1 '创建时间
    If myFiles(i).CreatedDate > myFiles(j).CreatedDate Then
    tmpFile = myFiles(i)
    myFiles(i) = myFiles(j)
    myFiles(j) = tmpFile

    ' tmpFile.Name = myFiles(i).Name
    ' tmpFile.AccessedDate = myFiles(i).AccessedDate
    ' tmpFile.CreatedDate = myFiles(i).CreatedDate
    ' tmpFile.ModifiedDate = myFiles(i).ModifiedDate
    '
    ' myFiles(i).AccessedDate = myFiles(j).AccessedDate
    ' myFiles(i).CreatedDate = myFiles(j).CreatedDate
    ' myFiles(i).ModifiedDate = myFiles(j).ModifiedDate
    ' myFiles(i).Name = myFiles(j).Name
    '
    ' myFiles(j).AccessedDate = tmpFile.AccessedDate
    ' myFiles(j).CreatedDate = tmpFile.CreatedDate
    ' myFiles(j).ModifiedDate = tmpFile.ModifiedDate
    ' myFiles(j).Name = tmpFile.Name
    End If

    Case 2 '访问时间
    If myFiles(i).AccessedDate > myFiles(j).AccessedDate Then
    tmpFile = myFiles(i)
    myFiles(i) = myFiles(j)
    myFiles(j) = tmpFile
    End If
    Case 3 '修改时间
    If myFiles(i).ModifiedDate > myFiles(j).ModifiedDate Then
    tmpFile = myFiles(i)
    myFiles(i) = myFiles(j)
    myFiles(j) = tmpFile
    End If
    Case 4 '名称
    If UCase(myFiles(i).Name) > UCase(myFiles(j).Name) Then
    tmpFile = myFiles(i)
    myFiles(i) = myFiles(j)
    myFiles(j) = tmpFile
    End If
    End Select
    Next j
    Next i
    End If
    GetFolderFiles = n
    End Function

  • 相关阅读:
    Linux:password 与passphrase
    QT设置openCV头文件和链接动态库路径
    matlab对图像加入噪声的方法
    RGB到HSV的彩色空间变化 Matlab
    QImage与IplImage之间的转换
    iframe自适应高度(简单经典)兼容ie6ie9 ,firefox,opera,chrome
    转载:关于生成并发唯一性流水号的解决方案
    EXCEL表格纵横转换
    rdlc打印时多出空白页面(reportviewer)
    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
  • 原文地址:https://www.cnblogs.com/cosiray/p/1551872.html
Copyright © 2011-2022 走看看