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 :

Redéfinir un type dynamiquement


Sujet :

Ada

  1. #1
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    Par défaut Redéfinir un type dynamiquement
    Bonjour,

    Je sèche sur un problème. Est-il possible de redéfinir un type dynamiquement ? Je m'expplique : j'ai trois types énumératifs contenant des mois dans 3 langues. Dans une procédure, je désir boucler sur les mois dans la bonne langue en fonction d'une variable.

    Ce n'est peut être pas très clair mais voila un exemple de code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    type T_Mois_FR is (Fr_1, Fr_2);
    type T_Mois_DE is (De_1, De_2);
    subtype Indice_Mois is Integer range 0..11;
     
    procedure Saisie_Mois (Langue_Source : in  Indice_Mois) is
       type T_Mois is new T_Mois_FR; -- Ici ca devrait être dynamique en fonction de Langue_Source 
       package Mois_Io is new Ada.Text_Io.Enumeration_Io(T_Mois); use Mois_Io;
     
       begin -- Saisie_Mois
          Put("Veuillez saisir le mois [choix possible = ");
          for Mois in T_Mois loop
             Put(Mois);
             if Mois /= T_Mois'Last then
                Put(" ¦ ");
             end if;
          end loop;
          Put("] : ");
       end Saisie_Mois;
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    type T_Lang is (fr, en);
    type T_Mois(Lang : T_Lang) is
       record
          case Lang is
               when fr =>
                   Mois_fr : T_Mois_fr;
               when en =>
                   Mois_en : T_Mis_en; 
          end case;
       end record;
     
    Locale : t_Lang;
    begin
       get(Locale);
       declare
           Mois_Local : T Mois(Locale);
       begin
           case Locale is
               when fr =>
                    Mois_Local.Mois_fr := ....
               when en =>
                   Mois_Local.Mois_en := ...
           end case;
        end;
    end;
    Est-ce que ça te convient ? Si j'ai bien comprise la question...

  3. #3
    Membre éprouvé Avatar de Alvaten
    Homme Profil pro
    Développeur Java / Grails
    Inscrit en
    Novembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java / Grails
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 324
    Points : 1 023
    Points
    1 023
    Par défaut
    Merci, c'est bien ça mais comme c'est dans le cadre d'un travail pratique à l'école je ne peut pas utiliser de type record.

    En fait j'ai du changer le fonctionnement de mon code et faire une boucle par langue. C'est le seule moyen dont je dispose d'après le prof.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cast d'un objet vers des types dynamiques
    Par aymen007 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 25/06/2008, 09h31
  2. Problème Type Dynamique Template
    Par M4xime dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 21/01/2008, 23h59
  3. Réponses: 10
    Dernier message: 27/04/2005, 11h26

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