Avatar billede mik Nybegynder
03. januar 2006 - 20:55 Der er 5 kommentarer

Sidste 5 - 6 billeder i et fotogallery

Jeg har denne kode til at vise det sidste billede fra vores fotogallery. (Koden er herfra Eksperten). Det jeg godt kunne tænke mig hjælp til er at den istedet for at vise et billede viser 5 eller 6 sidste billeder (Hvis man kan sætte en variabel op).

Da der ikke er for meget plads skal de vises som tumbnails.

Er det muligt.

Her kommer koden:

<%
Function FormatMediumDate(DateValue)
    Dim strYYYY

        strYYYY = CStr(DatePart("yyyy", DateValue)
        FormatMediumDate = strYYYY
End Function
%> 

<%
session.lcid=1030
%>


<%Set fso = CreateObject("Scripting.FileSystemObject")

fileDate = ""
fileName = ""
filePath = ""

function saveFiles (foldernavn)
  Set objFolder = fso.getFolder( foldernavn )
  Set objFiles = objFolder.Files

  for each file in objFiles
  if instr(1,"bmp,gif,jpg,png,jpeg,tif",lcase(fso.GetExtensionName(file.name)))>0 then
    if isDate(fileDate) then
      if CDate(file.DateLastModified) > CDate(fileDate) then
        fileDate = file.DateLastModified
        fileName = file.name
        filePath = file.Path
      end if
    else
      fileDate = file.DateLastModified
      fileName = file.name
      filePath = file.Path
    end if
  end if
  next
 
  For each Folder in objFolder.SubFolders
    call saveFiles (Folder.path)
  next
 
  Set objFolder = Nothing
  Set objFiles = Nothing
end function

relativSti = "/photoindex/images/" & FormatMediumDate(date())

strPhysicalPath = Server.MapPath(relativSti)
Set objFolder = fso.getFolder( strPhysicalPath )

For each Folder in objFolder.SubFolders
  call saveFiles (folder.Path)
next

sti = replace(filePath,Server.MapPath("/"),"",1,-1,1)
sti = replace(sti,"\","/")

Response.Write "<p align=""center""><b><font size=""4"" face=""Arial"">Sidste billede der er taget: " & fileDate & "<br><br>"
Response.Write "<img src=""" & sti & """  border=""3""><br><br>Filnavn: " & fileName

Set objFolder = Nothing
Set fso = Nothing
%>
Avatar billede larsny Nybegynder
04. januar 2006 - 12:12 #1
du kan prøve noget med

x = 0
for each file in objFiles
x = x = 1
if x >= 6 then
exit for
end if
Avatar billede mik Nybegynder
04. januar 2006 - 13:06 #2
Tak for dit svar, men kan du være behjælpelig med at fortælle mig hvor i koden det skal sættes ind.. pft.
Avatar billede larsny Nybegynder
04. januar 2006 - 14:39 #3
der hvor der står

function saveFiles (foldernavn)
  Set objFolder = fso.getFolder( foldernavn )
  Set objFiles = objFolder.Files

  for each file in objFiles

der erstatter du den sidste linie (altså "for each file in objFiles")
med det jeg skrev før
Avatar billede larsny Nybegynder
04. januar 2006 - 14:51 #4
sorry vent lidt.. tror jeg har misforstået dig...

Vil du have den skal tage de 6 nyeste billeder fra hver af alle mapperne,
eller er det de 6 nyeste billeder generelt for alle mapperne,
eller er det bare de 6 nyeste billeder for den mappe du har valgt?
Avatar billede mik Nybegynder
04. januar 2006 - 15:05 #5
Det er de sidste 6 billeder generelt fra alle mapper. DVS at hvis der er 5 billeder i den sidste mappe, skal den tage et fra den næstidste mappe der er oprettet. Hvis det er en større operation er det OK hvis det er de sidste billeder fra den valgte mappe dog max 6. Ved du til hvordan man klare resizeproblemet. Har skal man tænke på at billederne kan ligge i landscape og på højkant...
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