Avatar billede nwt Nybegynder
11. maj 2006 - 01:49 Der er 8 kommentarer og
3 løsninger

progressbar der viser x antal filer i mappe i forhold til forv.

Jeg har brug for en progress-bar der angiver hvor mange filer der er i en given mappe i forhold til forventet.
Optælling af filer skal ske på syntaks, således at kun filer med en bestemt ekstension (*.ext) tælles med. Det forventede antal (100%) tages fra en værdi i en access-db. Værdieni db kunne f.eks være 10, så hvis antallet af filer i mappen er 5,... tjah, så skal den vise 50%.
Avatar billede thesurfer Nybegynder
11. maj 2006 - 02:28 #1
function filtype(ext) ' finder og returnerer filtypen/extension
filtype = mid(ext, instrrev(ext, ".") + 1)
end function

dim vaerdi_fra_db, antal, procent
vaerdi_fra_db = 4 ' simulering af værdien der ligger i databasen
antal = 0 ' nulstil tæller
procent = 0 ' nulstil procent

dim fs,fo,fil
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fo=fs.GetFolder(server.mappath(".")) ' "." = mappen med asp filen

antal = 0
for each fil in fo.files
  if filtype(fil) = "ext" then antal = antal + 1
next

procent = (100 - ((vaerdi_fra_db - antal) * 100) / vaerdi_fra_db)

response.write "Antal i mappe: " & antal & "<br>"
response.write "Antal i db: " & vaerdi_fra_db & "<br>"
response.write "Procent: " & procent & "%<br>"

set fo=nothing
set fs=nothing
%>

Så kan du lave et billede på f.eks. 1x1 pixel, og bruge denne kode:

<img src="progressbar.gif" width="<%=procent%>%" height="20">
Avatar billede thesurfer Nybegynder
11. maj 2006 - 02:48 #2
Jeg har ændre lidt på HTML kode, så nu behøver man ikke et billede..
Man skal erstatte "," med ".", når man bruge CSS..

Her er koden:

<%
function filtype(ext) ' finder og returnerer filtypen/extension
filtype = mid(ext, instrrev(ext, ".") + 1)
end function

dim vaerdi_fra_db, antal, procent
vaerdi_fra_db = 9 ' simulering af værdien der ligger i databasen
antal = 0 ' nulstil tæller
procent = 0 ' nulstil procent

dim fs,fo,fil
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fo=fs.GetFolder(server.mappath(".")) ' "." = mappen med asp filen

antal = 0
for each fil in fo.files
  if filtype(fil) = "ext" then antal = antal + 1
next

'procent = (100 - ((vaerdi_fra_db - antal) * 100) / vaerdi_fra_db)
procent = FormatPercent(antal / vaerdi_fra_db)

response.write "Antal i mappe: " & antal & "<br>"
response.write "Antal i db: " & vaerdi_fra_db & "<br>"
response.write "Procent: " & procent & "%<br>"

set fo=nothing
set fs=nothing
%>
<div style="width:100px;border:1px solid #000000;">
<span style="position:absolute;text-align:center;width:100%"><b><%=procent%></b></span>
<span style="width:<%=replace(procent, ",", ".")%>;background-color:#AAAAFF;display:block;">&nbsp;</span>
</div>
Avatar billede nwt Nybegynder
11. maj 2006 - 03:00 #3
hm, jeg kan ikke lige få det til....
kan du vise mig eksempel hvor ext er sat til ".jpg" og mappen er "K:\filer\nord\"
Avatar billede thesurfer Nybegynder
11. maj 2006 - 10:21 #4
Få disse linier til at se sådan ud:

set fo=fs.GetFolder("K:\filer\nord\"))

og

  if filtype(fil) = "jpg" then antal = antal + 1

Det kan godt være, at det skal være set fo=fs.GetFolder("K:\filer\nord")).
Det er det man kalder "absolute path", så du behøver ikke Server.Mappath.
Avatar billede nwt Nybegynder
11. maj 2006 - 17:21 #5
Jeg kan ikke få path'en til at virke. Hverken med drevbogstav eller \\server\share\mappe\
Avatar billede thesurfer Nybegynder
11. maj 2006 - 22:07 #6
Jeg har prøvet med en absolute path, og det virker fint.

Vær opmærksom på, at filerne skal ligge på serverens K: drev.. ikke din egen computer..
Avatar billede nwt Nybegynder
15. maj 2006 - 08:40 #7
hmm, jeg må prøve at løse det.
Avatar billede nwt Nybegynder
15. maj 2006 - 08:41 #8
giv mig lige et svar så du kan få dine point.
Avatar billede thesurfer Nybegynder
15. maj 2006 - 10:41 #9
Svar.
Avatar billede nwt Nybegynder
19. maj 2006 - 17:22 #10
Når jeg accepterer svare sker der ingenting
Avatar billede nwt Nybegynder
19. maj 2006 - 17:23 #11
ok, det lykkedes vist alligevel :-)
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

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