Avatar billede centauri Nybegynder
20. februar 2001 - 13:16 Der er 10 kommentarer og
2 løsninger

Paging i For Each løkke

Er det muligt at lave en form for Paging i en For Each løkke ?
Jeg har nemlig en funktion der søger et bibliotek igennem for billeder, og derefter skriver filnavnene ud.
Men da det tit drejer sig om flere hundrede billeder vil jeg gerne have det delt op i nogle flere sider.
Og hvis det var muligt ville jeg meget gerne undgå at skulle ligge den alle sammen ind i en database. For paging fra en Database har jeg ingen problemer med. Da ville det være nemmere hvis siden i sig selv bare kunne styre det.
Så er det muligt og i såfald hvordan ?
Avatar billede sone Nybegynder
20. februar 2001 - 13:21 #1
Hvis du lister billede 1-10, laver du en next-link med fil.asp?next=11
I fil.asp skal du så sørge for at spole forbi billede 1-10, sådan at du starter med billede 11 osv.
Avatar billede centauri Nybegynder
20. februar 2001 - 13:36 #2
Hvordan gør jeg så lige det i det her

For Each File in Files
  response.write lcase(file.name) & \"<br>\"
end if   
next
Avatar billede sone Nybegynder
20. februar 2001 - 14:05 #3
antal=0
next = request(\"next\")
visfil = false
IF next=\"\" THEN visfil=true
For Each File in Files
  IF visfil THEN
    antal=antal+1
    IF antal>10 THEN
      response.write(\"<A HREF=\"\"fil.asp?next=\" & lcase(file.name) & \"\"\">next</A>\")
      EXIT FOR
    END IF
    response.write lcase(file.name) & \"<br>\"
  ELSE
    IF next=file.name THEN visfil=true
  END IF
next
Avatar billede sone Nybegynder
20. februar 2001 - 14:05 #4
er ikke testet !
Avatar billede centauri Nybegynder
20. februar 2001 - 14:20 #5
Ok det virker så fint nok hvis jeg ændre lidt i det. Sådan her:

antal=0
nexts = request(\"next\")
visfil = false
IF nexts=\"\" THEN visfil=true
For Each File in Files
  IF visfil THEN
    antal=antal+1
    IF antal>10 THEN
      response.write(\"<A HREF=\"\"showfiles1.asp?next=\" & lcase(file.name) & \"\"\">next</A>\")
      EXIT FOR
    END IF
    response.write lcase(file.name) & \"<br>\"
  ELSE
    IF nexts=file.name THEN visfil=true
  END IF
next

Men hvordan får jeg de så sådan så jeg både kan blade frem og tilbage ?
Avatar billede centauri Nybegynder
20. februar 2001 - 14:31 #6
Og så glemmer den forresten også en fil hver gang men skriver viddere til næste side.

Her  er hele koden jeg bruger måske det gjælper lidt:

<%   
    filepath = \"C:\\Inetpub\\wwwroot\\Img\\\"
   
    Set FileSystem = CreateObject(\"Scripting.FileSystemObject\")
    Set MainFolder = FileSystem.GetFolder( filepath )
    Set Files = MainFolder.Files
   

    response.write \"Directory i : \" & filepath & \"<br><br>\"
   
antal=0
nexts = request(\"next\")

visfil = false
IF nexts=\"\" THEN visfil=true
For Each File in Files
  IF visfil THEN
    antal=antal+1
     
    IF antal>10 THEN
      response.write(\"<A HREF=\"\"showfiles1.asp?next=\" & lcase(file.name) & \"\"\">next</A> <br>\")     
      EXIT FOR
    END IF
    response.write lcase(file.name) & \"<br>\"
  ELSE
    IF nexts=file.name THEN visfil=true
  END IF
next

%>
Avatar billede sone Nybegynder
20. februar 2001 - 14:43 #7
Så skulle alle filer være med:

For Each File in Files
  IF next=file.name THEN visfil=true
  IF visfil THEN
    antal=antal+1

    IF antal>10 THEN
      response.write(\"<A HREF=\"\"showfiles1.asp?next=\" & lcase(file.name) & \"\"\">next</A> <br>\")
      EXIT FOR
    END IF
    response.write lcase(file.name) & \"<br>\"
  END IF
next
Avatar billede centauri Nybegynder
20. februar 2001 - 14:50 #8
Ja så mangler jeg bare at kunne blade tilbage igen. Hvis du også kan klare det vil det bare være perfekt.
Avatar billede sone Nybegynder
20. februar 2001 - 15:14 #9
Skal du slet ikke lave noget selv?  :)
Avatar billede sone Nybegynder
20. februar 2001 - 15:23 #10
For at gøre det, så laver vi lige om til at den tæller filerne.

antal=0
filenr = 0
start = request(\"start\")

IF start=\"\" THEN start=1
IF start <1 THEN start=1

For Each File in Files
  filenr = filenr + 1
  IF start>=filenr THEN
    antal=antal+1

    IF antal=1 AND filenr>10 THEN response.write(\"<A HREF=\"\"showfiles1.asp?start=\" & filenr-10 & \"\"\">prev</A><br>\")
    IF antal>10 THEN
      response.write(\"<A HREF=\"\"showfiles1.asp?start=\" & filenr & \"\"\">next</A><br>\")
      EXIT FOR
    END IF
    response.write lcase(file.name) & \"<br>\"
  END IF
Next
Avatar billede centauri Nybegynder
20. februar 2001 - 18:50 #11
Ja jeg er snart ked af at sige det men det virker da slet ikke nu. Den viser kun den først fil og ikke andet.
Og jo jeg skol også nok slev lave noget. Men sidder skam og knogler forvildt for at gennemskue koden men lige med det her har jeg altså mine problemer.
Men hvad kan der være galt i den nu?
Avatar billede centauri Nybegynder
23. februar 2001 - 07:57 #12
Ja du komme ikke helt med det jeg søgte men du kom da med et svar så då får haldelen af Pointene.
Har selv fundet en hel anden løsning at løse problemet på.
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