Avatar billede steckel Nybegynder
17. december 2003 - 01:26 Der er 7 kommentarer og
1 løsning

Opdelt i rækker og kolonner med mapper og filer.

Du har jeg sidet og prøvet i et stykke tid for at få det til at virke med det virker ikke...

Jeg har brugt den her kode til at hentet mine mapper og de filer der skal vises :

<%
  sti = "Cars"
  ShowSub = sti & request("ShowSub")
  ShowSubLink = request("ShowSub")
  strPathInfo = ShowSub
  strPhysicalPath = Server.MapPath(strPathInfo)
 
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFSO.GetFolder(strPhysicalPath)
 
  For each Folder in objFolder.SubFolders
    If Left(Folder.Name,1)<>"_" Then
      Response.Write "<a href=""" & CurFile & "?ShowSub=" & ShowSubLink & "/"
      Response.Write(Replace(Folder.Name, " ", "%20"))
      response.write """>"
      Response.Write Folder.Name
      Response.Write "<br>"
    End if
  Next
 
  Set objFSO = Nothing
%>


Desuden vist størrelsen på filerne i dette script :

<%
'Response.Write ShowSub  & "<br>"
'Response.Write strPhysicalPath
'Response.End

  SiteName = request.servervariables("script_name")
  strPhysicalPath = Server.MapPath(ShowSub)

    If ShowSub > " " then
    ShowSub = Replace(ShowSub, " ", "%20")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strPhysicalPath)
    Set objFolderContents = objFolder.Files
    For Each objFileItem in objFolderContents
      Response.write "<tr><td>"
      if InStr(1,"jpg,bmp,gif", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then
          Response.Write "<a href=""" & ShowSub & "/" & objFileItem.Name &""">" & objFileItem.Name  & "</a>"
      End if   
      Response.write "</td></tr>"
    Next
    Set objFSO = Nothing
  End if
%>

Nu er det bare sådan at jeg synes det fylder for meget på siden og vil gerne have opdelt dem i en table hvor den viser 3 rækker og 3 kolonner, og hvis der er flere end 9 filer kan man trykke på et link til de næste filer..

Hvordan i alverden laver man sådan en ting??
For jeg er gået helt sukker kold i det. :(
Avatar billede eagleeye Praktikant
17. december 2003 - 20:28 #1
Princippet er man er nød til først at tælle hvor mange filer der er i en folder før man kan dele den op på flere sider.

Prøv med dette:

<%
'Response.Write ShowSub  & "<br>"
'Response.Write strPhysicalPath
'Response.End

  SiteName = request.servervariables("script_name")
  strPhysicalPath = Server.MapPath(ShowSub)

    If ShowSub > " " then
    ShowSub = Replace(ShowSub, " ", "%20")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strPhysicalPath)
    Set objFolderContents = objFolder.Files


    For Each fil in objFolderContents
      if InStr(1,"jpg,bmp,gif", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then   
        arrayBuild = arrayBuild & fil.name & "|"
      end if
    next
    if arrayBuild <> "" then arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))
 
    myArray = Split(arrayBuild, "|")
    antalBillederPrSide = 9
    maxCols = 3
    noCols = 0
    start = Request.Querystring("start")
    if start = "" then start = 0 
    Antalsider = int(ubound(myarray) / antalBillederPrSide)
    for i = start to (start + antalBillederPrSide-1)
      if not i > ubound(myarray) then
        if noCols = 0 then Response.Write "<tr>"
        Response.write "<td>
        Response.Write "<a href=""" & ShowSub & "/" & myArray(i) &""">" & myArray(i) & "</a>"
        Response.write "</td>"
        noCols = noCols + 1
        if noCols = maxCols then
          noCols = 0
          Response.Write "</tr>"
        end if
      else
        nesteside = 1
      end if
    Next
    if noCols > 0 then Response.Write "</tr>"
    response.write "<tr><td colspan=""3"">"
    if start <> 0 then
      response.write "<a href=""" & siteName & "?start=" & (start - antalBillederPrSide) & "&ShowSub="& request("ShowSub") & """>Forrige</a>"
    end if
    response.write(" ")
    if nesteside <> 1 then
      response.write "<a href=""" & siteName & "?start=" & (start + antalBillederPrSide) & "&ShowSub="& request("ShowSub") & """>Næste</a>"
    end if
    response.write "</td></tr>"

    Set objFSO = Nothing
  End if



%>
Avatar billede steckel Nybegynder
17. december 2003 - 20:57 #2
Det virker stadig ikke.... jeg har prøvet lidt og rettet til med det vil heller ikke virke.. jeg har skrevet den ind sådan her:

<%
  sti = "/download"
  ShowSub = sti & request("ShowSub")
  ShowSubLink = request("ShowSub")
  strPathInfo = ShowSub
  strPhysicalPath = Server.MapPath(strPathInfo)
 
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objFolder = objFSO.GetFolder(strPhysicalPath)
 
  For each Folder in objFolder.SubFolders
    If Left(Folder.Name,1)<>"_" Then
      Response.Write "<a href=""" & CurFile & "?ShowSub=" & ShowSubLink & "/"
      Response.Write(Replace(Folder.Name, " ", "%20"))
      response.write """>"
      Response.Write Folder.Name
      Response.Write "<br>"
    End if
  Next
 
  Set objFSO = Nothing



  SiteName = request.servervariables("script_name")
  strPhysicalPath = Server.MapPath(ShowSub)

    If ShowSub > " " then
    ShowSub = Replace(ShowSub, " ", "%20")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(strPhysicalPath)
    Set objFolderContents = objFolder.Files


    For Each fil in objFolderContents
      if InStr(1,"jpg,txt,asp,bmp,gif", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then   
        arrayBuild = arrayBuild & fil.name & "|"
      end if
    next
    if arrayBuild <> "" then arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))
 
    myArray = Split(arrayBuild, "|")
    antalBillederPrSide = 9
    maxCols = 3
    noCols = 0
    start = Request.Querystring("start")
    if start = "" then start = 0 
    Antalsider = int(ubound(myarray) / antalBillederPrSide)
    for i = start to (start + antalBillederPrSide-1)
      if not i > ubound(myarray) then
        if noCols = 0 then Response.Write "<tr>"
        Response.write "<td>"
        Response.Write "<a href=""" & ShowSub & "/" & myArray(i) &""">" & myArray(i) & "</a>"
        Response.write "</td>"
        noCols = noCols + 1
        if noCols = maxCols then
          noCols = 0
          Response.Write "</tr>"
        end if
      else
        nesteside = 1
      end if
    Next
    if noCols > 0 then Response.Write "</tr>"
    response.write "<tr><td colspan=""3"">"
    if start <> 0 then
      response.write "<a href=""" & siteName & "?start=" & (start - antalBillederPrSide) & "&ShowSub="& request("ShowSub") & """>Forrige</a>"
    end if
    response.write(" ")
    if nesteside <> 1 then
      response.write "<a href=""" & siteName & "?start=" & (start + antalBillederPrSide) & "&ShowSub="& request("ShowSub") & """>Næste</a>"
    end if
    response.write "</td></tr>"

    Set objFSO = Nothing
  End if

%>
Avatar billede eagleeye Praktikant
17. december 2003 - 21:51 #3
Hvordan virker det ikke?
Avatar billede eagleeye Praktikant
17. december 2003 - 21:53 #4
ok, kan se en fejl nu..

Ret lige disse:

    For Each fil in objFolderContents
      if InStr(1,"jpg,txt,asp,bmp,gif", LCase(objFSO.GetExtensionName(objFileItem.name))) > 0 then   
        arrayBuild = arrayBuild & fil.name & "|"
      end if
    next

Til:

    For Each fil in objFolderContents
      if InStr(1,"jpg,txt,asp,bmp,gif", LCase(objFSO.GetExtensionName(fil.name))) > 0 then   
        arrayBuild = arrayBuild & fil.name & "|"
      end if
    next
Avatar billede steckel Nybegynder
18. december 2003 - 07:14 #5
okay, nu virker den.. :)
Men hvordan giver jeg dig nu de 100 point?? For der er ikke nogen knap jeg trykke på så du får dem :(
Avatar billede eagleeye Praktikant
18. december 2003 - 17:29 #6
Ok så skal jeg lige ligge et svar ;)
Avatar billede eagleeye Praktikant
18. december 2003 - 17:29 #7
så skulle du kunne acceptere det ;)
Avatar billede steckel Nybegynder
18. december 2003 - 22:58 #8
Kanon, for jeg er glad for alt den hjælp du har givet mig... ;)
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