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

C# Discussion :

Débutant C# : Problème de débutant


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 39
    Par défaut Débutant C# : Problème de débutant
    Bonjour à tous ,je suis débutant en langage C# (1h de cours) ,et on nous a (déjà ! lol) demandé de créer un programme nommé "devinnette" dans lequel l'ordinateur génère un chiffre entre 1 et 10 et l'utilisateur doit deviner ce chiffre .
    Ensuite ,il clique sur "valider" et ca affiche "bravo" si c'est juste et "faux" sinon .

    Mais voila ,je n'y arrive pas .
    J'ai créer une fenètre "textbox" pour que l'utilisateur entre son chifffre ,et un bouton validez .
    J'ai double-cliqué sur ce bouton "validez" et tapé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Random rnd = new Random();
    int n = rnd.Next(1,10);
     
    if ( DialogResult.Equals(n) )
         MessageBox.Show("vrai");
    else
         MessageBox.Show("Faux");
    D'abord ça affiche tout le temps faux et ensuite ,ça l'affiche quand j'entre le chiffre et non quand je clique sur valider .
    Aidez moi svp .
    Merci beaucoup .

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Je ne vais pas te donner la solution toute faire, sinon, je fais l'exercice à ta place, et ce n'est pas le but !

    Voilà ce que je peux te dire qui ne va pas dans ton programme :
    1. Tu instancies à chaque clic un nouveau nombre... Donc à chaque fois que ton utilisateur clique sur le bouton, il n'a qu'une seule chance de trouver le bon nombre, puisque c'est un nombre différent à chaque clic !
    2. La méthode Equals() permet de comparer deux instances d'objet. Il faut au moins que ces objets soient du même type. Là, tu compares 2 types différents : int et DialogResult... Donc ce sera forcément faux !
    3. Si le morceau de code que tu nous montres est exécuté à chaque fois que tu met un chiffre dans le textbox, c'est que l'évènement est déclenché à ce moment là, et non quand tu cliques sur le bouton... A mon avis, tu as double cliqué sur le textbox et non sur le bouton ! ...Là, c'est plus un problème psychomoteur, qu'algorithmique :p

  3. #3
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 39
    Par défaut
    " Tu instancies à chaque clic un nouveau nombre... Donc à chaque fois que ton utilisateur clique sur le bouton, il n'a qu'une seule chance de trouver le bon nombre, puisque c'est un nombre différent à chaque clic !"
    En fait,c'est ce qui est écris dans l'énoncé : le nombre change à chaque clic .moi aussi je trouve ça un peu débile mais bon ...
    Donc j'ai modifié un peu mon code (j'avais cliqué sur la textbox c'est vrai ;c'est corrigé ,j'ai clické sur le bouton ) et ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Random rnd = new Random();
                int n = rnd.Next(1, 10);
                string reponse = DialogResult.ToString();
                string nb = n.ToString();
     
                if (reponse.Equals(nb))
                    MessageBox.Show("vrai");
                else
                    MessageBox.Show("Faux");
    Mais c'est encore toujours faux. comment le bouton "validez" sais que j'ai rentré une valeur dans la textbox et que DialogResult se rapport au bouton ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    En fait, tu n'as pas besoin de DialogResult, il te faut juste aller récupérer le contenu de ton textbox. Je te laisse chercher un peu comment il faut faire
    Essaye de travailler avec les points d'arrêts dans VS, tu verras que la valeur de DialogResult n'est pas du tout ce que tu veux. Pour cela, je te renvoie à l'article de Laurent Gomila sur le débogage avec VS : http://loulou.developpez.com/tutorie...l-studio/#L3.3

  5. #5
    Membre actif
    Inscrit en
    Septembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 39
    Par défaut
    Youhou ,j'ai trouvé !!
    C'était en fait avec textBox1.Text mais c'est vrai que le dialogresult ne servait à rien .
    En tout cas ,merci beaucoup !!!

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Ton textbox est un objet de ta form (fenêtre).
    Tu peux voir son nom dans les propriétés du contrôle, quand il est sélectionné dans le designer.
    Lorsque tu auras retrouvé son nom, tu pourras récupérer le contenu de cet objet dans ton morceau de code, en utilisant la propriété Text.

    Pour faire ta comparaison, ne passe par Equals(), mais plus simplement par l'opérateur "==".

Discussions similaires

  1. [Débutant][JScrollePane] Problème d'affichage
    Par flzox dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 12/12/2004, 16h36
  2. [Graphisme][Débutant(e)] Problème sur repaint()
    Par Katyucha dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/10/2004, 17h12
  3. [Débutant][Phppgadmin] problème avec les types
    Par PoY dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/08/2004, 17h06
  4. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  5. [débutant] [lomboz] Problème deploy.web.xml
    Par cdrikou dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 29/04/2004, 10h47

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