Avatar billede Jman Praktikant
10. april 2003 - 16:29 Der er 2 kommentarer og
1 løsning

Sort by name/number

Hejza!
Jeg jhar sådan en fiks lille kodesag, der gør det muligt at kigge efter pdf-filer i en folder...

      <%
      sub getPath(strPath,level)
      Set fsObj = CreateObject("Scripting.FileSystemObject")
      Set MainFolder = fsObj.GetFolder(strPath)
      Set Files = MainFolder.Files
      Set Folders = MainFolder.subfolders
     
      For Each Folder in Folders
        for a = 1 to level
          Response.Write "&nbsp;"
        next
          Response.write "<IMG SRC='folder.gif' align='absbottom'>&nbsp;<B>" & UCASE(folder.name) & "</b><br>"
        call getPath(strPath & "\" & lcase(folder.name),level+1)
        next

      For Each File in Files
        if right(file.name, 8) = ".qxd.pdf" then
            strFileName = LCASE(file.name)
            arrFileName = Split(strFileName,".")
            ID = ArrFileName(LBound(arrFileName))
          for a = 1 to level
          Response.Write "&nbsp;"
        next
          Response.write "<tr>"
          Response.write "<td><h4><IMG SRC='pdfikon.gif' align='absbottom'> <a href='" & rootpath  & "/" & LCASE(file.name) & "'>" & LCASE(file.name) & "</a>&nbsp;&nbsp;</h4></td>"
          Response.write "<td><h4>&nbsp;&nbsp;<IMG SRC='email.gif' align='center'><a href='../../aspqmail/korrekturmail.asp?id=" & id & "&region=01_reg'>&nbsp;Mail til kunde</a></h4></td>"
          Response.write "</tr>"
        end if
        next
        set fsObj = Nothing
        set MainFolder = Nothing
      end sub

      call getPath(rootpath,level)
      %>


Kan man tilføje lidt meree kode, så jeg også får liste indholdet alfabetisk/nummerisk ??
Avatar billede eagleeye Praktikant
10. april 2003 - 16:40 #1
Du kan ikke få FSO til selv at sortere filerne. så du må lave det selv.

Eks på sådan en kode:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=118
Avatar billede eagleeye Praktikant
10. april 2003 - 16:40 #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

%>
Avatar billede Jman Praktikant
10. april 2003 - 17:23 #3
det ser sgu for besværligt ud
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester