Hejsan!
jag har sökt på WF och hittat ett par trådar om detta men inte hittat någon kod som sett ut att passa mig riktigt..
Jag hämtar en massa bilder från en mapp och vill lägga alla bilder i olika arrayer för att kunna visa dem en och en och kunna bläddra fram och tillbaka bland dem.
Hoppas ni förstör vad jag menar..
Vill alltså ha
Array(0) = Första bilden
Array(1) = Andra bilden
o.s.v.
Hur kan en sådan kodsnutt se ut?
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set folder = fso.getFolder(Server.MapPath("bilder/"))
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(server.mappath("bilder/")) Then
Response.Write "Det finns ingen mapp!"
Else
Set folder = fso.getFolder(Server.MapPath("bilder/"))
set files = folder.files
nummer = -1
Dim myArray
for each Item in files
nummer = nummer+1
myArray(nummer) = Item.name
Next
end if
MyArray är ingen array, utan en vanlig variabel. Släng på en Redim Preserve MyArray(nummer) innan du försöker lägga något i den. Du kan också vara tvungen att lägga på (0) vid dim också.
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(server.mappath("bilder/")) Then
Response.Write "Det finns ingen mapp!"
Else
Set folder = fso.getFolder(Server.MapPath("bilder/"))
set files = folder.files
Dim myArray(0), nummer
nummer = -1
for each Item in files
nummer = nummer+1
Redim preserve myArray(nummer)
myArray(nummer) = Item.name
Next
end if
%>
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(server.mappath("bilder/")) Then
Response.Write "Det finns ingen mapp!"
Else
Set folder = fso.getFolder(server.mappath("bilder/"))
set files = folder.files
myArray=Array()
nummer = -1
for each Item in files
nummer = nummer+1
Redim preserve myArray(nummer)
myArray(nummer) = Item.name
Next
end if
Du har väl bara en array?
Hur stor den är kan du få reda på med ubound(arraynamn). Du får då dess största index, så ska du visa antal så får du lägga på 1 (eftersom arrayer är nollbaserade.)
Nu känner jag mig väldigt jobbig men jag behöver hjälp med en sak.
På sidan ser ni hur det ser ut.
Det jag undra är hur jag ska göra för att skriva ut all bilder i mappen och länka dem med samma bildnummer, alltså samma querystring genereras i arrayen.
Finns det någon metod för att få fram vilket nummer en bild har?
De löste sig de där också
Här kommer hela min kod!
<%
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If NOT fso.FolderExists(server.mappath("bilder/")) Then
Response.Write "Det finns ingen mapp!"
Else
Set folder = fso.getFolder(server.mappath("bilder/"))
set files = folder.files
set files2 = folder.files
nummer = -1
myArray=Array()
for each Item in files
nummer = nummer+1
Redim preserve myArray(nummer)
myArray(nummer) = Item.name
Next
end if
max = ubound(myArray)
if request.QueryString("bild") = "" then
bild = "0"
else
bild = request.QueryString("bild")
end if
%>
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td width="46%"><img src="bilder/<%=myArray(bild)%>" width="384" height="316" border="0"></td>
<td width="54%">
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td bgcolor="#CCCCCC">Föregående bild</td>
</tr>
<tr>
<td> <% if bild = "0" then%>
Ingen
<% else %>
<a href="bilder.asp?bild=<%=bild-1%>"><img src="bilder/<%=myArray(bild-1)%>" width="193" height="113" border="0"></a>
<% end if %></td>
</tr>
<tr>
<td bgcolor="#CCCCCC">Nästa bild</td>
</tr>
<tr>
<td><% if cInt(bild) = cInt(max) then %>
Ingen
<% else %>
<a href="bilder.asp?bild=<%=bild+1%>"><img src="bilder/<%=myArray(bild+1)%>" width="193" height="113" border="0"></a>
<% end if %></td>
</tr>
</table>
</td>
</tr>
</table>
<%
nummer2 = -1
for each Item in files
nummer2 = nummer2+1
%>
<a href="bilder.asp?bild=<%=nummer2%>"><img src="bilder/<%=Item.name%>" width="384" height="316" border="0"></a><br>
<% next %>
</div>
Tack för all er hjälp
266 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd