mathieu57100
Messages postés103Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention 9 février 2006
-
9 mars 2005 à 14:50
EddiTheHead
Messages postés58Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention 2 juin 2006
-
13 mars 2005 à 23:33
bonjour, j'ai créée un type composé de nombre et ca fonctionne:
type
TType = '0'..'9';
par contre j'aimerai y ajouter le caractère "_" et c'est lç que ca bloque...
d'après ce que j'ai trouvé dans une doc on pourrait faire: TType = ['_', '0'..'9'];
mais j'ai un message à la compilation qui me dit
"(Type) attendu(e) mais "[" trouvé(e)"
j'ai donc remplacé les "[" et "]" par "(" et ")" et là il me met un autre message:
"Identificateur attendu(e) mais constante chaine trouvé(e)
EddiTheHead
Messages postés58Date d'inscriptionmercredi 16 février 2005StatutMembreDernière intervention 2 juin 2006 13 mars 2005 à 23:33
Salut,
Ton "TType = '0'..'9';" est de type intervalle, tu ne peut avoir que le 1er et le dernier élèments. Le problème avec ce type, c'est que tu peut dépasser l'intervalle et planter ton prog (a moins de mettre la directive {$R+}).
Tu peut essayer avec un type ensemble :
Type TType = Set of Char;
Var Chiffre : TType;
Begin
Chiffre := ['_', '0'..'9'];
ou Chiffre := ['_', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
et puis faire le test de niki2001 :
If Caractere In Chiffre Then ...
Niki2001
Messages postés85Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention17 décembre 20051 9 mars 2005 à 15:22
Pour moi, c'est impossible. A mon sens tu devrais utiliser Char et faire le test "in ['_', '0'..'9']" avant chaque affectation.
J'espère que quelqu'un trouvera une meilleure solution.
Sur ce...
neodelphi
Messages postés442Date d'inscriptionjeudi 4 avril 2002StatutMembreDernière intervention11 août 2008 10 mars 2005 à 06:52
Je suis d'accord avec Niki ça me parait difficile...
Ou alors peut-etre si tu met sous la forme ['0', '1', '2', '3', '8', '9', '_'] mais je suis pas sur...