Avatar billede zaydn Nybegynder
31. oktober 2003 - 10:00 Der er 6 kommentarer og
1 løsning

Søge på start af filnavn?

Hej.

Jeg ønsker at lave en If-else sætning, der checker på de første 4-5 bogstaver i filnavnet før den påbegynder...

Er der nogen der kan hjælpe med det?
Avatar billede joern Nybegynder
31. oktober 2003 - 10:04 #1
Hej.

Der er kommandoen 'Left'

If left(filename,4) = "krit" then

Eller...

If left(filename,5) <> "krit" then exit sub

M.v.h. Jørn
Avatar billede martin_moth Mester
31. oktober 2003 - 11:38 #2
Hmm - den første IF giver god mening, og er vel svar nok til det spørgsmål der stilles.

Den næste IF sætning vil da altid være True, de 5 første karakterer af en string vil aldrig være ens med en 4 karakter lang string. Er der noget jeg ikke kan gennemskue? Hmmm?
Avatar billede joern Nybegynder
31. oktober 2003 - 11:50 #3
Hej Martin.

'Krit' er selvfølgelig det kriterie zaydn vil sammenligne filens navn med.
Kriteriet kan vel være 'mart' måske?

Min erfaring er at det afhænger af datamængden og af hvor snævert et søgekriterie er, hvornår man skal forlade en sub helt og spare 'mips'.

Hvis nu den liste man søger i er ordnet - eller delvis ordnet - vil der fra et vist tidspunkt ikke forekomme flere poster der matcher søge-kriteriet.  Så er det spild af tid at lede efter flere.

M.v.h.  Jørn
Avatar billede martin_moth Mester
31. oktober 2003 - 12:25 #4
Ja - det er jeg klar over :o)

Men vil følgende ikke ALTID være opfyldt, uanset hvad variablen filename indeholder:

  left(filename,5) <> "krit"

Fordi der står left(filename,5) sammenligner du en string på 5 karakterer og en på 4 karakterer - de vil vel ALDRIG være ens, uanset hvad filename-variablen indeholder?

Jeg forstår således stadig ikke hvad mening din IF nummer 2 har. Men den første er som sagt en fin besvarelse af zaydns problem :o)
Avatar billede joern Nybegynder
31. oktober 2003 - 12:45 #5
Hej Martin.

Ok, nu ser jeg at du har ret i det med 5 og 4, det er en bug, der skal selvfølgelig sammenlignes med et kriterie med samme antal tegn, som det der står i udtrykket med 'left'.
I øvrigt synes jeg at forrige kommentar dækker det jeg mener.  Undertiden er det mest hensigtsmæssigt at sammenligne om noget er 'forskelligt fra' frem for at sammenligne 'er lig med'.  Det synes jeg bare.

zaydn>> tak for point, godt du kom videre, trods buggen 5 > 4.

M.v.h.  Jørn
Avatar billede martin_moth Mester
31. oktober 2003 - 12:58 #6
OK

Ja, jeg kan være en værre flueknepper, beklager :o)
Avatar billede zaydn Nybegynder
31. oktober 2003 - 19:13 #7
yes... Jeg så godt fejlen, men kunne godt regne ud at det var en trykfejl... Jeg kunne godt have sagt noget, men knepper hellere noget andet en fluer  ;o)
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