Application windows C#

Résolu
krim43 Messages postés 12 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 2 juillet 2008 - 2 juil. 2008 à 15:10
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 2 juil. 2008 à 22:04
bonjour tout le monde voila mon problème:
Ecrire un programme permettant d'afficher un message de bienvenue à l'utilisateur qui entre son prénom. Si la zone de saisie est vide, le programme enverra un message d'erreur. Si le prénom possède un caractère différent de l'alphabet (a à z) et different de " -"ou " ' ", le programme enverra un message d'erreur.

je vous affiche ce que j'ai fait, je coince juste pour ajouter la condition qui permet de verifier le "-" et le " ' ":

private void btValider_Click(object sender, EventArgs e)
        {
            if (txtPrenom.Text == "")
            {
                MessageBox.Show("Saisie obligatoire du prenom", "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                int lg = txtPrenom.Text.Length;
                string pre = txtPrenom.Text;
                string prebas = pre.ToLower();
                int i;
                for (i = 0; i < txtPrenom.Text.Length; i++)
                {
                    if ((prebas[i] < 'a') || (prebas[i] > 'z'))
                    {
                        int num = i + 1;
                        MessageBox.Show("Caractère  " + prebas[i] + "  interdit en position " + num + ".", "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        txtPrenom.Focus();
                        return;
                    }
                    else
                    {
                        int num = i + 1;
                        MessageBox.Show("Caractère N°" + num + " : " + pre[i], "Décomposition du prénom", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                    lblResultat.Text = "Bonjour !  " + txtPrenom.Text;
                }
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void btQuitter_click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

4 réponses

Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
2 juil. 2008 à 15:37
Regarde avec les expressions regulières (RegEx) , tu devrais trouver ton bonheur.

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
3
Liverion Messages postés 296 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 18 août 2008
2 juil. 2008 à 16:19
ben tu marques dans ta RegEx que tu prends tous les caractères que tu veux, alors le IsMatch() renverra false, comme ca tu peux detecter. Pour la regex en particulier, je sais pas ce que ca donnerait, j'en ai jamais fait :)

~~
Les trois lois de Codes-Sources :
Loi 1) Tu lis et respectes le reglement
Loi 2) Tu penses à valider si une reponse apportée à ton problème t'a aidé
Loi 3) Si tu ne respectes pas les 2 premières ....TU SORS !!
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
2 juil. 2008 à 22:04
Salut,
Tu peux essayer le code suivant:

public
static
bool IsUsernameValid(
string username)
{
  
if (!
string.IsNullOrEmpty(username))
   {
     
return
Regex.Match(username,
@"^([a-zA-Z\-']+)$").Success;
   }
  
return
false;
}

<hr />
-My Blog-
3
krim43 Messages postés 12 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 2 juillet 2008
2 juil. 2008 à 16:13
j'ai lu des choses sur ta fonction.
j'ai compri a peu pres ce que je doit faire
Regex  maRegexp = new Regex("^[a-z]+$");
                  string  maChaine = "Salut à tous !!";
                  bool    regOK    =maRegexp.IsMatch(maChaine);

                  if (regOK)
                        MessageBox.Show("ok");
                  else
                        MessageBox.Show("pas ok");

mais j'arrive pas a l'integrer dans mon cas
0
Rejoignez-nous