JaarMedlem sedan juli 2001434 inlägg Försöker mig på att jobba med en array med arrayer ...
exempel
Dim myArray(3,3)
myArray(1,1) = "1-1"
myArray(1,2) = "1-2"
myArray(1,3) = "1-3"
myArray(2,1) = "2-1"
myArray(2,2) = "2-2"
myArray(2,3) = "2-3"
myArray(3,1) = "3-1"
myArray(3,2) = "3-2"
myArray(3,3) = "3-3"
Sedan vill jag skicka in en av de lagrade arrayerna in i en funktion
function testArray(myTestArray)
for i = 1 to UBound(myTestArray)
if myTestArray(i) = "2-2" then
testArray = true
end if
next
testArray = false
end function
for x = 1 to 3
if testArray(myArray(x)) then
response.write "Found it"
end if
next
Men det vill sig inte ... går det inte att göra så eller är det nåt annat kai-ko?
Oavsett om mytestArray är 2-2 och testArray då blir satt till true, så blir testArray några rader längre ner ändå satt till false. Ska det verkligen vara så? ;)
JaarMedlem sedan juli 2001434 inlägg Hehe... van vid ett return-anrop... och att funktionen slutar exekvera ... får skylla på det.. :)
Skrev det hela som exempel...
ingen aning om hur man kan lösa det?
Felet uppstår här:
testArray(myArray(x))
SubScript out of range...
JaarMedlem sedan juli 2001434 inlägg Svenska felmeddeladnet :
Felaktigt matrisindex
OveRRidEMedlem sedan feb. 200112 078 inlägg En array börjar alltid på 0. Således; om du har en vektor med fem poster finns följande matrisindex i vektorn:
0, 1, 2, 3, 4
Jag gissar att när du räknar från 1 och uppåt så letar allså VBScript efter ett matrisindex som är 5, vilket inte finns. Men, jag har inte kollat närmare på det. ;)
JaarMedlem sedan juli 2001434 inlägg Om jag stegar bara steg 1 och 2 så kommer det ändå samma fel. X är ju = 1 ...
Jag har löst det genom att skicka med hela matrisen just nu och den första index-varabeln ... men det är ju inte direkt så jag vill ha det...
Engine^Medlem sedan dec. 20003 887 inlägg Du skapar en tvådimensionell matris och vill skicka den som endimensionell.
testArray(myArray(x))
Jag är tyvärr inte hemma på hur VBScript hanterar arrays, men det sättet känns fel.
Jag funderar på hur VBScript tolkar myArray(x) som. Blir det en magisk typecast till en endimensionell matris?
Jag skulle skriva om funktionen
Function testArray(myTestArray, intIndex)
For i = 1 To UBound(myTestArray, 2)
If myTestArray(intIndex, i) = "2-2" Then
testArray = true
Exit Function
End If
Next
testArray = false
End Function
For x = 1 To 3
If testArray(myArray, x) Then
Response.Write "Found it"
End If
Next
JaarMedlem sedan juli 2001434 inlägg Det var så jag gjorde ... tack för all hjälp