/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Opstille en tabel fra et array
Fra : kristensenrune@hotma~


Dato : 31-01-06 22:24

Hej NG.

Er ved at lave noget galleri, og har derfor lavet en asp side, der
henter billeder fra en mappe og det er så meningen at den skal
udskrive det i en tabel der har 3 kolonner.

Jeg har lavet følgende script, den stiller det egentlig rigtigt op, 3
kolonner og så rækkeskift, men den skifter ikke billedet ud, dvs at
der i hver kolonne kommer det samme billede 3 gange, en gang i hvert
"vindue"...
Desuden kommer der også en celle med et dejligt rødt kryds....

Er der nogen der kan hjælpe mig??

På forhånd tak.

Scritp:

<%
ASPDir = Request.Querystring("mappe")

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(Server.MapPath(ASPDir))
Set objFiles = objFolder.Files

For Each ASPFile In objFiles

If right(ASPFile.Name, 3) = "JPG" OR right(ASPFile.Name, 3) = "jpg"
Then

intFile = intFile + 1
picturelist = picturelist & ASPFile.Name & ","
end if

Next

Set objFS = Nothing

picturearray = Split(picturelist,",")

' Uden for loopen:
intAntal = UBound(picturearray)
intTaeller = 0
Response.Write "<table>" & vbcrlf

' første loop
Do While intTaeller < intAntal + 1
Response.Write "<tr>" & vbcrlf

' Indre loop
For i = 1 to 3
Response.Write "<td>"
Response.Write "<img src="""&ASPDir&"\" & picturearray(intTaeller) &
""" width=""300"">"
Response.Write "</td>" & vbcrlf
Next

Response.Write "</tr>" & vbcrlf
intTaeller = intTaeller + 1
Loop

' Uden for loopen:
Response.Write "</table>" & vbcrlf
%>


 
 
Jens Gyldenkærne Cla~ (31-01-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 31-01-06 23:10

skrev:

> Er der nogen der kan hjælpe mig??

Du kan måske bruge et script jeg allerede har kørende:

<http://gyros.dk/usenet/asp/tabelkode.asp>


Men vi kan også godt kigge lidt på dit aktuelle script.


> For Each ASPFile In objFiles
>
> If right(ASPFile.Name, 3) = "JPG" OR right(ASPFile.Name, 3) =
> "jpg"

Her ville jeg overveje at bruge lcase, så man fanger alle
kombinationer af Jpg, JPg, jPG etc.

   If lcase(right(ASPFile.Name, 3) = "asp" Then


> intFile = intFile + 1
> picturelist = picturelist & ASPFile.Name & ","

Jeg kan ikke se det store formål med at anvende et array her - det
skader ikke, men man kan også bare skrive ud efterhånden som man
finder filerne (se evt. mit script øverst).



> For i = 1 to 3
> Response.Write "<td>"
> Response.Write "<img src="""&ASPDir&"\" &
> picturearray(intTaeller) & """ width=""300"">"
> Response.Write "</td>" & vbcrlf
> Next

Tre problemer.

1) Du tæller i op fra 1 til 3, men bruger intTaeller som variabel
til dit array. Derfor får du tre gange det samme billede.

2) Backslashes hører ikke hjemme på websider - brug / til at
markere mappestrukturen (visse browsere oversætter selv \ til /,
men det gælder bestemt ikke alle).

3) Hvis du begynder at tælle intTaeller op i den indre for-løkke,
vil du få fejl når du har et antal billeder der ikke kan deles med
tre.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

kristensenrune@hotma~ (01-02-2006)
Kommentar
Fra : kristensenrune@hotma~


Dato : 01-02-06 17:36

Hej Jens.

Jeg har kigget på dit script og jeg må sige at det er mere
overskueligt end det jeg fik lavet.
Desuden så virker det også :D

Så jeg har brugt det, med nogle få ændringer...

Rigtig mange tak!


Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408514
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste