C# Probléme pour controlez un code postal [Résolu]

Aurore1205
Messages postés
19
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
18 novembre 2004
- 9 nov. 2004 à 10:03 - Dernière réponse : abornand
Messages postés
1
Date d'inscription
mercredi 19 novembre 2003
Dernière intervention
15 novembre 2005
- 15 nov. 2005 à 16:48
Bonjour a tous !!!

Je suis débutante dans le c# !et d'ailleurs nouvelle dans ce forum aussi !!!

Et je voudrais savoir comment contrôler qu'un code postal est correct, mais voilà mon champ est de type char donc je ne peux pas faire:

((_Organisme.codePostal<"01000")||(_Organisme.codePostal>"99999"))

Comment puis-je faire???????????
Merci pour vos futures réponses!!!!

Aurore
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 9 nov. 2004 à 11:42
2
Merci
oups

/// <summary>
/// Fonction qui va tester le code postal
/// </summary>
/// Le code postal A tester

/// <returns>True si le code postal est correct, False sinon</returns>
public static bool f_Verifie_CP(string Code_Postal)
{
//Par défaut on retourne true
bool retour = true;

try
{
//ON fait les tests qu'il faut
if( (Convert.ToInt32(Code_Postal)<1000) || (Convert.ToInt32(Code_Postal)> 99999) )
{
retour = false;
}
}
catch(Exception xcp)
{
MessageBox.Show(xcp.Message);
}

return retour;
}

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."

Merci Arthenius 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Arthenius
Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 9 nov. 2004 à 10:42
0
Merci
Salut et Bienvenue,

Tu peux poster un peu de code histoire d'y voir plus clair :o)))
Tu dis que ton champ est de type char???

Attention il me semble que le code postal de la Corse contient des lettres aussi donc ton test du dessus ne fonctionnera pas...il me semble

Sinon Tu peux faire une fonction Qui retourne un booléen si ton code postal est correct ou non :

namespace Outils
{
public class Fonction
{
/// <summary>
/// Fonction qui va tester le code postal
/// </summary>
/// Le code postal A tester

/// <returns>True si le code postal est correct, False sinon</returns>
public static bool f_Verifie_CP(string Code_Postal)
{
//Par défaut on retourne true
bool retour = true;

//ON fait les tests qu'il faut
if( (Code_Postal<"01000") || (Code_Postal>   "99999") )
{
retour = false;
}

return retour;
}
}
}


du coup a l'utilisation ca sera plus simple :

if(Outils.Fonction.f_Verifie_CP(_Organisme.codePostal))
{
//......
}

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Aurore1205
Messages postés
19
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
18 novembre 2004
- 9 nov. 2004 à 10:57
0
Merci
Mais en fait le ligne
if( (Code_Postal<"01000") || (Code_Postal> "99999") )
ne fonctionne pas il me met un message d'erreur :

L'opérateur '<' ne peut pas être appliqué aux opérandes de type 'string' et 'int'

Je ne comprends pas pourquoi il me met ce message!!!!!

Aurore
Commenter la réponse de Aurore1205
TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 9 nov. 2004 à 12:44
0
Merci
Sinon tu peux utiliser des expressions régulières (REXEXP) ainsi que des validators.

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 9 nov. 2004 à 12:56
0
Merci
using System.Text.RegularExpressions;

void MatchRegex(string input )
{

    RegexOptions   options = RegexOptions.None;
    Regex          regex = new Regex(@"^\d{5}$", options);
    bool   isMatch = regex.IsMatch(input);
    if( isMatch )
return true
   return false;

   }

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Aurore1205
Messages postés
19
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
18 novembre 2004
- 9 nov. 2004 à 13:46
0
Merci
Merci beaucoup je suis enfin arriver à avoir un contrôle correct!!!!!!
Merci!!!

A plus...

Pour d'autres renseignements ;-)

AuroreAurore
Commenter la réponse de Aurore1205
Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 9 nov. 2004 à 14:04
0
Merci
valide la reponse qui ta convenu(avec le bouton "reponses acceptez" ou alors si tu a fait un truc poste le (histoire que cela serve a d'autre...)

merci :o)))
@+

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 9 nov. 2004 à 14:07
0
Merci
"ou alors"

J'aurais mis un "et',

Valide et poste une source:)

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 9 nov. 2004 à 14:19
0
Merci
lol...

oui valide ET poste une source :o)))

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
Aurore1205
Messages postés
19
Date d'inscription
lundi 8 novembre 2004
Dernière intervention
18 novembre 2004
- 9 nov. 2004 à 16:30
0
Merci
Voilà j'ai validé la réponse mais par contre j'ai pas posté car j'ai rien changé à ce que tu m'as donné!!!!!

Meçri encore de tout ses renseignements !!!!!

A bientot

AuroreAurore
Commenter la réponse de Aurore1205
TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
- 9 nov. 2004 à 16:32
0
Merci
Bon bah , mes regexp n'ont pas plu :(

Pourtant c'était plus propre et efficasse et + cours ...

bouhhh :(

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Arthenius
Messages postés
1183
Date d'inscription
mercredi 21 janvier 2004
Dernière intervention
6 septembre 2011
- 9 nov. 2004 à 16:56
0
Merci
oui mais pour commencer y a qd meme plus simple...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
Commenter la réponse de Arthenius
mythic_kruger
Messages postés
242
Date d'inscription
jeudi 8 janvier 2004
Dernière intervention
10 novembre 2005
- 10 août 2005 à 18:13
0
Merci
lol! Bien joué le regex malgré l'exception corse! (et depuis quand un void retourne true ou false? lol)
Commenter la réponse de mythic_kruger
abornand
Messages postés
1
Date d'inscription
mercredi 19 novembre 2003
Dernière intervention
15 novembre 2005
- 15 nov. 2005 à 16:48
0
Merci
C'est quoi ce code à 2 balles, je veux bien que le compilateur optimise le code mais bon, ça n'empêche pas de coder correctement



ça c'est une horreur, une hérésie, même un étudiant programmeur de
première année après 1 mois de cours ne le fait plus, sous peine de
hautes sanctions



<Garbage Code>

using System.Text.RegularExpressions;



void MatchRegex(string input )

{ RegexOptions options = RegexOptions.None;

Regex regex = new Regex(@"^\d{5}$", options);

bool isMatch = regex.IsMatch(input);

<Heresie>

if( isMatch )

return true

return false;

</Heresie> }

</Garbage Code>





return new Regex(@"^\d{5}$", RegexOptions.None).IsMatch(input);





ça ne sert à rien de déclarer une nouvelle variable booléenne pour la tester ensuite et retrouner juste sa valeur.

Et ne me dites pas que c'est à but didactique car je ne vous croirais pas
Commenter la réponse de abornand

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.