Code : Tout sélectionner
Macro Each(VarName, ArrayName, Dimension = 0)
;Ollivier 9/8/7
PrivateLong90 = PeekL(@ArrayName#() - 8)
*PrivateLong91 = PeekL(@ArrayName#() - 12) + 4
If PeekL(*PrivateLong91) = 0
PrivateLong92 = PrivateLong90
Else
PrivateLong92 = 1
PrivateLong93 = 1
PrivateLong94 = 0
For PrivateLong96 = 0 To Dimension
PrivateLong95 = PrivateLong94
PrivateLong94 = PeekL(*PrivateLong91)
PrivateLong92 = PrivateLong90 / PrivateLong94 / PrivateLong93
PrivateLong93 * PrivateLong92
If PrivateLong94 = PrivateLong95: PrivateLong92 = PrivateLong94: EndIf
*PrivateLong91 + 4
Next
EndIf
PrivateLongNine#VarName = PrivateLong92 - 1
For VarName = 0 To PrivateLongNine#VarName
EndMacro
Code : Tout sélectionner
Dim Array.S(3, 1, 3, 2, 4)
; Remplit tout le tableau avec la lettre "A" quelque soit sa taille, et quelque soit le nombre de dimensions
Each(i, Array, 0)
Each(j, Array, 1)
Each(k, Array, 2)
Each(l, Array, 3)
Each(m, Array, 4)
Array(i, j, k, l, m) = "A"
Next
Next
Next
Next
Next
Code : Tout sélectionner
Dim Array.S(3)
; Syntaxe simplifiée quand le tableau n'a qu'une dimension
Each(i, Array)
Array(i) = "A"
Next
Code : Tout sélectionner
Dim Array.S(3, 1)
; /!\
; Eviter de surestimer le nombre de dimensions du tableau sinon division par zéro!
Each(i, Array, 0)
Each(j, Array, 1)
Each(k, Array, 2)
Each(l, Array, 3)
Each(m, Array, 4)
Array(i, j, k, l, m) = "A"
Next
Next
Next
Next
Next
Code : Tout sélectionner
Dim Array.S(3, 0, 3, 2, 4)
; /!\
; Eviter de mettre un Zéro (0) dans les paramètres de Dim sinon recherche
;complètement désorientée et inefficace. En plus, c'est inutile de
;faire ça!
Each(i, Array, 0)
Each(j, Array, 1)
Each(k, Array, 2)
Each(l, Array, 3)
Each(m, Array, 4)
Array(i, j, k, l, m) = "A"
Next
Next
Next
Next
Next