Avatar billede phoenix_2004 Nybegynder
14. juni 2005 - 00:35 Der er 9 kommentarer og
1 løsning

Stop billede tælning

Jeg har følgende kode:
_______________________start________________________________
<%
billedeSti = "Maj05BogU-DM/"
antalBillederPrSide = 8
antalBillederPrRekke = 4

if Request.QueryString("billede") = "" then
start = request.querystring("start")
if start = "" then start = 0
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(server.mappath(billedeSti))
Set fc = f.Files
For Each billed in fc
arrayBuild = arrayBuild & billed.name & "|"
next
arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))       
myArray = Split(arrayBuild, "|")
Antalsider = int(ubound(myarray) / antalBillederPrSide)
antal = 0
for i = start to (start + antalBillederPrSide-1)
if not i > ubound(myarray) then
if antal = 0 then Response.Write "<tr>"       
%>
<td width="<%=Int(antalBillederPrRekke/100)%>">
<a href="?MenuID=1&PicID=<%=left(myArray(i), 2)%>&start=<% = Request.Querystring("Start")%>"><img SRC="<%=billedeSti%><%=myArray(i)%>" WIDTH="100" HEIGHT="75" border="0"></a>
</td>
<%
else
nesteside = 1
end if
antal = antal + 1
if antal = 4 then
Response.Write "</tr>"
antal = 0
end if
next
if antal > 0 then Response.Write "</tr>"
%>
</table>
<center>
<%
If start <> 0 then
response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start - 8) & """> <- Forrige</a>&nbsp; |"
end if
response.write("&nbsp;&nbsp;")
if nesteside <> 1 then
response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start + 8) & """>Næste -></a>"
end if   
%>
</center>
<%
End if
%>
_____________________Slut________________________________________

Jeg har lidt problemer med at få den til at "stoppe" med at tælle billederne. Dvs at hvis jeg har et lige antal feks. 24, så tror den at der er flere og man kan se "næste" antal billeder og når man trykker på næste, så er der ikke nogen billede kun muligheden for at "gå tilbage"...

Hvordan forhindre jeg det ????
Avatar billede musicchart.dk Nybegynder
14. juni 2005 - 01:12 #1
for det første, hvorfor har du kun 'end if' 5 gange, mens du har 'if' 8 gange?
Avatar billede nielle Nybegynder
14. juni 2005 - 18:19 #2
<%
billedeSti = "Maj05BogU-DM/"
antalBillederPrSide = 8
antalBillederPrRekke = 4

if Request.QueryString("billede") = "" then
    start = request.querystring("start")

    if start = "" then start = 0

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(server.mappath(billedeSti))
    Set fc = f.Files

    For Each billed in fc
        arrayBuild = arrayBuild & billed.name & "|"
    next

    arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))       
    myArray = Split(arrayBuild, "|")
    Antalsider = int(ubound(myarray) / antalBillederPrSide)
    antal = 0

    nesteside = 0

    for i = start to (start + antalBillederPrSide - 1)
        If i > UBound Then
            nesteside = 1
            Exit For
        End If

        if antal = 0 then Response.Write "<tr>"       
%>
<td width="<% =Int(antalBillederPrRekke/100) %>">
<a href="?MenuID=1&PicID=<% =left(myArray(i), 2) %>&start=<% = Request.Querystring("Start")%>"><img SRC="<% =billedeSti %><% =myArray(i) %>" WIDTH="100" HEIGHT="75" border="0"></a>
</td>
<%
        antal = antal + 1

        if antal = 4 then
            Response.Write "</tr>"
            antal = 0
        end if
    next

    if antal > 0 then Response.Write "</tr>"
%>
</table>
<center>
<%
    If start <> 0 then
        response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start - 8) & """> <- Forrige</a>&nbsp; |"
    end if

    response.write("&nbsp;&nbsp;")

    if nesteside <> 1 then
        response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start + 8) & """>Næste -></a>"
    end if
%>
</center>
<%
End if
%>
Avatar billede nielle Nybegynder
14. juni 2005 - 18:20 #3
musicchart.dk> Det er lovligt at undlade "End If" hvis hele koden skrives på een og samme linje.
Avatar billede musicchart.dk Nybegynder
15. juni 2005 - 17:35 #4
nielle >> puuha, ASP minder mig mere og mere om hjemmesider der er "optimeret" til IE, hvor det er "tilladt" at lave fejl.
Men så har man også lært det.
Avatar billede nielle Nybegynder
15. juni 2005 - 18:33 #5
Det er skam ikke en fejl. Det er simpelthen en del af syntaksen i VBScript:

