Textbox en VB.NET
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Textbox en VB.NET



  1. #1
    invite31375390

    Textbox en VB.NET


    ------

    Bonjour,

    J'étudie un programme sous VB.NET qui permet de déterminer son IMC (indice de masse corporelle).

    - Il faut rentrer sa taille dans un Texbox.

    - On test ensuite grâce à la fonction IsNumeric que l'on a bien rentré une valeur numérique.

    If Not (IsNumeric(TextBoxTaille.Text) ) Then
    MsgBox("Entrez une valeur numérique pour la taille")
    Exit Sub
    End If

    - On transforme ensuite ce qui a été rentré en "single" grâce à la fonction Ctype.

    Dim sTaille As Single
    sTaille = CType(TextBoxTaille.Text, Single) / 10

    A quoi sert de convertir ce qui a été rentré en single (ou integer) sachant que l'on a testé auparavant que l'on a bien rentré une valeur numérique ?

    Par ailleurs il est précisé dans un cours que l'on ne peut afficher que des string (chaine de caractère) dans un Label ou un Textbox ???
    Il faut donc convertir une valeur numérique en string pour l'afficher dans un Textbox ???

    Merci.

    -----
    Dernière modification par DDEE07 ; 11/02/2014 à 14h20.

  2. #2
    bisou10

    Re : Textbox en VB.NET

    IsNumeric() te signale si cela peut etre considéré comme une valeur numérique (pas de caractères alphabetiques ou assimilés genre ' ' '-' '_' ...) mais en aucun cas ne te convertit le texte en valeur numérique.

  3. #3
    erik

    Re : Textbox en VB.NET

    Il faut donc convertir une valeur numérique en string pour l'afficher dans un Textbox ???
    Non : ce qui est entré dans un Textbox est une chaine de caractère, si tu saisis toto tu récupères la chaine de caractère "toto", si tu saisis 123 tu récupères la chaine de caractère "123"

    IsNumeric(TextBoxTaille.Text) ne permet que de vérifier que la chaine de caractère entrée correspond bien à une valeur numérique.

    Tu ne peux pas faire TextBoxTaille.Text/10, que vaudrait "123"/10 (ou "toto"/10), l’opération / n'est pas défini pour les chaines de caractères, tu convertis donc ta chaine en single et là tu peux diviser.
    Dernière modification par erik ; 11/02/2014 à 14h39.

  4. #4
    bisou10

    Re : Textbox en VB.NET

    Sauf bien sûr si de toi même tu surcharges les opérateurs nécessaires, tu peux te passer de conversion (qui sera in-fine effectuée dans la méthode de surcharge).

    Ahaha mais on n'y est pas

  5. A voir en vidéo sur Futura
  6. #5
    Optimix

    Re : Textbox en VB.NET

    Attention, ce que je viens de lire ne me semble pas tout à fait exact et tu n'as aucunement besoin de transformer ensuite la valeur saisie en Single. Ce qu'on entre dans une TextBox, malgré le nom du contrôle "TextBox" et sa propriété ".Text" n'est pas du texte. Ca correspond au type variant qui existait en VB 6.0, devenu objet. Le transtypage est automatique. Si on met sur une feuille une TextBox et un bouton et si on entre le code suivant dans le bouton :

    Code:
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim sTaille As Single
    
            If Not (IsNumeric(TextBox1.Text)) Then
                MsgBox("Cette valeur n'est pas numérique, recommencez !")
                Exit Sub
            End If
            sTaille = TextBox1.Text * 2
            MsgBox(sTaille)
        End Sub
    End Class
    Si j'entre la valeur 84 dans la Textbox, le message va affichier 168 et on n'aura pas d'erreur (transtypage correct)
    Idem si on entre la valeur 84,4 on obtient bien la valeur 168,8
    Maintenant, si on entre la valeur 84.4 (mauvais séparateur), le système va considérer qu'on a entré une chaîne de caractères et va donner une erreur
    Dernière modification par Optimix ; 12/02/2014 à 08h07.

Discussions similaires

  1. problème de programmation TEXTBOX sous VB6
    Par inviteb239f537 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 23/04/2010, 12h26
  2. Visual Basic sous excel: Compter Valeur TextBox
    Par invite0cb208c8 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/03/2010, 09h28
  3. Réponses: 0
    Dernier message: 23/04/2009, 08h33
  4. Excel VBA textbox
    Par inviteead871d5 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 29/05/2008, 11h34