11. januar 2004 - 10:01Der er
20 kommentarer og 1 løsning
Udskriv array i omvendt rækkefølge
Hej E.
Jeg har følgende kode:
For Each objFileItem in objFiles strExt = LCase(Right(objFileItem.Name,4)) If strExt=".gif" OR strExt=".jpg" THEN arrBilleder(0,x) = objFileItem.Name arrBilleder(1,x) = Cstr(int(x/antalPrSide)+1) x = x + 1 End if Next
For x = 0 to UBound(arrBilleder,2)-1 If CInt(arrBilleder(1,x)) = intPage Then ShowPic = Replace(arrBilleder(0,x), " ", "%20") Response.Write "<td onmouseover = ""this.style.backgroundColor = '#40647B';"" onmouseout = ""this.style.backgroundColor = 'white';"" align='center' valign='bottom'><a href='Large/" & arrBilleder(0,x) & "' onClick=""skrivsti(this.src)"">" Response.Write "<img src='" & "Thumb/" & arrBilleder(0,x) & "' border='0'>" Response.Write vbcrlf
PictureNo = PictureNo + 1 If PictureNo=4 Then Response.write "</tr><tr>" PictureNo = 0 End if End If Next
Den virker fint, men jeg vil gerne have vist billederne i omvendt rækkefølge.
Jeg prøvede lige at sætte step op til -4, og det gav det rigtige resultat, men jeg fatter ikke at det skulle have noget med sideopdelingen at gøre, da den "bare" løber antallet af billeder igennem.
arrBilleder(1,x) indeholder vel den "side" billedet skal vises på. Og det er de samme sider selvom vi løber dem igennem baglæns. Men billederne på en og samme side vises vel baglæns?
For Each objFileItem in objFiles strExt = LCase(Right(objFileItem.Name,4)) If strExt=".gif" OR strExt=".jpg" THEN arrBilleder(0,x) = objFileItem.Name arrBilleder(1,x) = Cstr(int(x/antalPrSide)+1) x = x + 1 End if Next
max=arrBilleder(1,x-1)+1 for x=0 to ubound(arrBilleder,2) arrBilleder(1,x)=max-arrBilleder(1,x) next
Ok der er blæret :-) Nu er det kun en lille detalje som driller.
Hvis jeg har 10 billeder, og der bliver vist 4 billeder pr side. Så bliver de vist som 2, 4, 4 billeder pr side. Jeg vil jo gerne have 4, 4, 2 billeder pr side. (det var også det de blev før), men det er jo fordi vi bare udskrive omvendt. Er det også noget man kan rette til?
Selvfølgelig. Og det gør vi måske på denne måde, som yderligere er lidt simplere (utestet):
For Each objFileItem in objFiles strExt = LCase(Right(objFileItem.Name,4)) If strExt=".gif" OR strExt=".jpg" THEN arrBilleder(0,x) = objFileItem.Name x = x + 1 End if Next
y=0 for x=ubound(arrBilleder,2) to 0 step -1 arrBilleder(1,x) = Cstr(int(y/antalPrSide)+1) y=y+1 next
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.