Avatar billede bobbedude Nybegynder
28. september 2004 - 20:31 Der er 10 kommentarer og
1 løsning

Lave et range i en URL

Jeg skal lave en side der kan hente nogen links til pdf filer fra et websted og vise disse på en anden web adresse.

En URL kan se sådan ud

http://www.VoresServer.dk/pdf-fetch.asp?URL=http://www.EnAndenServer/PdfDir/Dokumentation/pdf-[0501-0595].pdf

Ved hjælp af Split har jeg så fået den til at liste alle filer fra nummer pdf-0501.pdf til pdf-0595.pdf

Men så får jeg selvfølig at vide at den lamme url også kan se sådan ud:

http://www.VoresServer.dk/pdf-fetch.asp?URL=http://www.EnAndenServer/PdfDir/Dokumentation/pdf-[0501-0595]-Onsdag.pdf

Eller sådan

http://www.VoresServer.dk/pdf-fetch.asp?URL=http://www.EnAndenServer/PdfDir/Dokumentation-[01-12]/pdf[50-69]-[80-100]-Onsdag.pdf

Så nu er jeg altså sat lidt af ja jeg har faktisk tabt tråden total.

Jeg er så desperat at jeg er villig til at betale for en løsning.
Avatar billede eagleeye Praktikant
28. september 2004 - 21:45 #1
Hvad er syntaxen for et fil navn?

Eksempel nr.2:
http://www.VoresServer.dk/pdf-fetch.asp?URL=http://www.EnAndenServer/PdfDir/Dokumentation/pdf-[0501-0595]-Onsdag.pdf

Skal filerne så hedde pdf-0501-onsdag.pdf til pdf-0595-onsdag.pdf ?

Eksempel nr.3:
http://www.VoresServer.dk/pdf-fetch.asp?URL=http://www.EnAndenServer/PdfDir/Dokumentation-[01-12]/pdf[50-69]-[80-100]-Onsdag.pdf

Nu er der også en "counter" i det som før ligner en sti:  Dokumentation-[01-12]
Hvordan skal det tolkes?
Avatar billede bobbedude Nybegynder
29. september 2004 - 08:22 #2
Det jeg ville illustrer var at hver gang der kommer [tal-tal] skal jeg loope det angal gange.

Der er ikke rigtig en syntaks for et filnavn, den kan hedde blabla123.pdf eller blabla123_demo.pdf eller blabla_123_work.pdf osv.

Eksempel nr.3: var nok ikke lige så heldig vist.

http://www.VoresServer.dk/pdf-fetch.asp?URL=http://www.EnAndenServer/PdfDir/Dokumentation-[01-5]/pdf[80-100]-Onsdag.pdf

Betyder at der er 5 mapper Dokumentation-[01-5] i hver af disse mapper er der filer fra pdf[80-100]-Onsdag.pdf

Håber du forstår
Avatar billede eagleeye Praktikant
29. september 2004 - 18:11 #3
Du kan prøve at lave det med en rekrusiv funktion som dette. Lige nu udskriver den bare sti+filerne. Den er måske heller ikke helt optimeret da if sætningen som enten udskriver eller kalder funtion igen er der to gange..



str = "http://www.EnAndenServer/PdfDir/Dokumentation-[01-5]/pdf[80-100]-Onsdag.pdf"

i=instr(1,str,"/PdfDir/",1)
strsti=mid(str,i+1)

dataArr=split(strsti,"/")

Response.Write bla(dataArr,0,"")



function bla(arr, level, sti)
dim iTalStart, iTalSlut, talArr, ffstr
dim iCounter, navn

ffstr=arr(level)
iTalStart=inStr(ffstr,"[")
iTalSlut=inStr(ffstr,"]")

if iTalStart > 0 and iTalSlut > 0 then
  talArr = split(mid(ffstr,iTalStart+1,iTalSlut-iTalStart-1),"-")
  for iCounter=int(talArr(0)) to int(talArr(1))
    navn=mid(ffstr,1,iTalStart-1) & iCounter & mid(ffstr,iTalSlut+1)

    if level=ubound(arr) then
      Response.Write sti&"/"&navn & "<br>"
    else
      bla arr,level+1,sti&"/"&navn
    end if
   
  next
else
  navn=ffstr
  if level=ubound(arr) then
    Response.Write sti&"/"&navn & "<br>"
  else
    bla arr,level+1,sti&"/"&navn
  end if
end if
end function
Avatar billede eagleeye Praktikant
29. september 2004 - 18:16 #4
ok funktion navnet er måske ikke specielt godt valgt ;)
Avatar billede bobbedude Nybegynder
30. september 2004 - 08:30 #5
nej det spiller ikke lige helt desværrer for det kan også ske at PdfDir hedder Pdf eller noget andet.
Avatar billede bobbedude Nybegynder
30. september 2004 - 08:52 #6
Hey eagleeye har lige siddet og leget med det og det virker faktisk skide godt.
Tror sgu jeg var lidt søvning på første svar.

Der er kun en ting der går galt nemlig hvis range er [01-15] så bliver det til
1
2
3
4
5
istedet for
01
02
03
04
05
Avatar billede bobbedude Nybegynder
30. september 2004 - 11:24 #7
Håber du kan fikse overstående eagleeye >>
Avatar billede eagleeye Praktikant
30. september 2004 - 18:05 #8
Ok, prøv at rette denne linje:

    navn=mid(ffstr,1,iTalStart-1) & iCounter & mid(ffstr,iTalSlut+1)

Til disse to:
    nuller=string(len(talArr(1)),"0")
    navn=mid(ffstr,1,iTalStart-1) & Right(nuller&iCounter,len(talArr(1))) & mid(ffstr,iTalSlut+1)
Avatar billede bobbedude Nybegynder
30. september 2004 - 21:08 #9
Jeg kan kun sige perfekt!!
eagleeye >> Jeg vil gerne give dig noget for det her for det har drillet mig total hvis du får tid kan du kontakte mig over messenger på sporgejorgen@hotmail.com

Smid et svar!
Avatar billede eagleeye Praktikant
01. oktober 2004 - 00:02 #10
ok, her et svar :)
Avatar billede bobbedude Nybegynder
02. oktober 2004 - 10:31 #11
Hov eagleeye>> det med nuller virker ikke lige helt.
hvis range er 01-11 er det OK
men hvis det er 1-11 bliver det stadig til 01 02 03 04 fordi 11 jo er = 2
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