22. februar 2003 - 01:03
Der er
1 kommentar og
1 løsning
List filer i sortering
Når man bruger FileSystemObject til at liste filer der er i en mappe, så ser man dem i en ret tilfældig rækkefølge, hvordan gør man noget ved det og rigtig meget gerne noget kode til det :)
Jeg bruger den her til at liste dem med:
<%
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
strFolderName = Server.MapPath("Mappe/")
Set f = fso.GetFolder(strFolderName)
Set fc = f.Files
Response.Write "<table cellspacing='0' cellpadding='0'>" & vbCrLf
For Each f1 in fc
If InStr(1, f1.name, "Fil1") > 0 or InStr(1, f1.name, "Fil2") > 0 Then
Response.Write "<tr>" & vbCrLf
Response.write "<td><a href='Mappe/" & f1.name &"'>"& f1.name &"</a></td>" & vbCrLf
Response.Write "</tr>" & vbCrLf
End If
Next
Response.Write "</table>" & vbCrLf
%>
22. februar 2003 - 01:08
#2
Eller dette eks som bruger et recordset og sortere på den måde:
<%
Dim objFSO, objFolder, objRS, Path, subPath
subPath = "test"
Path = Server.MapPath("/"&subPath)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Path)
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "Name", adVarChar, 20
objRS.Fields.Append "Size", adInteger, 6
objRS.Fields.Append "DateLastmodified", adDate, 9
objRS.Open
For Each file in objFolder.Files
objRS.Addnew
objRS("Name") = file.Name
objRS("Size") = file.Size
objRS("DateLastmodified") = file.DateLastModified
objRS.Update
Next
Function Pad (str, numChars)
str = str & Space(numChars)
Pad = Left(str, numChars)
End Function
objRS.Sort = "Name ASC, Size, DateLastmodified"
' Displays the recordset
s = ""
objRS.MoveFirst
while Not objRS.EOF
for each fld in objRS.Fields
s = s &"<td>"& Pad(objRS.Fields(fld.Name), 18)&"</td>"
next
s = s & "</tr>"
objRS.MoveNext
wend
Response.Write s
%>