Avatar billede crapman Nybegynder
22. januar 2004 - 12:31 Der er 16 kommentarer og
1 løsning

Subscript out of range: [number: 1]

Jeg får denne fejl:
Subscript out of range: '[number: 1]'

Når jeg forsøger at udføre denne kode:

fornavn = split(old("kontaktperson"))

response.write fornavn(1)


Hvordan fixer jeg det?
Avatar billede keysersoze Ekspert
22. januar 2004 - 12:40 #1
fornavn = split(old("kontaktperson"),"TEGNDUVILSPLITTEPÅ")
Avatar billede truelz Nybegynder
22. januar 2004 - 12:41 #2
Du har ikke skrevet hvilket tegn den skal splitte ved?
Jeg vil påstå at det skal se ud som følger:
fornavn = split(old("kontaktperson"), " ")
Og husk nu at man starter med 0, så for at fange det første ord, skal du skrive:
response.write fornavn(0)
Avatar billede crapman Nybegynder
22. januar 2004 - 12:44 #3
Hmm, det virker ikke.... fornavn(0) virker fint men fornavn(1) virker kun engang imellem... kan det værefordi der ikke ER noget i fornavn(1)?
Avatar billede eagleeye Praktikant
22. januar 2004 - 12:45 #4
kan det værefordi der ikke ER noget i fornavn(1)?
Ja det er derfor...

HVis du har "ole erik" og spliter på mellemrum virker det fint
Hvis du har "ole" og spilter fejljer den ved fornavn(1) fordi der kun er noget i (0)
Avatar billede crapman Nybegynder
22. januar 2004 - 12:46 #5
Eagleeye.... havde det nok på fornemmelsen... hvad gør jeg så? Er der et workaround?
Avatar billede eagleeye Praktikant
22. januar 2004 - 12:57 #6
Du kan tjekke som Ubound(array) er mindre end den man vil udskrive:

if ubound(fornavn)>=1 then response.write fornavn(1)
Avatar billede eagleeye Praktikant
22. januar 2004 - 12:58 #7
mindre = større eller lig  ;)
Avatar billede eagleeye Praktikant
22. januar 2004 - 13:00 #8
Typisk bruger man arrays i forbindelse med for sætninger som sikre man ikke udskriver for langt :)

for i = 0 to ubound(fornavn)
  response.write fornavn(i)
next

men der kan jo være tilfælde hvor man bare udskive en i arrayet uden de andre og så man man tjkke. Hvis du vil uskrive den sidste som er i arrayet kan du gøre sådan her:
response.write fornavn(ubound(fornavn))
Avatar billede crapman Nybegynder
22. januar 2004 - 13:40 #9
Sejt eagle! Smid et svar ;)
Avatar billede keysersoze Ekspert
22. januar 2004 - 14:20 #10
så det er kun halvdelen af svaret der uddeles point til eller?
Avatar billede crapman Nybegynder
22. januar 2004 - 14:23 #11
Nej Keysersoze... den kode jeg smed ind før virkede fint.... jeg skulle blot bruge det sidste af eagleeyes kode....
Avatar billede keysersoze Ekspert
22. januar 2004 - 14:24 #12
så dvs du stadig kører med

fornavn = split(old("kontaktperson"))

?
Avatar billede crapman Nybegynder
22. januar 2004 - 14:25 #13
yup...
Avatar billede keysersoze Ekspert
22. januar 2004 - 14:46 #14
ok - men det skal du huske du KUN kan gøre fordi din variabel splittes med mellemrum - havde det været en komma-, stjerne-, semikolon- eller en hvilken som helst andet seperation ville du ikke kunne undvære at angive hvad der skal splittes på.
Avatar billede crapman Nybegynder
22. januar 2004 - 14:48 #15
jaja... men det var jo også kun mellemrum at det skulle gøres på...
Avatar billede eagleeye Praktikant
22. januar 2004 - 17:16 #16
Ok her et svar ;)
Ja split deler på mellemrum hvis man ikke angiver andet.
Avatar billede crapman Nybegynder
23. januar 2004 - 07:15 #17
...og det er bare supersmart... nå, men endnu engang tak for hjælpen... :)
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