Avatar billede tblaster Nybegynder
28. september 2003 - 17:50 Der er 17 kommentarer og
1 løsning

Undersøge hvor mange værdier en split delere op i

Jeg laver en check på følgende måde:

ParentID = Split(request("ParentID"), "-")
If ParentID(0) = ""  Then
    session("ParentID") = 0
Else
    session("ParentID") = ParentID(0)
End If

Men får denne fejl hvis den ikke har nogen værdi:
Subscript out of range: '[number: 0]'

Hvordan skal jeg så chekce om de forskellige har en værdi. Det skal kunne checkes også på 1, 2, 3, 4, 5 ... Evt hvis man måske kan finde en måde at tælle antallet som den deler det op i!
Avatar billede squashguy Nybegynder
28. september 2003 - 17:53 #1
UBound() giver dig højeste index i et array
Avatar billede tblaster Nybegynder
28. september 2003 - 17:56 #2
Jeg skal ikke kun bruge den højeste ... jeg skal også kunne checke for nr 1, nr 2 og så videre ... altså For i=0 to [Antal]
Avatar billede p_pippi Nybegynder
28. september 2003 - 17:58 #3
fo i = 0 to ubound(ditarr)
Avatar billede tblaster Nybegynder
28. september 2003 - 18:00 #4
Følgende:
ParentID = Split(request("ParentID"), "-")
If UBound(ParentID) = ""  Then
    session("ParentID") = 0
Else
    session("ParentID") = ParentID(0)
End If

Giver samme fejl som før:
Subscript out of range: '[number: 0]'
Avatar billede tblaster Nybegynder
28. september 2003 - 18:02 #5
Probelemt er også at siden åbnes som følgende:
index.asp

Den åbnes ikke med noget som index.asp?ParentID=42. Det er jo derfor fejle opstår. Kan man checke for NULL?
Avatar billede squashguy Nybegynder
28. september 2003 - 18:14 #6
prøv at lave en

response.write ubound(array)

lige efter split, og se hvad du får når, parentid ikke er angivet
Avatar billede tblaster Nybegynder
28. september 2003 - 18:37 #7
Det giver -1
Avatar billede tblaster Nybegynder
28. september 2003 - 18:42 #8
Hvis bare jeg kan tælle det antal den deler det op i ... hvordan gør jeg det?
Avatar billede tblaster Nybegynder
28. september 2003 - 18:55 #9
Jeg skal gerne kunne undersøge om denne er tom:

If not ParentID(Session("Antal")) = TOM Then
    session("ParentID") = ParentID(Session("Antal"))
End If
Avatar billede netro Nybegynder
28. september 2003 - 19:31 #10
Tom?
Avatar billede squashguy Nybegynder
28. september 2003 - 19:59 #11
if ubound(parentid) >= 0 then
  'ikke tom
else
  'tom
end if
Avatar billede netro Nybegynder
28. september 2003 - 20:42 #12
Nå, det var dit array, du talte om.
Avatar billede tblaster Nybegynder
29. september 2003 - 08:00 #13
yep det er mit array jeg skal undersøge ... kan jeg det?
Avatar billede netro Nybegynder
29. september 2003 - 12:01 #14
For at tjekke om dit array, indeholder nogle elementer, gør du, som squashguy siger.
Avatar billede tblaster Nybegynder
29. september 2003 - 12:13 #15
jeg skal ikke bare checke om den indeholder elementer men om hvor mange den indeholder ...

har jeg et array på 3:
1
2
3

får jeg samme resultat med UBound() som følgnede:
1

Og der er problemt jo så når jeg kalder mit array:
ParentID(1) ... den findes ikke og derfor får jeg en fejl ... jeg skal altså kunne undersøge om denne finded!
Avatar billede netro Nybegynder
29. september 2003 - 12:18 #16
Tal = 1
If UBound(ParentID) >= Tal Then Response.Write ParentID(Tal)
Avatar billede tblaster Nybegynder
29. september 2003 - 16:28 #17
netro ... smid et svar ...
Avatar billede netro Nybegynder
29. september 2003 - 16:30 #18
Ok
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