IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

Package générique utilisation


Sujet :

Ada

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Package générique utilisation
    Bonjour, je dispose de 2 packages génériques que j'utilises 2 fois chacun (une fois pour les integers et une fois pour les strings). J'ai également un fichier "main" qui se charge d'instancier le package selectionné par l'utilisateur.
    - package1 avec integer
    - ou package1 avec string
    - ou package2 avec integer
    - ou package2 avec string

    Le but est d'utiliser le même code du main pour les 4 packages.

    Malheureusement je ne trouve pas comment faire cela proprement. Pour le moment j'ai mis la liste des packages en dur que je commente. Il n'est pas possible de faire des pseudo if dans le begin ou de faire le new package dans le begin ? Sinon peut etre en passant la package en paramètre de la fonction ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure main is
             package aB is new package1(integer, false, afficheInteger, true);
            --package aB is new package1(Unbounded_String, true, afficheUnbounded, true);
            --package aB is new package2(1,integer, false, afficheInteger, true);
            --package aB is new package2(1, Unbounded_String, true, afficheUnbounded, true);
    begin
            aB.init();
            .....
    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    J'ai essayé de passer le paquetage en paramètre, ce qui résoudrait mon problème, mais je ne sais pas si c'est possible. J'ai essayé le code suivant mais ça fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure init_paquetage1_int is
        package aB is new packA(integer, false, afficheInteger, true);
    begin
        main(aB);
    end init_paquetage1_int; 
     
    procedure main(aB : packA) is
    begin
        aB.init();
        ....
    end main;

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Après le begin, tu peut faire une condition à base de if ou de case, et placer un "declare ...instance du paquetage... begin ...code... end.

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2014, 16h33
  2. lister fichier d'un package sans utilisation du jar
    Par oraur dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 22/04/2009, 20h53
  3. Réponses: 5
    Dernier message: 15/05/2008, 22h19
  4. Héritage de package génériques
    Par AlienAttack2k dans le forum Ada
    Réponses: 1
    Dernier message: 23/07/2007, 09h44
  5. caractère générique utilisable dans strcmp
    Par barthelv dans le forum C
    Réponses: 9
    Dernier message: 01/08/2003, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo