Au lieu d'utiliser les noms statiques des objets graphiques ou des fenêtres, il est également possible d'utiliser les noms de substitution %FENETRE et %OBJET.
%FENETRE
Ce nom permet de référencer la fenêtre courante. Il est valide à l'intérieur (au sens large) d'un bloc de source lié à une fenêtre, et permet de référencer cette fenêtre sans faire appel à son nom externe.
%FENETRE permet d'écrire du code générique : le code n'aura pas besoin d'être modifié si la fenêtre est renommée ou si le source est copié/collé dans une autre fenêtre ou dans le source d'un OGP.
Par exemple :
Dans le paragraphe INITIALISATION de la fenêtre GESTION_CLIENT, les deux lignes de code suivantes sont strictement équivalentes :
GESTION_CLIENT:Titre = 'Gestion client'
équivaut à
%FENETRE:Titre = 'Gestion client'
Attention : %FENETRE n'a pas de signification en dehors d'une fenêtre (par exemple, dans le paragraphe INIT PGM).
%OBJET
Ce nom permet de référencer l'objet graphique courant. Il est valide à l'intérieur (au sens large) d'un bloc de source lié à un objet graphique, et permet de référencer cet objet sans faire appel à son nom externe.
%OBJET permet d'écrire du code générique : le code n'aura pas besoin d'être modifié si l'objet graphique est renommé ou si le source est copié/collé dans une autre fenêtre ou dans le source d'un OGP.
Par exemple :
Dans le bloc BOUTON_QUITTER:BoutonGaucheClic de l'objet BOUTON_QUITTER, les deux lignes de code suivantes sont strictement équivalentes :
BOUTON_QUITTER:Activite = *VRAI
équivaut à
%OBJET:Activite = *VRAI
Attention : %OBJET n'a pas de signification en dehors d'un contexte d'objet graphique (par exemple dans le paragraphe INIT PGM).