Comment créer sa propre macro pour l'éditeur de méthode ?

Gwladys Paté

Vous désirez créer une macro pour pouvoir encadrer le code, que vous venez de sélectionner dans l'éditeur de méthode, avec une condition du type « Si () … Fin de si » ♪

- Titre : Comment créer sa propre macro pour l'éditeur de méthode ?

- Auteur : Gwladys Paté

- Parution : 2 juin 2006

- Licence : Copyright ® 2006 4D s.a.. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Étapes

- II. En cas de soucis

- III. Exercice 1

- IV. Exercice 2

- V. Aller plus loin

I - Étapes

1

Ouvrir le fichier Macros.xml avec un simple éditeur de texte. Ce fichier se trouve au sein du dossier 4D actif du système.

- Sous MacOS le fichier se trouve dans le dossier:
Disque dur:Bibliothèque:application support:4D

- Sous Windows le fichier se trouve dans :
C:\Documents and Settings\All Users\Application Data\4D

Le fichier peut être ouvert en même temps que 4e Dimension. À chaque passage de l'éditeur de texte à 4e Dimension, le fichier est relu pour mettre à jour la liste des macros disponibles.

2

Repérez au sein du fichier ainsi ouvert la dernière occurrence de la balise </macro>. Ajoutez derrière cette balise un retour chariot pour vous trouver sur une ligne vierge prête à la saisie.

3

Commencez votre macro en lui donnant un nom. Pour cela, tapez la ligne suivante :

<macro name=« Code dans un 'Si' »>

4

Votre macro ne doit pas être activée par la saisie prédictive de l'éditeur de méthode, car elle a besoin d'une sélection. Modifier donc la ligne pour qu'elle soit comme si dessous :

<macro name=« Code dans un 'Si' » type_ahead=« False »>

5

Il faut maintenant indiquer le début du texte de la macro. Pour cela, ajouter à la ligne suivante la balise <text>. Vous êtes alors prêt à saisir le code de la macro qui sera inséré dans le texte de la méthode.

6

Il vous faut maintenant ajouter la première ligne de votre code. Il s'agit de la condition ; écrivez donc la ligne suivante :

Si ( )

7

Votre code doit maintenant insérer le code que vous aurez sélectionné avant de l'appel de la macro. Pour cela, vous avez à votre disposition la balise <selection/> que vous écrirez dans une nouvelle ligne.

8

Vous pouvez à présent fermer la condition en écrivant dans une nouvelle ligne le texte suivant :

Fin de si

9

Il vous faut maintenant indiquer où vous désirez situer le curseur de saisie après l'exécution de la macro. Dans le cas étudié, il est intéressant de mettre le curseur au sein de la condition qui devra être saisie. Pour cela, modifier la ligne de condition de l'étape 6 comme ceci :

Si (<caret/>)

10

La macro est pratiquement terminée. Ajouter les balises indiquant que le texte est terminé et que la macro est finie:

</text>

</macro>

11

Votre macro doit maintenant ressembler à cela :

<macro name=« Code dans un 'Si' » type_ahead=« False »>
<text>
si(<caret/>)
<selection/>
fin de si
</text>
</macro>

12

Sauvegardez le fichier de macro, et testez dans 4e Dimension …

II - En cas de soucis

Si vous avez abîmé le fichier de macro de manière irrémédiable, il vous suffit de le détruire pour que 4e Dimension le reconstruise automatiquement au prochain lancement.

III - Exercice 1

Réaliser une macro pour encadrer du code dans un « Si () … Sinon … Fin de si »

IV - Exercice 2

Réaliser une macro pour mettre du code dans une structure du type « Au cas ou »

V - Aller plus loin

Manuel structure 4D 2004 page 673