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

  • 相关阅读:
    用面向对象的方法重写选项卡
    js 深入理解原型模式
    ECMAScript中的两种属性
    引用类型
    js 变量、作用域和内存问题
    html5 canvas画布尺寸与显示尺寸
    网页画板制作
    了解数组中的队列方法,DOM中节点的一些操作
    JavaScript中的数组对象遍历、读写、排序等操作
    this在方法赋值过程中无法保持(隐式丢失)
  • 原文地址:https://www.cnblogs.com/cosiray/p/1551872.html
Copyright © 2011-2022 走看看