Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 21:09 Der er 21 kommentarer og
1 løsning

Hente første billed fil i mappe

Hej!

Kan man lave noget ASP halløj, som automatisk henter den første billede i en mappe og viser det på en hjemmeside?

Mit problem er, at alle billederne har forskellige navne - i mappe 1 hedder billederne pic01.jpg, pic02.jpg, pic03.jpg, i mappe 2 hedder billeder bil101003a.jpg, bil101003b.jpg osv og igen i mappe 3 hedder billederne noget andet igen...

Men det skal ikke bare være en random funktion - den skal vælge samme billede hver gang!!

Kan det laves?

Vh

Rasmus!
Avatar billede erikjacobsen Ekspert
22. oktober 2003 - 21:12 #1
Hvordan definerer du det første billede i en mappe??
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 21:22 #2
Ja altså...

Faktisk bare at den henter det billede i mappen som ligger først i alfabetet! Eller at den i det mindste henter det samme billede hver gang.

- Rasmus!
Avatar billede netro Nybegynder
22. oktober 2003 - 21:30 #3
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("c:\mappe1\mappe2\images\")
For Each File In Folder.Files
  Response.Write "<img src='" & File.Name & "'>"
  Exit For
Next

Noget i den stil?
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:21 #4
Hvad gør den helt præcis?
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:21 #5
Så vidt jeg kan læse mig ud af den, skriver den en <img src bla bla bla> for hvert billede i mappen, ikke?
Avatar billede netro Nybegynder
22. oktober 2003 - 22:22 #6
Lige netop ikke! Når første billede i mappen er udskrevet, hopper vi ud af løkken med Exit For.
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:23 #7
Ahh smart... ;)

Afprøver det lige!
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:29 #8
Jeg har sat det sådan her op:

%

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount

  Do While Not rs.EOF And intRecCount > 0
    ID = rs("ID")
    Dato = rs("dato")
    Sted = rs("sted")
    Melding = rs("melding")
    Tekst = rs("tekst")
    Fra = rs("fra")
    PicID = rs("picid")
%>
<%
   
If PicID = 0 Then

    strBillede = "<img border='0' src='isl/nopicture.jpg' width='135' height='101'>"
    strLink = strBillede   

else

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder('isl/" & rs("picid") & "/thumbnails')
    For Each File In Folder.Files
      strBillede = "<img src='" & File.Name & "'>"
      Exit For
    Next

    strLink = "<a href='isl/" & rs("picid") & "/index.html'>" & strBillede & "</a>"
   
End If

%>

Men det virker ikke! Hvad gør jeg galt?

- Rasmus!
Avatar billede netro Nybegynder
22. oktober 2003 - 22:31 #9
At du ikke skriver hele stien til mappen med billederne og har erstattet mine " med '.
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:33 #10
Skriver hele stien til mappen? Altså mappens navn finder du jo med isl/ +rs("picid")+ /thumbnail

Mappernes navne er jo forskellige for hver post...

Prøver lige at udskifte tegnene...

- Rasmus!
Avatar billede netro Nybegynder
22. oktober 2003 - 22:33 #11
I øvrigt kan jeg ikke få øje på noget "LOOP" og heller ikke en "<" i første linie. Desuden behøver du ikke at sætte FSO hver eneste gang. Flyt følgende linie op i toppen:

Set FSO = CreateObject("Scripting.FileSystemObject")

- og husk at lukke efter dig, når loopet er færdigt med:

Set FSO = Nothing
Avatar billede netro Nybegynder
22. oktober 2003 - 22:34 #12
Det skal være HELE stien fra roden!
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:34 #13
Hvor har jeg erstattet dine " med ' ??

- Rasmus!
Avatar billede netro Nybegynder
22. oktober 2003 - 22:35 #14
Set Folder = FSO.GetFolder('isl/" & rs("picid") & "/thumbnails')

------>

Set Folder = FSO.GetFolder("c:/mappe1/isl/" & rs("picid") & "/thumbnails")
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:35 #15
Altså den lokale sti?

Den der < er i filen, fik den bare ikke lige kopieret med over...

Jeg paster lige hele min asp fil herind
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:36 #16
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Udrykninger - RingstedBrand.dk</title>
<base target="_self">
<link rel="stylesheet" type="text/css" href="cssdesign/design02.css">

<meta name="Microsoft Border" content="none">
</head>

