起泡法按照時間排列文件(FSO)
發(fā)表時間:2024-01-23 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]本站的http://btyz.51web.cn/collection.asp沒有使用按照時間排列文件的,后來想到如果按照文件建立的時間為順序排列,那就太棒了。幸好學過C語言,起泡法只是一個簡單的算法而已,但是在網(wǎng)頁編程中要用到什么算法的還是比較少的,我已經(jīng)用過的算法只有遞歸和起泡法。有問題大家多多...
本站的http://btyz.51web.cn/collection.asp沒有使用按照時間排列文件的,后來想到如果按照文件建立的時間為順序排列,那就太棒了。幸好學過C語言,起泡法只是一個簡單的算法而已,但是在網(wǎng)頁編程中要用到什么算法的還是比較少的,我已經(jīng)用過的算法只有遞歸和起泡法。有問題大家多多指點。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'######################################'
'## Copyright (C) 2003 醉雨梧桐 All rights reserved. ##'
'## Powered by 醉雨梧桐 ##'
'## http://btyz.51web.cn/ ##'
'## winterfire@163.com ##'
'######################################'
Function file_list(path)
Set FSO=Server.CreateObject("Scripting.FileSystemObject") 'FSO對象
Set FD=FSO.GetFolder(path) '獲得文件夾
Set F=FD.Files '獲得文件夾內(nèi)文件
For Each OneFile in F '列出所有的txt文件
filename=OneFile.Name
If LCase(right(filename,3))="txt" Then '只對txt文件處理
filename_arr0=filename_arr0&Left(filename,Len(filename)-4)&" " '獲得主文件名,保存在變量中,0 0 形式
filename_arr1=filename_arr1&DateValue(OneFile.DateCreated)&" " '獲得文件建立日期
End If
Next
filename_arr0=split(filename_arr0," ") '轉(zhuǎn)化為文件名數(shù)組
filename_arr1=split(filename_arr1," ") '轉(zhuǎn)化為日期數(shù)組
'把文件名和時間按照順序加入二維數(shù)組
dim filename_arr()
redim filename_arr(ubound(filename_arr0),2) '重新定義
for i=0 to ubound(filename_arr0)-1
filename_arr(i,0)=filename_arr0(i)
filename_arr(i,1)=filename_arr1(i)
next
erase filename_arr0 '刪除數(shù)組
erase filename_arr1
'------按照時間的順序使用起泡法排列數(shù)組------
for j=0 to ubound(filename_arr)-1
for i=0 to ubound(filename_arr)-1-j
if filename_arr(i,1)<filename_arr(i+1,1) Then '判斷時間先后,如果比后面的晚,交換數(shù)據(jù)
'交換前后數(shù)組內(nèi)容--文件名
temp=filename_arr(i,0)
filename_arr(i,0)=filename_arr(i+1,0)
filename_arr(i+1,0)=temp
'交換前后數(shù)組內(nèi)容--建立時間
temp=filename_arr(i,1)
filename_arr(i,1)=filename_arr(i+1,1)
filename_arr(i+1,1)=temp
end if
next
next
'------結(jié)束起泡法------
file_list=filename_arr '返回二維數(shù)組
End Function '結(jié)束函數(shù)
file_arr=file_list("g:\my documents\txt\") '調(diào)用函數(shù)返回二維數(shù)組
for i=0 to ubound(file_arr)-1
Response.Write(file_arr(i,0)&"--"&file_arr(i,1)&"<br/>") '輸出結(jié)果
next
%>