|
auteur : Comtois |
Un tableau statique dans une structure ne se comporte pas de la même façon qu'un tableau défini avec la commande Dim. Ceci pour être conforme au format de structures en C/C++ (pour permettre un portage direct des structures de l'API). Ce qui signifie que a[2] assignera un tableau de 0 à 1 (deux éléments) alors que Dim a(2) assignera un tableau de 0 à 2 (trois éléments).
Structure MaStructure
TableauStatique.l[2 ]
EndStructure
Dim Tableau.l(2 )
|
|
|
auteur : Comtois |
Par défaut un tableau est local, pour le rendre global il suffit d'ajouter le mot clé Global devant la déclaration du tableau.
Dim TableauLocal.l(10 )
Global Dim TableauGlobal.l(10 )
|
|
|
auteur : Comtois |
Pour passer un tableau en paramètre d'une procédure, il suffit d'indiquer le nombre de dimensions du tableau dans le paramètre de la procédure et d'appeler la procédure en indiquant l'adresse du tableau.
- Tableau() renvoie l'adresse du tableau, vous pouvez également écrire @Tableau().
Procedure Modifier(ptr.point(2 ))
ptr(1 ,3 )\x= 10
EndProcedure
Dim Tableau.point(2 ,5 )
Tableau(1 ,3 )\x= 15
Tableau(1 ,3 )\y= 23
Modifier(Tableau())
|
|
|
auteurs : Bob, Emmanuel Delahaye, Comtois |
Pour copier un tableau vers un autre, on a deux solutions. La première consiste à copier chaque case du tableau numéro 1 dans la case correspondante du tableau numéro 2. Mais cette manière est parfois complexe et risque d'être lente.
La deuxième possibilité est d'utiliser la fonction CopyMemory(). Elle admet trois paramètres, le premier étant le tableau source et le deuxième le tableau destination. Enfin, le troisième est le nombre d'octets à copier. Par exemple, pour copier le tableau Tableau1 dans le tableau Tableau2, il suffit de faire :
Dim Tableau1.point(10 )
Dim Tableau2.point(10 )
CopyMemory(Tableau1(), Tableau2(), SizeOf(point)* 11 )
|
|
lien : Différence entre un tableau et un tableau statique dans une structure ?
|
Consultez les autres F.A.Q's
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2008 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.