next up previous contents
suivant: Fonction monter: Sous-programme de test précédent: Sous-programme de test   Table des matières

Procédure

Prenons le cas d'une procédure dont la spécification serait:
 procedure Supprimer (Tete : in out T_Liste_Adresse; Nom : in String; Longueur : in Integer);
Comme on peut le voir le premier paramètre n'est pas d'un type connu, alors que les champs "Nom" et "Longueur" sont des types standards en l'occurence une chaîne de caractère et un entier.
   -------------------------------------------------------------
   -- Procedure de test de la procedure Supprimer
   -------------------------------------------------------------
   procedure Test_Supprimer is

      Nom         : String ( 1 .. 100 );
      Dernier_Nom : Natural;
      Longueur    : Integer;

   begin -- Test_Supprimer

      Put ( "Entrez une valeur du type String pour le parametre Nom : " );
      Get_Line ( Nom, Dernier_Nom );
      if Dernier_Nom = Nom'Last then
         Skip_Line;
      end if;

      Put ( "Entrez une valeur du type Integer pour le parametre Longueur : " );
      Get ( Longueur );
      Skip_Line;

      Supprimer ( Tab_T_Liste_Adresse ( Choisir_Objet_T_Liste_Adresse ), Nom ( 1 .. Dernier_Nom ), Longueur ) ;
Le paramètre ``Tete'' est global, il est donc demandé par le mécanisme de choix vu précédemment. La gestion des entrée/sortie est faite pour le "Nom" et la "Longueur" puisque les clauses de contextes déclarées au haut du fichier permettent de le faire.