Quel est l'intérêt ?
- Passer plusieurs valeurs en un seul paramètre (tableau)
- Modifier plusieurs paramètres avec la procédure et récupérer les paramètres en dehors de la procédure
Première exemple Tableau à une dimension
Code : Tout sélectionner
Enumeration
#X
#Y
#W
#H
EndEnumeration
; ATTENTION ici est le piège
; Le chiffre 1 représente le nombre de dimensions du tableau et PAS le nombre d'éléments
Procedure Calcul(Array Pos(1))
Pos(#X)=50
Pos(#Y)=150
Pos(#W)=250
Pos(#H)=350
EndProcedure
; Exemple de calcul de dimension d'un rectangle par exemple
; je dimensionne un tableau
Dim myPos(#H) ; remarquez j'utilise une énumération pour que ce soit plus claire
Calcul(myPos())
Debug "Position X = "+Str(myPos(#X))
Debug "Position Y = "+Str(myPos(#Y))
Debug "Position W = "+Str(myPos(#W))
Debug "Position H = "+Str(myPos(#H))
Code : Tout sélectionner
Enumeration
#Position
#LigneSize
EndEnumeration
Enumeration
#X
#Y
#W
#H
EndEnumeration
; ATTENTION ici est le piège
; Le chiffre 2 représente le nombre de dimensions du tableau et PAS le nombre d'éléments
Procedure Calcul(Array Pos(2))
Pos(#Position,#X)=50
Pos(#LigneSize,#X)=5
Pos(#Position,#Y)=150
Pos(#LigneSize,#Y)=15
Pos(#Position,#W)=250
Pos(#LigneSize,#W)=25
Pos(#Position,#H)=350
Pos(#LigneSize,#H)=35
EndProcedure
; Exemple de calcul de dimension d'un rectangle par exemple mais cette
; fois avec la taille de la ligne (ceci n'est évidement qu'un exemple)
; je dimensionne un tableau
Dim myPos(#LigneSize,#H) ; remarquez j'utilise une énumération pour que ce soit plus claire
Calcul(myPos())
Debug "Position X = "+Str(myPos(#Position,#X))+" et une ligne de "+Str(myPos(#LigneSize,#X))
Debug "Position Y = "+Str(myPos(#Position,#Y))+" et une ligne de "+Str(myPos(#LigneSize,#Y))
Debug "Position W = "+Str(myPos(#Position,#W))+" et une ligne de "+Str(myPos(#LigneSize,#W))
Debug "Position H = "+Str(myPos(#Position,#H))+" et une ligne de "+Str(myPos(#LigneSize,#H))