Avatar billede mskjoldp Novice
09. november 2004 - 23:51 Der 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?

vh Skjold
Avatar billede ellebaek Nybegynder
10. november 2004 - 18:44 #1
du kan lave en test i stilen af:
if instr("gfx/galleri/", søgestr) > 0 then
så matcher starten..

Er det noget i den stil du vil..?
Avatar billede mskjoldp Novice
10. november 2004 - 22:11 #2
måske.. men nej, fordi * skal udgøre en folder. gfx/galleri/ er ikke nok.

koden ser således ud:

<%    Set rs = Conn.Execute("SELECT TOP 6 * FROM billeder ORDER BY Billedeid DESC")%>

<% dim Bsub, Bsti, Bref
Do Until rs.Eof
Bref = rs("Bref")
Bsrc = rs("Bsrc")
Bsti = rs("Bsti")
Bsub = rs("Bsub")%>

<img src="<%=Bsti%><%=Bsrc%>" height="75px" width="125px">

<img border="0" src="gfx/piloter/venram.gif">


<%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%>

<a href="gfx/galleri/galleri.asp?showpic=<%=Bsub%>\<%=Bsrc%>">
<img border="0" src="gfx/piloter/ramme.gif">
</a>

<%End if%>

<%If Bsti = "gfx/profil/" Then%>
<a href="piloter.asp?mode=profil&amp;id=<%=Bref%>">
<img border="0" src="gfx/piloter/ramme.gif">
</a>

<%End if%>
       
<img border="0" src="gfx/piloter/hram.gif">

<%    rs.Movenext   
    Loop
    rs.Close %>

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...

Skjold
Avatar billede ellebaek Nybegynder
10. november 2004 - 22:37 #3
så kan du lave en:


stiarr = split(BSti, "/")
if (stiarr(1) = "galleri" AND stiarr(2) = "et eller andet (din stjerne)") then
så skal der ske noget..
Avatar billede mskjoldp Novice
16. november 2004 - 00:31 #4
hmmmm ... den forstår jeg således...

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...

er du med på hvilken funktione jeg søger?

Skjold
Avatar billede mskjoldp Novice
16. november 2004 - 00:33 #5
måske er den første kode du skrev mere den jeg søger.... hvis den første søger på at Bsti er mere end gfx/galleri/....

Gør den første kode du skrev det?
Avatar billede ellebaek Nybegynder
16. november 2004 - 10:10 #6
egentlig så chekker den første kun for om gfx/galleri er i strengen..

Den chekker ikke for om der er mere..
Men kan den udbygges med, men må blive senere..

Har ikke rigtig tid nu..
Avatar billede mskjoldp Novice
16. november 2004 - 14:31 #7
roger...
Avatar billede ellebaek Nybegynder
16. november 2004 - 17:13 #8
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
Avatar billede mskjoldp Novice
16. november 2004 - 23:32 #9
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...

/Skjold
Avatar billede mskjoldp Novice
18. november 2004 - 13:27 #10
ellebaek.... forstår jeg ikke det du skriver, eller har vi ikke fundet koden endnu?

/Skjold
Avatar billede ellebaek Nybegynder
18. november 2004 - 21:30 #11
Undskyld ventetiden..
Har haft travlt..

Men...
Skal din kode kun acceptere de mapper du har defineret der i din if, eller må der godt være andre mapper..?
Avatar billede ellebaek Nybegynder
18. november 2004 - 21:36 #12
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
Avatar billede mskjoldp Novice
18. november 2004 - 23:25 #13
tak fordi du tager dig tiden :)

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å.

/Skjold
Avatar billede mskjoldp Novice
20. november 2004 - 15:11 #14
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?
Avatar billede ellebaek Nybegynder
22. november 2004 - 13:12 #15
jeg har ikke haft tid i weekenden..

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"
Avatar billede mskjoldp Novice
30. november 2004 - 22:10 #16
har ikke selv tid pt
Avatar billede ellebaek Nybegynder
02. december 2004 - 22:58 #17
hmm...

Men jeg smider et svar, så kan du vende tilbage når du har tid..!
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