webForumDet fria alternativet

Tredimensionell array?

.NET

12 svar · 789 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

Hej
Jag använder mig nu av en vanlig array. I arrayen sparas olika mått, men nu skulle jag behöva sätta en flagga till varje mått som anger typ av mått.. Jag har för mig att det finnas något som heter tre dimensionell array? Hu rfunkar den isåfall??

kan säga att det är i vba jag ska använda mig av det..

Mvh

Medlem sedan juni 200032 967 inlägg
#2

En tredimensionell array är mer eller mindre tvådimensionella arrays ovanpå varandra.

Ett exempel: http://www.freevbcode.com/ShowCode.Asp?ID=1541

Mvh

Medlem sedan aug. 2001969 inlägg
#3

Okey, vad jag är uteefter är en tvådimensionnel array..

Saken är den att jag kör en loop och jag vet aldrig hur lång den blir, varje gång loopen körs så dimensionerar jag om arrayen.
Så när jag använde en endimensionell array körde jag bara

ReDim Preserve AllaSektioner((UBound(AllaSektioner) + 1))

men om jag nu istället vill ha en tvådimensionell och skriver

ReDim Preserve AllaSektioner((UBound(AllaSektioner) + 1),0)

så får jag felet: Indexet är utanför intervallet..

Så här ser deklarationen ut av array'en

AllaSektionerr = Array()

Vet inte riktigt vad jag gör för fel??

Medlem sedan juni 200032 967 inlägg
#4

Du kan inte ändra storlek på den första dimensionen, bara den andra.

Mvh

Medlem sedan aug. 2001969 inlägg
#5

Okey, men om jag nu vänder på det då så jag vill dimensionera upp den andra då varför blir det fel med följande kod??

ReDim Preserve AllaSektioner(0, (UBound(AllaSektioner) + 1))

Får bara felet: Index utanför intervall..

Medlem sedan juni 200032 967 inlägg
#6

När du använder ubound måste du ange vilken dimension du vill ha (om du inte menar första dimensionen, som är default för ubound. Detta borde funka:

ReDim Preserve AllaSektioner(0, UBound(AllaSektioner[b], 2[/b]) + 1)

mvh

Medlem sedan aug. 2001969 inlägg
#7

nepp jag kunde inte få det att fungera, fortfarande samma fel...

Lite klurigt det här?

Medlem sedan juni 200032 967 inlägg
#8

Hur har du deklarerat AllaSektioner?

Medlem sedan aug. 2001969 inlägg
#9

Så här?

Dim AllaSektioner() As Variant
Medlem sedan juni 200032 967 inlägg
#10

Prova att göra redim AllaSektioner(0,0), så den har två dimensioner innan du försöker köra ubound på dimension 2.

Medlem sedan aug. 2001969 inlägg
#11

då får jag felet matrisen har redan dimensionerats....

saken är att det funkar att redim'ma om man inte använder sig utav ubound utan bara anger dimensionen...

Medlem sedan juni 200032 967 inlägg
#12

då får jag felet matrisen har redan dimensionerats....

Verkligen? Du skrev redim AllaSektioner(0,0)?

Medlem sedan aug. 2001969 inlägg
#13

fel av mig, jag missuppfatta lite...

Nu verkar det funka, ska testa lite mer...

Tack för hjälpen!

272 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)