Avatar billede hundevennen Nybegynder
14. november 2007 - 13:45 Der er 9 kommentarer og
1 løsning

FSO og dynamisk inputfelt i form?

Jeg har et bibliotek der indeholder word dokumenter med fortløbende numre som filnavn, - altså 1.doc osv.
Jeg vil gerne autonummerere et indputfelt i en opdateringsform, men det højeste nummer word doc fra biblioteket + 1?????
Avatar billede fennec Nybegynder
14. november 2007 - 14:09 #1
Noget i denne stil skulle gerne give dig det højeste nr (ikke testet):

set fso = Server.CreateObject("Scripting.FileSystemObject")
set folder = fso.getFolder(server.mapPath("/DinFolder"))
set files = folder.files
fileNr = 0
for each file in files
    if isNumeric(file.name) then
        if cLng(file.name) > fileNr then fileNr = cLng(file.name)
    end if
next
fileNr = fileNr + 1
Avatar billede hundevennen Nybegynder
14. november 2007 - 14:25 #2
Hej Fennec - tænkte nok jeg ville høre fra dig - tester imorgen foreløbig tak
Avatar billede hundevennen Nybegynder
14. november 2007 - 14:32 #3
nå prøvede alligevel
jeg lavede en response.write filenr så skriver den 1
Avatar billede hundevennen Nybegynder
14. november 2007 - 14:37 #4
filen med scriptet ligger i roden og skal dykke ned i et bib der hedder docs

så jeg har rettet til
set fso = Server.CreateObject("Scripting.FileSystemObject")
set folder = fso.getFolder(server.mapPath("/Docs"))
set files = folder.files
fileNr = 0
for each file in files
    if isNumeric(file.name) then
        if cLng(file.name) > fileNr then fileNr = cLng(file.name)
    end if
next
fileNr = fileNr + 1
response.write fileNr
Avatar billede fennec Nybegynder
14. november 2007 - 14:44 #5
Ahh. Extensionen skal fjernes:

set fso = Server.CreateObject("Scripting.FileSystemObject")
set folder = fso.getFolder(server.mapPath("/DinFolder"))
set files = folder.files
fileNr = 0
for each file in files
    filename = left(file.name,instr(file.name,".")-1)
    if isNumeric(filename) then
        if cLng(filename) > fileNr then fileNr = cLng(filename)
    end if
next
fileNr = fileNr + 1
Avatar billede hundevennen Nybegynder
14. november 2007 - 21:06 #6
hej fennec - det virker - men ved mappath din folder skal jeg ned i en underliggende mappe, hvordan gør jeg det - jeg har prøvet med
set folder = fso.getFolder(server.mapPath("../Docs")) som er en mappe et trin højere oppe, men jeg skal et trin ned?????altså et underbibliotek til der hvor scriptet ligger
Avatar billede w13 Novice
15. november 2007 - 02:00 #7
Altså bare:
set folder = fso.getFolder(server.mapPath("Docs"))
?
Avatar billede w13 Novice
15. november 2007 - 02:00 #8
Det vælger mappen "Docs" i den mappe, som scriptet ligger i.
Avatar billede fennec Nybegynder
15. november 2007 - 08:18 #9
server.mapPath fungere lidt som "cd" komandoen i en dos-promt. Tag denne struktur:

fil1.htm
Mappe1
  fil2.htm
  mappe2
    fil3.htm

server.mappath("/") sætter dig altid helt ud i roden. Altså ud til fil1.htm
server.mappath("../") sætter dig ud til parrent mappen. Så var du i mappe2, ville du nu være i mappe1
server.mappath("mappe2") vil sætte dig ind i den angivede mappe. Denne mappe skal eksistere i den folder du allerede er i. Så stod du i roden eller i mappe2 ville den give en fejl. Den dur kun i mappe1, da det kun er her mappe2 eksistere.

Om man bruger relative ("../" eller "mappe") eller fast ("/mappe") mappe angivelse er op til en selv, men i visse tilfælde op til funktionen.

Jeg fortrækker altid at angive stier fra roden (altså fast mappe angivelse), da jeg arbejder med en fast mappe struktur, som er ens på alle mine sites. Jeg kalder derfor altid mappe på denne måde:
server.mapPath("/mappe1/mappe2")

.o) <-- One Eyed Jack
Avatar billede hundevennen Nybegynder
15. november 2007 - 08:27 #10
tak for hjælpen igen igen
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