http://www.w3schools.com/vbscript/vbscript_conditionals.asp
Avatar billede nielle Nybegynder
15. juni 2005 - 21:51 #6
Sorry, der var fejl i min kode. Denne skulle virke meget bedre:

<%
billedeSti = "Maj05BogU-DM/"
antalBillederPrSide = 8
antalBillederPrRekke = 4

if Request.QueryString("billede") = "" then
    start = request.querystring("start")

    if start = "" then start = 0

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(server.mappath(billedeSti))
    Set fc = f.Files

    For Each billed in fc
        arrayBuild = arrayBuild & billed.name & "|"
    next

    arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))       
    myArray = Split(arrayBuild, "|")
    Antalsider = int(ubound(myarray) / antalBillederPrSide)
    antal = 0

    nesteside = "JA"

    for i = start to (start + antalBillederPrSide - 1)
        If i = UBound Then
            nesteside = "NEJ"
        End If

        If i > UBound Then           
            Exit For
        End If

        if antal = 0 then Response.Write "<tr>"       
%>
<td width="<% =Int(antalBillederPrRekke/100) %>">
<a href="?MenuID=1&PicID=<% =left(myArray(i), 2) %>&start=<% =Request.Querystring("Start") %>"><img SRC="<% =billedeSti %><% =myArray(i) %>" WIDTH="100" HEIGHT="75" border="0"></a>
</td>
<%
        antal = antal + 1

        if antal = 4 then
            Response.Write "</tr>"
            antal = 0
        end if
    next

    if antal > 0 then Response.Write "</tr>"
%>
</table>
<center>
<%
    If start <> 0 then
        response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start - 8) & """> <- Forrige</a>&nbsp; |"
    end if

    response.write("&nbsp;&nbsp;")

    if nesteside = "JA" then
        response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start + 8) & """>Næste -></a>"
    end if
%>
</center>
<%
End if
%>
Avatar billede phoenix_2004 Nybegynder
22. juni 2005 - 13:42 #7
Fik en fejl ved anvendelse af din kode:

_________________________________________________________________________________
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01c2'
Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig: 'ubound'

test.asp, linje 100
Avatar billede nielle Nybegynder
22. juni 2005 - 17:47 #8
Sådan, så skulle to bøffer være blevet stegt:

<%
billedeSti = "Maj05BogU-DM/"
antalBillederPrSide = 8
antalBillederPrRekke = 4

if Request.QueryString("billede") = "" then
    start = request.querystring("start")

    if start = "" then start = 0

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(server.mappath(billedeSti))
    Set fc = f.Files

    For Each billed in fc
        arrayBuild = arrayBuild & billed.name & "|"
    next

    arrayBuild = left(arrayBuild, (len(arrayBuild) - 1))       
    myArray = Split(arrayBuild, "|")
    Antalsider = int(ubound(myarray) / antalBillederPrSide)
    antal = 0

    nesteside = "JA"

    for i = start to (start + antalBillederPrSide - 1)
        If i = UBound(myArray) Then nesteside = "NEJ"

        If i > UBound(myArray) Then Exit For

        if antal = 0 then Response.Write "<tr>"       
%>
<td width="<% =Int(antalBillederPrRekke/100) %>">
<a href="?MenuID=1&PicID=<% =left(myArray(i), 2) %>&start=<% =Request.Querystring("Start") %>"><img SRC="<% =billedeSti %><% =myArray(i) %>" WIDTH="100" HEIGHT="75" border="0"></a>
</td>
<%
        antal = antal + 1

        if antal = 4 then
            Response.Write "</tr>"
            antal = 0
        end if
    next

    if antal > 0 then Response.Write "</tr>"
%>
</table>
<center>
<%
    If start <> 0 then
        response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start - 8) & """> <- Forrige</a>&nbsp; |"
    end if

    response.write("&nbsp;&nbsp;")

    if nesteside = "JA" then
        response.write "<a href=""?MenuID=1&PicID="& Request.Querystring("PicID") &"&start=" & (start + 8) & """>Næste -></a>"
    end if
%>
</center>
<%
End if
%>
Avatar billede phoenix_2004 Nybegynder
23. juni 2005 - 14:15 #9
Tak. Et svar tak..
Avatar billede nielle Nybegynder
24. juni 2005 - 00:15 #10
Svar :^)
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