Structures

Présentation

Créez des structures dans un projet en tant qu'objets DUT (Data Type Unit) à l'aide de la boîte de dialogue Ajouter un objet.

Les structures commencent par les mots clés TYPE et STRUCT et se terminent par END_STRUCT et END_TYPE.

Syntaxe

TYPE <structurename>:
STRUCT
    <declaration of variables 1>
    ...
    <declaration of variables n>
END_STRUCT
END_TYPE

Le type <nom de la structure> est reconnu dans l'ensemble du projet et peut être utilisé comme type de données standard.

Les structures imbriquées sont autorisées, à la seule condition que les variables ne soient pas affectées à des adresses (déclaration AT non autorisée).

Exemple

Exemple de définition de structure nommée Polygonline :

TYPE S_POLYGONLINE :
STRUCT
        aiStart : ARRAY[1..2] OF INT := [-99, -99];
        aiPoint1 : ARRAY[1..2] OF INT;
        aiPoint2 : ARRAY[1..2] OF INT;
        aiPoint3 : ARRAY[1..2] OF INT;
        aiPoint4 : ARRAY[1..2] OF INT;
        aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE

Initialisation de structures

Exemple :

Poly_1:polygonline := ( Start:=[3,3], Point1:=[5,2], Point2:=[7,3], Point3:=[8,5], Point4:=[5,7], End:= [3,5]);

Il est impossible d'initialiser des structures avec des variables. Pour consulter un exemple d'initialisation d'un tableau de structure, reportez-vous au chapitre Tableaux.

Accès aux composants d'une structure

La syntaxe suivante permet d'accéder aux composants d'une structure :

<nomstructure>.<nomcomposant>

Pour l'exemple précédent de la structure Polygonline, vous pouvez accéder au composant Start par Poly_1.Start.

Accès aux bits de structures

BIT est un type de données spécial réservé aux structures. Occupant 1 bit d'espace mémoire, il vous permet d'adresser les bits individuels d'une structure par leur nom.

TYPE <structurename>:
STRUCT
    <bitname bit1> : BIT;
    <bitname bit2> : BIT;
    <bitname bit3> : BIT;
    ...
    <bitname bitn> : BIT;
END_STRUCT
END_TYPE

Vous pouvez utiliser la syntaxe suivante pour accéder au composant BIT d'une structure :

<nomstructure>.<nombit>

NOTE : Il est impossible d'utiliser des références et des pointeurs sur les variables BIT. En outre, les variables BIT ne sont pas autorisées dans les tableaux.