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 :

Récupérer des chiffres dans une inputbox comme caractères


Sujet :

Windows Forms

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Récupérer des chiffres dans une inputbox comme caractères
    Bonjour à tous : )

    Je viens pour un problème de variables... Je suis sous VisualBasic 2005. Je m'explique :

    J'ai besoin de récupérer 2 données sur une variable (noté "a" dans notre exemple). Ces données sont en fait des coordonnées.

    Dans le cas simple ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim a as string
    dim x, y as integer
    'définition de la variable en as string
    a:="14"
    'Récupération des données pour traitement 
    x:=left(a,1)
    y:=right(a,1)
    Jusque là c'est pas compliqué. Sauf qu'ici la variable "a" est affectée "dans le code" (désolé de mon vocabulaire relativement pauvre)

    Et je voudrais affecter cette variable avec une "inputbox" ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim a as string
    dim x, y as integer
    'Définition de la variable 
    a:=inputbox("donner les coordonnées avec x abscisse, y ordonnée de la forme xy")
    'Récupération des données pour traitement 
    x:=left(a,1)
    y:=right(a,1)
    Et cette méthode ne marche pas car "a" ne récupère pas les données de "inputbox" comme étant des caractères... Enfin, c'est ce que j'ai compris... J'ai essayé de rentrer dans inputbox "13" plutôt que 13 (c'est à dire que j'ai rajouté les " " lors de la saisie des coordonnées) mais ça ne marche pas non plus.

    Voila, j'espère avoir été clair, si vous avez une solution, merci d'avance pour votre aide :-)

    Bonnes fètes !

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    utilise plutot 2x de suite inputbox pour demander les 2 nombres
    ou une form faite pour ca avec 2 textbox

    dans les 2 cas il faut vérifier que ce qui est saisi est bien un nombre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    En fait il faudrait que ce ne soit pas un nombre justement, mais une chaine de caractère pour pouvoir le traiter avec left(a,1) et right(a,1)

    J'ai essayé avec deux inputbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For k = 1 To n
                a(k) = InputBox("a" & k & " x=")
                a(k) = a(k) & InputBox("a" & k & " y=")
        Next
    Et j'ai encore le même message d'erreur :

    Conversion from string "a" to type 'Integer' is not valid.
    qui apparait à la ligne :

    L'idée des textbox ne m'arrange pas trop, car il y a d'autres données à rentrer et les faire rentrer sur des supports différents (inputbox, textbox...) alourdirait l'aspect du programme.
    Il faudrait alors tout refaire sous forme de textbox, j'aimerais pouvoir régler ça sous une/des inputbox si possible...

    Peut être que je peux modifier la façon de récupérer les coordonnées ?

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    tu trouves ca ergonomique un inputbox ??

    si tu fais 2 inputbox pas besoin de découper un string !
    inputbox retourne un string, il te faut ensuite le convertir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dim tmp as string
    dim x,y as integer
    while not isnumeric(tmp)
      tmp = inputbox ("x")
    end while
    x = cint(tmp)
     
    tmp = ""
    while not isnumeric(tmp)
      tmp = inputbox ("y")
    end while
    y = cint(tmp)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bon daccord c'est moche en inputbox, mais j'ai jamais trop travailler en textbox

    J'ai repris l'idée de conversion et mon code donne alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'Je rentre dans l'inputbox 07 par exemple
    dim a, u, v as string
    dim x,y as integer
    a = inputbox("xy")
    u = Microsoft.VisualBasic.Left(a, 1)
    v = Microsoft.VisualBasic.Right(a, 1)
    x = cint(u)
    y = cint(v)
    Mais j'ai toujours la même erreur... J'ai du rater une étape, mon inputbox donne bien un string, et c'est du numérique puisque c'est moi qui le rentre. Je vois pas pourquoi il ne le convertit pas

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2014, 14h05
  2. Réponses: 3
    Dernier message: 01/08/2008, 10h58
  3. Réponses: 4
    Dernier message: 17/07/2008, 17h15
  4. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 20h18
  5. Affichage des chiffres dans une phrases arabe
    Par omda dans le forum Oracle
    Réponses: 4
    Dernier message: 30/09/2005, 14h36

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