#DEFINE commande

Syntaxe :

#DEFINE nouveauType AS ancienType
#DEFINE nouveauType AS { POINTER TO |@|^|.} ancienType
#DEFINE nouveauType AS { HANDLE TO |@@|^^|..} ancienType

Description :

Grâce à la commande #DEFINE, vous pouvez créer un nom pour un type de variable (l’autre manière de procéder est d’utiliser la commande BEGIN RECORD). nouveauType peut être un nom quelconque qui vous convient à condition qu’il diffère des noms de types déjà existants. ancienType est le nom d’un type déjà existant; ce peut être soit un type pré-établi tels que RECT ou INT, ou bien un type que vous avez créé précédemment, à l’aide de la commande BEGIN RECORD ou d’une autre commande #DEFINE. Après la commande #DEFINE, vous pouvez déclarer des variables de ce nouveau type avec la commande DIM, et vous pouvez passer nouveauType aux fonctions SIZEOF et TYPEOF.

Si vous utilisez la première syntaxe, nouveauType devient essentiellement un synonyme de ancienType. Si vous utilisez les deux autres syntaxes, alors les variables du nouveau type seront reconnues comme des pointeurs ou des handles sur des structures de ancienType. C’est la seule façon d’affecter un type aux pointeurs et aux handles.

NdT : Les handles (ou pointeurs de pointeurs) sont parfois désignés par le terme “poignées”. Dans ce manuel, nous avons conservé la terminologie anglaise habituelle : handle)

Note :

#DEFINE est une instruction non-exécutable, si bien que vous ne pouvez pas changer son effet en la plaçant dans une structure d’exécution conditionnelle telle que LONG IF…END IF. Cependant, vous pouvez conditionnellement l’inclure ou l’exclure du programme en la plaçant dans un bloc COMPILE LONG IF. Une commande non-exécutable à l’intérieur d’une structure COMPILE LONG IF ne sera compilée que si la condition suivant le IF est rencontrée, autrement elle sera ignorée.

Voir Aussi :