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 :

Problème pour une définition de type


Sujet :

Ada

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Problème pour une définition de type
    Voilà, je vous expose mmon problème...jusqu'à maintenant, je possédais déjà les défénitions de types en Ada. Et depuis une semaine, j'ai décidé de commencer à le faire moi même. Pour la plupart des éléments c'est réussi mais il subsite un souci(j'ai regardé la FAQ et les messages précédents mais je n'y ai pas trouvé encore mon bonheur):

    Je ne sais pas où définir (et comment définir) le type chaîne de caractères {"normal", "erreur"}. Au début je comptais le faire sur l'adb mais apparement lors des définitions de fonctions, le compilateur ne reconnaît pas le type.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    package ADM is
     
       type ADM is limited private;
     
    private
     
       type QUINTUPLET;
     
       type annee_bac is access integer range 0..integer'last;
       type Serie_Bac is ('E','L','S','T');
       type Num_Doss is access Integer range 0..500;
       type Note_Doss is access Integer range 0..100; 
       type adr_triplet is access Triplet;
       type Adr_quint is access Quintuplet;
     
       type Doublet is
       record
          Aq, Pq: Adr_Quint;
       end record;
     
          type Quadruplet is 
       record
          adt, Pt: Adr_Triplet;
          Aq, Pq: Adr_Quint;
       end record;
     
      type Triplet is
          record
          num : num_doss;
          note : note_doss;
          succ: Adr_Triplet;
       end record;
     
       type Quintuplet is
          record
          annee : annee_bac;
          serie : serie_bac;
          Tete : Adr_Triplet;
          queue: Adr_Triplet;
          suiv: adr_quint;
     
          end record;
     
      type ADM is new adr_quint;
    Et en dessous j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure Suppr_Annee_Serie (A: in Adr_Quint; S: in Serie_Bac; R: out Compte_Rendu);

    Donc où et comment définir cette chaîne de caractères? Si possible, je ne voudrais pas utiliser de "string"...

    $ Kleer $
    PS: si jamais vous voyez des erreurs dans le code précédent (que le compilateur n'aurait pas détécté, merci de m'en faire part !!)

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Le type chaîne de caractère existe déjà, il s'appel String.

    Si j'ai bien compris la question, ce doit être la réponse...
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Celelibi
    Le type chaîne de caractère existe déjà, il s'appel String.

    Si j'ai bien compris la question, ce doit être la réponse...
    Cela veut-il dire que je n'ai vraiment pas le choix et que je dois utiliser "string" ??????

    Et où dois-je le placer ??? Dans l'ads c'est bien ça ??

    $ Kleer $

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Tu n'est pas obligé de l'utiliser, tu peux le recréer. Le type String est simplement défini comme un tableau non contrait indicé par des entiers positifs et qui contient des caractères.

    Mais si tu recrée toi-même ton type de chaîne de caractère il ne sera pas compatible avec le type String.
    Si ton but est simplement d'avoir un type de chaîne de caractère plus restreint que le type String, tu peux définir ton type comme un sous-type de String.

    Et où dois-je le placer ??? Dans l'ads c'est bien ça ??
    Je suis pas sûr de bien comprendre. Si tu utilise le type String, tu n'as à le mettre nul part, il est déjà défini.
    Si tu veux définir ton propre type ou sous-type de chaîne de caractère il faut généralement le mettre dans le fichier ads si tu en as un. Mais tu n'est pas obligé d'avoir un fichier ads ; à ma connaissance ceux-ci sont nécessaires uniquement pour les packages.


    PS : ça fait un peu (très) gamin de multiplier les '?' à la fin de tes questions. Si tu veux symboliser l'étonnement en plus de la question, utilise "?!" ou "!?".
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par Celelibi

    PS : ça fait un peu (très) gamin de multiplier les '?' à la fin de tes questions. Si tu veux symboliser l'étonnement en plus de la question, utilise "?!" ou "!?".
    D'accord, excuse moi, je ne savais pas que ça pourrait déranger quelqu'un (je ne m'attendais pas à ce qu'on traite ainsi ma façon de m'exprimer surtout à cause d'une ponctuation trop accentuée car j'évite les fautes d'orthographe ). A l'avenir, j'éviterais les multiplications de "?".

    Merci de ton conseil et de tes réponses en tout cas. J'ai donc remédié à tout ça et tout fonctionne à nouveau. Merci de tes conseils précieux! Je sais au moins que je ne perd pas mon temps sur ce forum. C'est un bijou, et comme tout les bijoux, j'évite d'en abuser.

    Voici ma correction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     TYPE Compte_Rendu IS (Normal, Erreur);
    $ Kleer $

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

Discussions similaires

  1. Problème de requête pour une relation de type n-n
    Par toutoune60 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/03/2007, 15h41
  2. Problème pour une calculette
    Par Pyrhaa_666 dans le forum C
    Réponses: 5
    Dernier message: 13/07/2006, 19h47
  3. Réponses: 2
    Dernier message: 02/03/2006, 11h57
  4. problème pour une calculatrice
    Par Anthobask dans le forum C
    Réponses: 4
    Dernier message: 19/12/2005, 21h11
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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