14. december 2003 - 00:57
Der er
2 kommentarer og
1 løsning
Sortering med array
God aften,
jeg lister en masse filer via FSO. Filerne ser sådan ud:
titel-dato-tid-kanal.html
Jeg vil gerne sortere efter tid, jeg kan ikke få bubblesort eller quick sort til at virke med mit script.
<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set folderObject = fso.GetFolder(Server.MapPath("lister/"))
Set filesObject = folderObject.Files
For Each file In filesObject
strFilnavn = file.Name
strFiler = file.Name
arrFileName = Split(strFiler,"-")
response.write arrFileName(2) & "<br>"
Next
Set fileObject = Nothing
Set folderObject = Nothing
Set fso = Nothing
%>
Den skriver pt alle filerne ud med tiden, som kan se sådan ud:
0045
2135
1940
0005
osv.
Er der en der har en løsning ??
Mvh Aspbuilder
14. december 2003 - 01:04
#2
Alternativt kan du bruge et recordset:
<%
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
%>