Vad gör jag fel idag? Får Unexpected 'Next' som felmeddelande.
foname = request.querystring("obj")
Set FSO2 = Server.CreateObject("Scripting.FileSystemObject")
Set Folder2 = FSO2.GetFolder(server.mappath("bild/"&foname&""))
set Files = Folder2.Files
For each Item In Files
if left(Item.Name,3) = "th_" then
Response.Write "<table>" & vbCrLf
Response.Write "<tr>" & vbCrLf
Do
If x mod 3=0 and x>1 Then Response.Write "</tr><tr>" & vbCrLf
Response.Write "<td>" & vbCrLf
response.write item.name &"<br>"
strFileName = item.name
response.write "<img src ='bild/"& foname &"/"& strFileName &"'>"
Response.Write "</td>" & vbCrLf
x=x+1
Loop Until files.EOF
Next
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'EOF'
/husshow.asp, line 122
Följande kod funkar, men jag vill göra så att den skriver en tabellrad med 3 bilder - så en ny rad med 3 o.s.v.
foname = request.querystring("obj")
Set FSO2 = Server.CreateObject("Scripting.FileSystemObject")
Set Folder2 = FSO2.GetFolder(server.mappath("bild/"&foname&""))
set Files = Folder2.Files
For each Item In Files
if left(Item.Name,3) = "th_" then
response.write item.name &"<br>"
Dim strFileName
strFileName = item.name
response.write "<img src ='bild/"& foname &"/"& strFileName &"'><br>"
end if
Next
Kanske finns snyggare sätt att lösa det på. Känner mig rätt slut i huvudet, men detta bör fungera:
counter=0
For each Item In Files
If left(Item.Name,3) = "th_" then
counter=counter+1
response.write item.name &"<br>"
Dim strFileName
strFileName = item.name
response.write "<img src =""bild/" & foname & "/" & strFileName &""">"
if counter=3 then
counter=0
response.write "<br>"
end if
end if
Next
Alltså, du räknar hur mycket du skrivit ut och när du kommer till tre byter du rad och börjar om igen.
foname = request.querystring("obj")
Set FSO2 = Server.CreateObject("Scripting.FileSystemObject")
Set Folder2 = FSO2.GetFolder(server.mappath("bild/"&foname&""))
set Files = Folder2.Files
Response.Write "<table>" & vbCrLf
Response.Write "<tr>" & vbCrLf
For each Item In Files
if left(Item.Name,3) = "th_" then
If x mod 3=0 and x>1 Then Response.Write "</tr><tr>" & vbCrLf
Response.Write "<td>" & vbCrLf
strFileName = item.name
Response.write "<img src ='bild/"& foname &"/"& strFileName &"'></a>"
Response.Write "</td>" & vbCrLf
x=x+1
end if
Next
end if