Procédure - Définition du corps d'une méthode ou d'une procédure

Instruction. Définition du corps d'une méthode d'un type ou d'une procédure.

Syntaxe

TypeDAcces Procedure NomDeLaFonction ( ListeDeParametresDUnAppel ) SuiteProcedure

Description

L'instruction Procedure permet de définir le corps du traitement correspondant à une procédure. Cette procédure peut être soit rattachée à un type soit être autonome dans le composant.

Une procédure ne retourne pas de résultat. L'arrêt de l'exécution des instructions du corps de la procédure s'effectue au moyen de l'instruction Retourner.

Les procédures peuvent être surchargées par polymorphisme : il existe plusieurs procédures portant le même nom. Ces procédures diffèrent par leur prototype.

Un paramètre de procédure peut être nommé ou non. S'il est nommé, il se comportera comme une variable locale à la procédure. S'il n'est pas nommé, son symbole est ? et, bien que transmis, il est ignoré dans le corps de la procédure. Les paramètres non nommés sont utiles lorsqu'il s'agit d'écrire des procédures génériques pour lesquels tous les paramètres ne sont pas pertinents dans tous les contextes.

Un paramètre peut posséder une valeur défaut qui est en ce cas soit Nul ou soit une constante en accord avec le type du paramètre. Seuls les derniers paramètres peuvent être optionnels : un paramètre optionnel ne peut être suivi d'un paramètre obligatoire. Lors de l'appel de la procédure, les n derniers paramètres optionnels peuvent être omis. En ce cas, les valeurs transmises correspondent aux valeurs par défaut.

Exemple

Type A
/****/
Fin Type
/* Le type TA comporte deux méthodes (PMethode1 et PMethode2). */
/* Définition des méthodes de TA. */

/****************************************************************/
Procedure TA.FMethode1(F : Fichier)
/* Objet : Definition de la methode 'FMethode1' de 'TA'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure TA.FMethode2()
/* Objet : Definition de la methode 'FMethode2' de 'TA'. */
/****************************************************************/
Debut
...
Fin Procedure

/****************************************************************/
Procedure Factorielle(E : Entier, R : Entier Sortie)
/* Objet : Procedure factorielle. */
/****************************************************************/
Variable
/******/
Debut
Si E==1 Alors Sinon Fin Si
Fin Procedure

/****************************************************************/
Procedure P(A:Entier, ? : Entier, B:Entier=0, C:Entier=0)
/* Objet : Procédure a un paramètre non nomme et deux paramètres optionnels. */
/****************************************************************/
Debut
...
Fin Procedure

Principal
/*******/
Debut
P(1,2,3,4);
/* Appel de P. Tous les paramètres sont transmis. */
P(1,2,3);
/* Appel de P. Le dernier paramètre optionnel n'est pas transmis. */
P(1,2);
/* Appel de P. Les deux derniers paramètres optionnels ne sont pas transmis. */
Retourner 0;
Fin Principal

Voir aussi

Fonction, Operateur et Rappel pour connaître les autres types d'appels possibles. Principal pour définir la fonction principale.

Traduction

---------