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

Windows Forms Discussion :

Impossible de prendre une valeur avec Console.Read( ?


Sujet :

Windows Forms

  1. #1
    Membre averti Avatar de Tux1
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Par défaut [C#] Impossible de prendre une valeur avec Console.Read( ?
    Bonjour,
    Je débute et je dois être débile
    Mais voilà mon code:
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    using System;
    class MainProg
    {
        public static void  Main()
        {
           int b;
           b = Console.Read();
           Console.WriteLine(b);
        }
    }

    Et bin j'ai toujours une valeur qui a aucun rapport mais qui est constante
    Généralement j'ai 49 tout le temps
    Je comprend pas

    Je suis débutant merci

  2. #2
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    Bonjour

    En fait quand tu examine cette ligne de code
    b = Console.Read(); tu voie que b prend la valeur ASCII de de l'entrée si tu écris A en majuscule tu récupérera 65, si tu reçois 49 c'est que tu a tapé 1, je te propose d'essayer ce bout de code pour lire ton entrée.

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        class Program
        {
            static void Main(string[] args)
            {
                int b;
                b = Console.Read();
                Console.Write(Convert.ToChar(b));
            }
        }

    Capitaine Kirk.

  3. #3
    Membre averti Avatar de Tux1
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Par défaut
    Merci
    Et comment récupérer un nombre seul ???
    en Unicode ?

  4. #4
    Membre éprouvé Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Par défaut
    je ne sais pas si j'ai bien compris ta demande, mais je te propose d'essayer comme ceci :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        class Program
        {
            static void Main(string[] args)
            {
                ConsoleKeyInfo varName;
                varName = Console.ReadKey();
                Console.Out.Write("\n"+"vous avez saisie le " + varName.KeyChar);
            }
        }

    Capitaine Kirk.

  5. #5
    Membre averti Avatar de Tux1
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Par défaut
    Ya pas une facon plus simple de récupérer juste un nombre ???

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 72
    Par défaut
    Bonjour,

    Moi pour récupérer un nombre je fais souvent qqch comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    class Program
        {
            static void Main(string[] args)
            {
                int b;
                try
                {
                    b = int.Parse(Console.In.ReadLine());
                    Console.Out.Write("Le nombre saisi est : " +b.ToString());
                }
                catch (Exception e)
                {
                    Console.Out.Write(e.Message);
                }
            }
        }

  7. #7
    Membre expérimenté Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Par défaut
    int.TryParse est beaucoup plus rapide et elle n'emet pas une exception

  8. #8
    Membre averti Avatar de Tux1
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Par défaut
    Le problème c'est que la récupération de ton nombre est un string et non un long, int etc ...

  9. #9
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Ce que tu récupères de la saisie au clavier est toujours une chaîne de caractères: c'est à toi de le convertir en entier/long/etc... suivant tes besoins.


    A+

  10. #10
    Membre averti Avatar de Tux1
    Inscrit en
    Octobre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 61
    Par défaut
    D'accord,
    Donc autant utiliser le plus simple.
    Readline WriteLine

Discussions similaires

  1. Impossible de changer une valeur avec les signaux et les slots
    Par dimitricouturier dans le forum Débuter
    Réponses: 4
    Dernier message: 27/08/2012, 16h39
  2. [Reflection] Impossible de transmettre une valeur null avec method.invoke
    Par touftouf57 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 02/07/2010, 04h42
  3. [TP] Afficher une valeur avec outtext
    Par Bouilla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2005, 10h57
  4. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 17h37
  5. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 11h26

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