您的位置:首页 > 编程语言 > VB

[转载] 起泡法按照时间排列文件(FSO)

2005-05-29 12:59 357 查看
        起泡法只是一个简单的算法而已,但是在网页编程中要用到什么算法的还是比较少的,已经用过的算法只有递归和起泡法。有问题大家多多指点。<%@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  '获得文件夹内文件  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,"|") '转化为文件名数组  filename_arr1=split(filename_arr1,"|") '转化为日期数组 '把文件名和时间按照顺序加入二维数组  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 '删除数组  erase filename_arr1 '------按照时间的顺序使用起泡法排列数组------  for j=0 to ubound(filename_arr)-1   for i=0 to ubound(filename_arr)-1-j if DateDiff("d",filename_arr(i,1),filename_arr(i+1,1))>0 Then '判断时间先后,如果比后面的晚,交换数据   'if filename_arr(i,1)<filename_arr(i+1,1) Then '这个只能判断字符,而不能判断时间   '交换前后数组内容--文件名   temp=filename_arr(i,0)   filename_arr(i,0)=filename_arr(i+1,0)   filename_arr(i+1,0)=temp   '交换前后数组内容--建立时间   temp=filename_arr(i,1)   filename_arr(i,1)=filename_arr(i+1,1)   filename_arr(i+1,1)=temp end if   next  next '------结束起泡法------  file_list=filename_arr '返回二维数组 End Function '结束函数 file_arr=file_list("g:/my documents/txt/") '调用函数返回二维数组 for i=0 to ubound(file_arr)-1   Response.Write(file_arr(i,0)&"--"&file_arr(i,1)&"<br/>") '输出结果 next %>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息