<body bgcolor="#FFFFFF" background="images/baggrund01.gif" topmargin="2" leftmargin="2">

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="740" id="AutoNumber1">
  <tr>
    <td width="160" align="center">
    <h2 align="left">&nbsp;</h2>
    </td>
    <td width="565">
    <h1>UdrykningsRapporter</h1>
    <h2>På denne side kan De holde Dem ajourført med Ringsted Brandvæsens
    udrykninger. Under hver udrykning vil der være en kort beskrivelse af
    indsatsen, og ved at klikke på det lille billede til venstre, kan De få
    flere billeder at se fra indsatsen.</h2>
    <h2><u>De seneste udrykninger:</u></h2>
    </td>
    <td width="15">&nbsp;</td>
  </tr>
  </table>
<%

intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database/udrykninger.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")

SQLstmt = "SELECT * FROM udrykninger ORDER BY Dato desc;"

rs.Open SQLstmt, conn, 1
%>
<%

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 5
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount

  Do While Not rs.EOF And intRecCount > 0
    ID = rs("ID")
    Dato = rs("dato")
    Sted = rs("sted")
    Melding = rs("melding")
    Tekst = rs("tekst")
    Fra = rs("fra")
    PicID = rs("picid")
%>
<%
   
If PicID = 0 Then

    strBillede = "<img border='0' src='isl/nopicture.jpg' width='135' height='101'>"
    strLink = strBillede   

else

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder("isl/" & rs("picid") & "/thumbnails/")
    For Each File In Folder.Files
      strBillede = "<img src='" & File.Name & "'>"
      Exit For
    Next

    strLink = "<a href='isl/" & rs("picid") & "/index.html'>" & strBillede & "</a>"
   
End If

%>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="740" id="AutoNumber4">
  <tr>
    <td width="160"><h2><center><%
Response.Write strLink
%></center></h2></td>
    <td width="565">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="535" id="AutoNumber5">
      <tr>
        <td width="171">
        <h2><u><%=dato%></u><br>
&nbsp;</h2>
        </td>
        <td width="364">
        <h2><%=fra%> - <%=melding%><br>
        <%=sted%></h2>
        </td>
      </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="535" id="AutoNumber6">
      <tr>
        <td>
        <h2><%=tekst%></h2>
        </td>
      </tr>
    </table>
    </td>
    <td width="15">&nbsp;</td>
  </tr>
  <tr>
    <td width="160">&nbsp;</td>
    <td width="565"><img border="0" src="images/streg.jpg" width="535" height="3"></td>
    <td width="15">&nbsp;</td>
  </tr>
</table>


&nbsp;<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="740" id="AutoNumber7">
  <tr>
    <td width="739">
    <h2 align="center">
    <font face="Verdana" style="font-size: 9pt"><b>
<%
    intRecCount = intRecCount - 1
    rs.MoveNext
  LOOP
End if
RS.Close


'Her udskrives << 1 2 3 4 >>  altså link til siderne man kan gå til.
Response.Write "<p>Gå til side "
For intNum = 1 To intPageCount
    Response.Write "<a href=?page=" & intNum & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=?page=" & intPage - 1 & ">&lt;&lt; Forrige</a> "
Else
    Response.Write "&lt;&lt; "
End If

'Response.Write "&nbsp;"
Response.Write " | "

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=?page=" & intPage + 1 & ">Næste &gt;&gt;</a> "
Else
    Response.Write "&gt;&gt; "
End If


conn.Close
Set conn = nothing
Set SQLstmt = nothing
%></a></h2>
    </td>
  </tr>
</table>

</body>

</html>
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:38 #17
Ja så virker det med den nye Set folder du skrev...

- Rasmus!
Avatar billede netro Nybegynder
22. oktober 2003 - 22:39 #18
Så den viser det første billede?
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:40 #19
Ja nemlig!

Koden skulle bare lige tilpasses så den nu ser sådan ud:

<%
   
If PicID = 0 Then

    strBillede = "<img border='0' src='isl/nopicture.jpg' width='135' height='101'>"
    strLink = strBillede   

else

    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder("c:/inetpub/wwwroot/ringstedbrand/isl/" & rs("picid") & "/thumbnails")
    For Each File In Folder.Files
      strBillede = "<img src='isl/" & rs("picid") & "/thumbnails/" & File.Name & "' width='135' height='101' border='0'>"
      Exit For
    Next

    strLink = "<a href='isl/" & rs("picid") & "/index.html'>" & strBillede & "</a>"
   
End If

%>

Tog bare lige det vigtigste og pastede...

Læg lige et svar så du kan få point!

- Rasmus!
Avatar billede netro Nybegynder
22. oktober 2003 - 22:43 #20
Fint - men husk lige 22/10-2003 22:33:40
Avatar billede rasmus_h Nybegynder
22. oktober 2003 - 22:45 #21
Jepper... Har jeg ændret også...

Tak for hjælpen!
Avatar billede netro Nybegynder
22. oktober 2003 - 22:45 #22
Velbekomme :)
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