was ist hier falsch:
Code: Alles auswählen
dim noshow(3,1) as integer
noshow()=array(array(1,2,3,4),array(5,6,7,8))
print noshow(0,0)
Grüße
Pit
Moderator: Moderatoren
Code: Alles auswählen
dim noshow(3,1) as integer
noshow()=array(array(1,2,3,4),array(5,6,7,8))
print noshow(0,0)
-->Du kannst nicht ein Array als Integer definieren, wenn es seinerseits Arrays enthalten solldim noshow(3,1) as integer
Code: Alles auswählen
dim noshow(3,1) as Variant
-->Du kannst nicht eine Variable in dieser Weise mit Inhalt belegen wenn Du sie bereits vorher anders definiert hastnoshow()=array(array(1,2,3,4),array(5,6,7,8))
Code: Alles auswählen
noshow(0,0)=array(1,2,3,4)
-->Du kannst nicht ein Array anzeigen lassen, sondern immer nur Elemente eines Arrayprint noshow(0,0)
Code: Alles auswählen
x = noshow(0,0)
Print x(0)
Code: Alles auswählen
dim noshow(3,1) as Variant
noshow(0,0)=array(1,2,3,4) 'd.h. nur eine Zelle des Arrays ist hier
'belegt, 7 Zellen sind noch frei
x = noshow(0,0) 'x enthält dadurch das Array aus noshow(0,0)
Print x(0) 'angezeigt wird nur der erste Wert (Index 0) des Arrays x
Code: Alles auswählen
Dim noshow() As Variant 'ohne Dimension
noshow()=array(array(1,2,3,4),array(5,6,7,8)) 'klappt nun
print noshow(0,0) (0) 'verkürze Schreibweise (statt x = noshow(0,0) ... Print x(0))
.. das war die Sache, dass ein zweidimensionaler Array eigentlich verschachtelte Arrays sind? Wenn ich diese nur mit Ganzzahlen füllen will kann/brauche ich das also nicht festlegen?-->Du kannst nicht ein Array als Integer definieren, wenn es seinerseits Arrays enthalten soll
Ich dachte, ich hätte das Array mit 4 Zeilen und 2 Spalten definiert (oder war es umgekehrt?) dann müssten doch 2 mal 4 Zahlen reinpassen?noshow()=array(array(1,2,3,4),array(5,6,7,8))
-->Du kannst nicht eine Variable in dieser Weise mit Inhalt belegen wenn Du sie bereits vorher anders definiert hast
Ich dachte, ich hätte das schonmal so genutzt, dass z.B. (2,1) das dritte Element in der zweiten Zeile ausgibt. Aber wie Du es beschreibst, habe ich es zum Laufen bekommen - vielen Dank.-->Du kannst nicht ein Array anzeigen lassen, sondern immer nur Elemente eines Array
Zweidimensionale Arrays sind nicht deshalb verschachtelt weil sie zweidimensional sind, sondern dann wenn sie ihrerseits Arrays enthalten... das war die Sache, dass ein zweidimensionaler Array eigentlich verschachtelte Arrays sind?
Du brauchst nicht, aber Du kannst und solltest, aber der Datentyp muss stimmen.Wenn ich diese nur mit Ganzzahlen füllen will kann/brauche ich das also nicht festlegen?
Aber nicht ersatzweise zwei Arrays, zumindest wüsste ich nicht wie, ohne die Arrays bei der Zuweisung aufzulösen.dann müssten doch 2 mal 4 Zahlen reinpassen?
Code: Alles auswählen
Sub Test
dim noshow(3,1) as integer
noshow()=myarray(array(1,2,3,4),array(5,6,7,8))
print noshow(0,0)
End Sub
Function myarray(x, y)
Dim z(3,1)
For i = 0 to 3
z(i,0) = x(i)
z(i,1) = y(i)
Next i
myarray = z()
End Function