Hej!
Jeg har været så heldig at finde noget allerede skrevet asp kode,
der henter alle filer frem fra en angivet mappe og viser dem.
Jeg har så valgt at bruge det til at vise billeder fra
forskellige arrangementer (i forskellige mapper) på samme side,
så jeg gentager koden for hvert arrangements galleri.
Mine problemer kommer dog i at den skriver følgende fejl:
"Microsoft VBScript runtime error '800a0009' 
Subscript out of range: '11' 
/default.asp, line 315"
(se her: 
http://www.musix.dk/?page=billeder )
Der ER kun 10 billeder (og intet andet, hverken andre filer eller
mapper eller noget som helst) i den mappe. Alligevel prøver den
at vise et 11. billede. 
Ved galleriet før er der kun ét billede, men også her forsøger
den at vise endnu et.
Ved det første galleri er der kun ét billede og her vises der
også kun ét billede - jeg forstår ikke!
Det er som om den tager værdierne med i det senere gallerier (og
der derfor ikke sker fejl ved det første) - men hvordan undgår
jeg det? Jeg ved godt det er et monster projekt - men jeg har
ingen anelse om hvordan man får den til at bruge alle filer
fundet i en angivet mappe og der findes ikke noget, der er
skræddersyet til det jeg gerne vil have. Den skal garanteret
tilpasses meget mere endnu, men her er den kode, der bliver brugt
på ovenstående link:
<% Tbilleder = 1 %>
              <p class="navigation">Navigation   - [  
<%
    DO UNTIL Tbilleder = 6 OR rs3a.EOF %><a href="#ID-<%
=rs3a("ID") %>" class="navigation"><% =rs3a("titel") %></a>
  <%
      rs3a.MoveNext
      Tbilleder = Tbilleder + 1
    LOOP %>]</p>
              <center>
                <table border="0" cellpadding="0" cellspacing="0"
width="600"><%
    IF (Request.Querystring("vis") = "alle") THEN
      Tbilleder = 10
    ELSE
      Tbilleder = 1
    END IF
    DO UNTIL Tbilleder = 6 OR rs3b.EOF %>
              <div align="center">
                <table border="0" cellpadding="0" cellspacing="0"
width="600">
                  <tr>
                    <td class="tvramme" valign="top"><a
name="ID-<% =rs3b("ID") %>"></a></td>
                    <td class="tramme"></td>
                  </tr>
                  <tr>
                    <td class="vramme" rowspan="3"></td>
                    <td class="ramme" height="30" valign="top">
                      <p class="umargin"><b><% =rs3b("titel")
%></b>  - [ <% =FormatDateTime(rs3b("dato"), vbLongDate) %>
]</p>
                    </td>
                  </tr>
                  <tr>
                    <td class="ramme"><%
      dim image_directory, image_directory_short, Images_pr_Page,
Images_Horizontal
      image_directory = "gfx/" & rs3b("mappe")
      image_directory_short = rs3b("mappe")
      Images_pr_Page = "9999"
      Images_Horizontal = "3"
      dim count_image, image, Image_Array
      Set
directory=server.createobject("scripting.filesystemobject")
      Set
allfiles=directory.getfolder(server.mappath(image_directory))
      For each image in allfiles.files
        Image_Array = Image_Array + image.Name & ","
        count_image = count_image +1
      Next
      dim Current_Page, Total_Pages, Total_Images, Page_Name
      Page_Name = request.servervariables("script_name")
      Total_Images = count_image
      Current_Page  = request.querystring("paging")
      If Current_Page = "" or Current_Page = "0" then
        Current_Page = "1"
      end if
      Total_Pages = (Total_Images/Images_pr_Page)
      if Total_Pages > int(Total_Pages) then
        Total_Pages = int(Total_Pages) + 1
      end if
      Image_Array = split(Image_Array,",")
      dim First_Image, Last_Image
      First_Image = ((Current_Page-1)*(Images_pr_Page))+1
      If First_Image =  "0" then
        First_Image = "1"
      end if
      Last_Image = (Total_Images-First_Image)
      if cint(Last_Image) > cint(Images_pr_Page) then
        Last_Image = round(First_Image-1) + round(Images_pr_Page)
      else
        Last_Image = (First_Image + Last_Image)
      End if
      response.write "<table style=""width:500;"">" & vbCrLf
        dim Count_Image_Prints, td_width
        Count_Image_Prints = 0
        td_width = int(100 / Images_Horizontal)
        dim I
        For I = (First_Image-1) to (Last_Image-1)
          Count_Image_Prints = Count_Image_Prints + 1
          If int(Count_Image_Prints) = int("1") then
            response.write "<tr>" & vbCrLf
          end if
          response.write "<td width=""33%"" align=""center"">" &_
            "<a href=""?page=billeder&visstor="&
image_directory_short &"-stor/"& Image_Array(I) &""">" &_
              "<img src="""& image_directory &"/"& Image_Array(I)
&""">" &_
            "</a>" &_
          "</td>" & vbCrLf
          If int(Count_Image_Prints) = int(Images_Horizontal)
then
            response.write "</tr>" & vbCrLf
            Count_Image_Prints = 0
          end if
        Next
        response.write "</tr>" & vbCrLf &_
          "</table>" & vbCrLf %>
                      <p class="navigation" align="right">[ <a
href="#" class="navigation">top</a> ]</p>
                    </td>
                  </tr>
                  <tr>
                    <td height="30"></td>
                  </tr><%
      rs3b.MoveNext
      Tbilleder = Tbilleder + 1
      Image_Array = ""
    LOOP %>
Plz hjælp ! :D - hilsen Dennis.
-- 
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
 - Pædagogiske tutorials på dansk
 - Kom godt i gang med koderne
KLIK HER! => 
http://www.html.dk/tutorials