Structures

Présentation

La boîte de dialogue Ajouter un objet permet de créer des structures dans un projet sous forme d'objets DUT (types de données).

TYPESTRUCTEND_STRUCTEND_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 attribuées à des adresses (déclaration AT interdite).

Exemple

Exemple de définition de structure Polygonline :

TYPE Polygonline:
STRUCT
    Start:ARRAY [1..2] OF INT;
    Point1:ARRAY [1..2] OF INT;
    Point2:ARRAY [1..2] OF INT;
    Point3:ARRAY [1..2] OF INT;
    Point4:ARRAY [1..2] OF INT;
    End:ARRAY [1..2] OF INT;
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>

PolygonlineStartPoly_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

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

<nomstructure>.<nombit>

NOTE : Il est impossible d'utiliser des références et des pointeurs de variables BIT. Par ailleurs, les variables BIT sont interdites dans les tableaux.