Avatar billede soda Nybegynder
27. februar 2004 - 14:36 Der er 4 kommentarer og
2 løsninger

Kan denne kode ikke gøres mindre ?

Følgende kode finder navnet på den fil koden køres i. Den fjerner somtidig extension (f.eks .asp), men kan koden ikke gøres kortere. Her mener jeg ikke med flere linjer kode eller variabler, der inderholde diverse værdier undervejs.

Filnavn = Left(Mid(Request.ServerVariables("SCRIPT_NAME"), InStrRev(Request.ServerVariables("SCRIPT_NAME"), "/") + 1), Instr(Mid(Request.ServerVariables("SCRIPT_NAME"), InStrRev(Request.ServerVariables("SCRIPT_NAME"), "/") + 1),".")-1)
Avatar billede medions Nybegynder
27. februar 2004 - 14:48 #1
strURL = "http://www.net-danmark.dk/sidenavn.asp"
    arrPage = Split(strURL, "/")
    strPage = arrPage(UBound(arrPage))
    arrPName = Split(strPage, ".")
    Filnavn = arrPName(LBound(arrPName))

        Response.Write(Filnavn)

//>Rune
Avatar billede medions Nybegynder
27. februar 2004 - 14:48 #2
Selvf.

strURL = Request.ServerVariables("SCRIPT_NAME")
    arrPage = Split(strURL, "/")
    strPage = arrPage(UBound(arrPage))
    arrPName = Split(strPage, ".")
    Filnavn = arrPName(LBound(arrPName))

        Response.Write(Filnavn)

//>Rune
Avatar billede soda Nybegynder
27. februar 2004 - 15:28 #3
Det var netop dette jeg ikke ville have ;o)

Du bruger hele 4 variabler for, at lave det samme som jeg her gjort på én linje.
Avatar billede eagleeye Praktikant
12. marts 2004 - 19:17 #4
Du kunne laves koden sådan her:

Filnavn = Mid(Request.ServerVariables("SCRIPT_NAME"), inStrRev(Request.ServerVariables("SCRIPT_NAME"),"/")+1, inStrRev(Request.ServerVariables("SCRIPT_NAME"),".")-inStrRev(Request.ServerVariables("SCRIPT_NAME"),"/")-1)


og vil du ikke havde Request.ServerVariables("SCRIPT_NAME") så mange gange kan du overveje at skrive det sådan her, godt nok i to linjer:

Filnavn = Request.ServerVariables("SCRIPT_NAME")
Filnavn = Mid(Filnavn, inStrRev(Filnavn,"/")+1, inStrRev(Filnavn-inStrRev(Filnavn,"/")-1)
Avatar billede soda Nybegynder
17. marts 2004 - 23:04 #5
eagleeye: dit første eksempel er blot en lidt anden måde, at gøre det på en min, ik ?

Har også prøvet dit andet eksempel selv. Igen på en lidt andne måde, men det er jo værd programmørs præg på kode ;o)

Det ser ud til der ikke rigitg er nogen nememre måde, hvis det stadig skal være på en linje. Blev over overvælget over resultatet, da jeg først havde fået lavet koden.
Avatar billede soda Nybegynder
19. marts 2004 - 08:40 #6
Eagleeye: Du får 15 point fordi du trods alt har vist en anden måde, at gøre det på, men ikke har gjort koden mindre.

Jeg selv tager resten tilbage.

Medions: Din kode er god nok, men afviger fra spørgsmålet i det det er på flere linjer.
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