loopa inte alla filer i fso (asp)

Permalänk
Medlem

loopa inte alla filer i fso (asp)

Jag håller på med ett galleri som hämtar bilder ur mappar med fso.
Problemet är att jag i flera ställer har upp till kanske 100 bilder i en mapp och skulle därför vilja visa kanske 20 bilder och ha flera sidor istället...

Jag vet dock inte hur jag flyttar mig i mappen och läser ut vissa filer osv...
Tar med lite av koden här nedanför:

<% Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(strThisFolder) Set subfolder = folder.Subfolders Set files = folder.Files p = 0 For Each f In files If fso.GetBaseName(f.Name) <> "Thumbs" Then p = p + 1 link = Server.URLEncode(request.Querystring("Folder")) filnamn = f.Name %> <td> <%=f.Name%> </td> <% If p Mod 4 = 0 Then Response.Write "</tr><tr>" 'Var 4e "p" skrive en </tr><tr> ut för att byta rad. End if Next %>

Visa signatur
Permalänk
Medlem

Om man antar att sorteringsordningen inte ändras, eller att det inte läggs till bilder precis under körning så kan du använda 'p' i ditt exempel. När p=20 så hoppa ur loopen med exit for, sedan en länk till nästa sida där du hakar på vad nästa sida ska starta på, sida.asp?p=20 typ. Sedan gör du en koll på varje sida om det finns ett 'p' och då helt sonika skyffla fram 20 steg i files collection innan du börjar skriva ut dem.

Ett annat alternativ kan vara att på första sidan läsa in alla filer till en array som du sedan lagrar i en session. Då slipper du läsa fso på varje sida och kan sortera och hoppa hur du vill lite enklare. Nackdelen är ju då om filerna ändras under tiden någon bläddar på sida 2 och framåt.

Visa signatur

[ GA-P67A-UD4, i7 2600K @ 4.5GHz, Noctua NH-D14, 16GB XMS3, HD6970 2GB, 2x F120 120GB ]

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av leather
Om man antar att sorteringsordningen inte ändras, eller att det inte läggs till bilder precis under körning så kan du använda 'p' i ditt exempel. När p=20 så hoppa ur loopen med exit for, sedan en länk till nästa sida där du hakar på vad nästa sida ska starta på, sida.asp?p=20 typ. Sedan gör du en koll på varje sida om det finns ett 'p' och då helt sonika skyffla fram 20 steg i files collection innan du börjar skriva ut dem.

Ett annat alternativ kan vara att på första sidan läsa in alla filer till en array som du sedan lagrar i en session. Då slipper du läsa fso på varje sida och kan sortera och hoppa hur du vill lite enklare. Nackdelen är ju då om filerna ändras under tiden någon bläddar på sida 2 och framåt.

Hur "skyfflar" jag fram 20 steg i files collection??

Visa signatur
Permalänk
Medlem

p = request("p") i = 1 For Each f In files If i => p then ' write bilderna Else i = i + 1 End If Next

Går bergis att lösa på ett snyggare sätt.

Visa signatur

[ GA-P67A-UD4, i7 2600K @ 4.5GHz, Noctua NH-D14, 16GB XMS3, HD6970 2GB, 2x F120 120GB ]

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av leather

p = request("p") i = 1 For Each f In files If i => p then ' write bilderna Else i = i + 1 End If Next

Går bergis att lösa på ett snyggare sätt.

Duger alldeles utmärkt för mig... TACK!!

Visa signatur