欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

通過數組給您的文件排序

admin
2010年7月8日 1:5 本文熱度 5678
[p]當您使用filesystemobject對象獲得某個目錄下的文件列表的時候,你有沒有發現無法控制它們的排序方式,比如按照名字排序,按照擴展名排序,按照文件大小排序等等,讓我們試著用數組給它們排排序兒。[br]如果您想通過名字排序,那將是非常簡單的,但是假如你想通過文件大小或者文件創立時間等等來排序的時候,那么將有點麻煩。我們將通過二維數組做到這一點。[br]下面的代碼演示了如何通過選擇排序方式達到的我們目的,單擊排序,點兩次就反著排了。[/p]
[p][br][br]文件排序演示[br][/p]
[p][/p]
[p]<%[br]' 設定一個演示目錄,:)[/p]
[p]const directory = "/" [/p]
[p]' 用常數定義排序方式[br]const file_name = 0 '按照名字排序……依次類推[br]const file_ext = 1[br]const file_type = 2[br]const file_size = 3[br]const file_created = 4[br]const file_modified = 5[br]const file_accessed = 6[/p]
[p]'獲得 排序命令,默認為按照名字排序[/p]
[p]req = request("sortby")[br]if len(req) < 1 then sortby = 0 else sortby = cint(req)[br]req = request("priorsort")[br]if len(req) < 1 then priorsort = -1 else priorsort = cint(req)[/p]
[p]'設置倒序[br]if sortby = priorsort then[br]reverse = true[br]priorsort = -1[br]else[br]reverse = false[br]priorsort = sortby[br]end if[/p]
[p]' 接下來開始我們真正的代碼了。。。[/p]
[p]path = server.mappath( directory )[/p]
[p]set fso = createobject("scripting.filesystemobject")[br]set thecurrentfolder = fso.getfolder( path ) [br]set curfiles = thecurrentfolder.files [/p]
[p]' 給這些文件做一個循環[/p]
[p]dim thefiles( )[br]redim thefiles( 500 ) ' 我隨便定的一個大小[br]currentslot = -1 ' start before first slot[/p]
[p]' 我們將文件的所有相關信息放到數組里面[/p]
[p]for each fileitem in curfiles[br]fname = fileitem.name[br]fext = instrrev( fname, "." )[br]if fext < 1 then fext = "" else fext = mid(fname,fext+1)[br]ftype = fileitem.type[br]fsize = fileitem.size[br]fcreate = fileitem.datecreated[br]fmod = fileitem.datelastmodified[br]faccess = fileitem.datelastaccessed[br]currentslot = currentslot + 1[br]if currentslot > ubound( thefiles ) then[br]redim preserve thefiles( currentslot + 99 )[br]end if[br]' 放到數組里[br]thefiles(currentslot) = array(fname,fext,ftype,fsize,fcreate,fmod,faccess)[br]next[/p]
[p]' 現在都在數組里了,開始下一步[/p]
[p][br]filecount = currentslot ' 文件數量[br]redim preserve thefiles( currentslot ) [/p]
[p]' 排序[br]' (8 表示 string)[/p]
[p]if vartype( thefiles( 0 )( sortby ) ) = 8 then [br]if reverse then kind = 1 else kind = 2 ' 給字符排序[br]else[br]if reverse then kind = 3 else kind = 4 '數字、時間。。。[br]end if[/p]
[p]for i = filecount to 0 step -1[br]minmax = thefiles( 0 )( sortby )[br]minmaxslot = 0[br]for j = 1 to i[br]select case kind [br]case 1 [br]mark = (strcomp( thefiles(j)(sortby), minmax, vbtextcompare ) < 0)[br]case 2 [br]mark = (strcomp( thefiles(j)(sortby), minmax, vbtextcompare ) > 0)[br]case 3 [br]mark = (thefiles( j )( sortby ) < minmax)[br]case 4 [br]mark = (thefiles( j )( sortby ) > minmax)[br]end select[br]if mark then [br]minmax = thefiles( j )( sortby )[br]minmaxslot = j[br]end if[br]next[/p]
[p]if minmaxslot <> i then [/p]
[p]temp = thefiles( minmaxslot )[br]thefiles( minmaxslot ) = thefiles( i )[br]thefiles( i ) = temp[br]end if[br]next[br]' 結束[/p]
[p]%>[br]
[br][br][br]
[/p]
[p][/p]
[p]
[br][br]顯示<% = (filecount+1) %> 該目錄下的文件<% = path %>[br][br]

[br]單擊排序,再點一次反向排序[br]

[br][br][br][br][br][br][br][br][br][br][br]<%[/p]
[p]for i = 0 to filecount[br]response.write "" & vbnewline[br]for j = 0 to ubound( thefiles(i) )[br]response.write " " & vbnewline[br]next[br]response.write "" & vbnewline[br]next[br]%>[br]
文件名擴展名類型大小建立時間上次修改時間上次存取時間
" & thefiles(i)(j) & "
[/p]
[p][br] [/p]


該文章在 2010/7/8 1:05:55 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved