09. november 2004 - 23:51Der er
16 kommentarer og 1 løsning
stjerne skal udgøre alt
Hej E
Hvordan gør jeg dette... bla bla Bsti = rs("reccord")
<%If Bsti = "gfx/galleri/Biler/" OR Bsti = "gfx/galleri/fly/" OR Bsti = "gfx/galleri/andet/" OR Bsti = "gfx/galleri/piloter/" OR Bsti = "gfx/galleri/fester/" OR Bsti = "gfx/galleri/rejser/" Then%>
til dette...
<%If Bsti = "gfx/galleri/*/" Then%>
dvs at lige meget hvad der skrives mellem / / så gælder *
jeg ved at jeg kan lave en variabel inden, der kan være dem alle ... men kan man ikke bare bruge noget ala en stjerne?
<%If Bsti = "gfx/galleri/Biler/" OR Bsti = "gfx/galleri/fly/" OR Bsti = "gfx/galleri/andet/" OR Bsti = "gfx/galleri/piloter/" OR Bsti = "gfx/galleri/fester/" OR Bsti = "gfx/galleri/rejser/" Then%>
Hvor Bsti er: gfx/galleri/noget/ koblet sammen med Bsrc som er billedenavnet, fx: corvette.jpg
Ydermere er Bsub en mappe til et galleri, fx: Biler, fly osv.
Egentlig går det ud på at jeg skal lave en a href efter hvad Bsti indeholder. Hvis Bsti er mere end gfx/galleri/, fx: gfx/galleri/*/ så er a href ...galleri.asp...
Hvis Bsti er gfx/profil/ så er a href ...piloter.asp...
hvis (if) der efter / står galleri, og derefter står / efterfulgt af fx *, eller hvad jeg nu skriver, så nogen (then)
det er god løsning.. den vil jeg kunne arbejde med.... men
det jeg mener med stjerne... er ligesom når man ved en søgning skriver *... så gøælder det for alt... det er den funktione jeg søger.... altså at jeg kune skriver *, men så gælder det for alt...
så hvis jeg kan sætte en fådan funktion ind i din kode, er det det jeg søger...
skal du sikre at der er mere end blot gfx/galleri og kan du sikre at der er en / til sidst i linien ?
for så kan du gøre sådan her: <% str = "gfx/galleri/flyvemaskiner/" if instr("gfx/galleri/", str) > 0 then strArr = split(str, "/") if UBound(strArr) = 2 then så er der defineret en mappe.. Den kan du hente med: strArr(2) end if end if
hmmmm... jeg tror ikke at den gør det hele.. den ser ud ti lat kontrollere for at der er mere end: gfx/galleri/ samt at der er defineret en mappe med str.
Den kan jeg så hente med strArr(2).
Men det er kun én mappe... jeg vil gerne have skrevet mange mapper i én enkelt * funktion...
altså en omkodning af dette:
<%If Bsti = "gfx/galleri/Biler/" OR Bsti = "gfx/galleri/fly/" OR Bsti = "gfx/galleri/andet/" OR Bsti = "gfx/galleri/piloter/" OR Bsti = "gfx/galleri/fester/" OR Bsti = "gfx/galleri/rejser/" Then%>
til dette...
<%If Bsti = "gfx/galleri/*/" Then%>
Hvor * gælder for "gfx/galleri/Biler/" samt "gfx/galleri/fly/" samt .. osv..
Det er ikke lige det jeg ser i den sidste kode du har skrevet, men det kan være jeg læser den forkert...
Det kan eventuelt klares med følgende hvis det kun er de mapper der er defineret i forvejen, og så kan det nemt udvides til at omfatte flere mapper...! Der skal blot rettes i linien strAcceptDirs..
<% strAcceptDirs = "Biler,fly,andet,piloter,fester,rejser" arrAcceptDirs = split(strAcceptDirs,",") Accepted = "false" str = "gfx/galleri/flyvemaskiner/" if instr("gfx/galleri/", str) > 0 then strArr = split(str, "/") if UBound(strArr) = 2 then for i = 0 to UBound(strAcceptDirs) if strAcceptDirs(i) = strArr(2) then Accepted = "true" end if next end if end if
if not Accepted = "false" then så er din mappe godkendt...! else mappen blev ikke fundet end if
du skriver: Skal din kode kun acceptere de mapper du har defineret der i din if, eller må der godt være andre mapper..?
Svaret er: koden skal acceptere alt! .. hvis jeg skal definere en nye mappe inden jeg skal bruge den, skal jeg tilføje mappen til koden.. og det er lige præsis dette jeg søger at undgå.. nemlig ikke at skulle ind i koden og tilføje nye mapper....
Det er nemlig sådan at de mapper, bliver tilføjet af brugerne som de nu lyster... derfor skal jeg som det er nu.. tilføje i koden hvilke mapper der er nye...
Derfor vil jeg gerne kreere en kode der BARE accepetere alle mapper. Det har jeg så i tekstform kaldt: *
Så den nu har srevet sidst, og tak for din tid, giver mulighede for at tilføje og udbygge.. men som skrevet er det det, jeg gerne vil undgå.
ellebaek, hvis du ikke har tiden.... så er det ikke voldsomt vigtigt at jeg for løst dette.... Det er mere for at optimere og lette koden. Hvad siger du? Hvad er du til?
men kan godt lave en løsning der virker bare mappen findes på serveren..
Du kan gøre sådan her:
<% Bsti = "gfx/galleri/Biler/" Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FolderExists(server.mappath(Bsti))) Then response.write "folderen findes" Else response.write "folderen findes ikke" End If %>
Så skal den kode der skal vises når folderen findes bare sættes i stedet for response.write "folderen findes"
Men jeg smider et svar, så kan du vende tilbage når du har tid..!
Synes godt om
Ny brugerNybegynder
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.