Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > Ada
Ada Forum d'entraide sur la programmation en langage Ada
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/11/2012, 14h46   #1
HRS
Membre éprouvé
 
Avatar de HRS
 
Inscription : mars 2002
Messages : 623
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 623
Points : 494
Points : 494
Par défaut fabriquer un package à partir d'un autre générique

j'aimerais fabriquer un package en utilisant un package générique existant (ADA.STRINGS.BOUNDED)

mais sans l'instancier. Est-possible ?

En effet, je pense que c'est au programme qui utilise mon package d'instancier le générique
HRS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2012, 19h05   #2
jovalise
Membre éclairé
 
Inscription : juin 2006
Messages : 767
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : juin 2006
Messages : 767
Points : 328
Points : 328
Citation:
Envoyé par HRS Voir le message
j'aimerais fabriquer un package en utilisant un package générique existant (ADA.STRINGS.BOUNDED)

mais sans l'instancier. Est-possible ?

En effet, je pense que c'est au programme qui utilise mon package d'instancier le générique

Ben tu le passe en paramètre de paquet générique ...
Code ada :
1
2
3
4
5
with ADA.STRINGS.BOUNDED;
generic
   with package instance is new ADA.STRINGS.BOUNDED(<>);
package generic_package is

C'est le mieux.
__________________
Mon développement
jovalise est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2012, 14h10   #3
HRS
Membre éprouvé
 
Avatar de HRS
 
Inscription : mars 2002
Messages : 623
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 623
Points : 494
Points : 494
merci. je vais essayer cela.
HRS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 16h56   #4
HRS
Membre éprouvé
 
Avatar de HRS
 
Inscription : mars 2002
Messages : 623
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 623
Points : 494
Points : 494
mon package doit être comme vous dites

Code :
1
2
3
4
WITH Ada.Strings.Bounded;
generic
  with package P_Bounded is new Ada.Strings.Bounded.Generic_Bounded_Length(<>);
PACKAGE NChaine IS
le programme qui utilise mon package doit faire une DOUBLE instantiation comme suit

Code :
1
2
3
4
5
with nchaine; WITH Ada.Strings.Bounded;
procedure testnchaine is
  
package P40 is new Ada.Strings.Bounded.Generic_Bounded_Length(40);
package nchaine2 is new nchaine(P40); use nchaine2;
HRS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 01h04   #5
Sigurd9
Nouveau Membre du Club
 
Homme
Enseignant
Inscription : avril 2012
Messages : 26
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : avril 2012
Messages : 26
Points : 39
Points : 39
Tu peux aussi créer un package fils :

Code :
1
2
3
4
generic
package Ada.Strings.Bounded.Le_Mien is
 ...
End Ada.Strings.Bounded.Le_Mien ;
Sigurd9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 13h17   #6
HRS
Membre éprouvé
 
Avatar de HRS
 
Inscription : mars 2002
Messages : 623
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 623
Points : 494
Points : 494
je vais essayer cela aussi

j'en profite pour reposer une question

la fonction Trim de Ada.Strings.Bounded utilise un type énumératif de

ada.string ==> type Trim_End is (Left, Right, Both);

cela ne ne dérange pas, dans mon package, de devoir utiliser

ada.string.left ou ada.string.right

mais comment faire pour que le programme utilisateur (testnchaine) n'utilise que left ou right
HRS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 19h33   #7
Jaizu
Nouveau Membre du Club
 
Inscription : octobre 2010
Messages : 21
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 21
Points : 26
Points : 26
Bonjour,

Citation:
Envoyé par HRS Voir le message
mais comment faire pour que le programme utilisateur (testnchaine) n'utilise que left ou right
À l'instar des types numériques, il est possible de créer un sous-type ou un type dérivé d'une énumération avec certaines contraintes.
Jaizu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h35.


 
 
 
 
Partenaires

Hébergement Web