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

VB.NET Discussion :

Affichage Avec deux chiffres dans TextBox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Par défaut Affichage Avec deux chiffres dans TextBox
    Bonjour les développeurs,

    Voila j'ai une question. Je récupère une données Rs232 en héxadécimal et je les affiches ensuite dans une TextBox et mon problème et l'orsque je reçois ma donnée hexa (par exemple : "05") ben il m'affiche juste "5", pour les autres aucun soucis (par exemple :"88" s'affiche "88"). je voudrais donc que dans ma TextBox il m'affiche bien le 0 devant les chiffres.

    Je vous montre des Parties de mon code. Plus partique pour voir les variables:

    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
    Public Class Form1
        Dim Data As Byte
        Dim don1(900000) As String
        Dim i As Integer = 1
         '-------------------------------Reception des données du port série -----------------------
        Private Sub SerialPort1_DataReceived() Handles SerialPort1.DataReceived
            Do While SerialPort1.BytesToRead <> 0
                Data = Data & Hex(SerialPort1.ReadByte)
                don1(i) = Data
                i = i + 1
                Data = 0
            Loop
            Me.Invoke(New EventHandler(AddressOf DoUpdate))
        End Sub
          Public Sub DoUpdate()
            TextBox2.Text = don1(1) & " " & don1(2) & " " & don1(3) & " " & don1(4)
    Voila si certain on une petite astuce ou la solution...

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Utiliser String.Format plutot que de faire de la concaténation à tout va:

    http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Par défaut
    Ok merci je te remercie pour la réponse.

    Maintenant une autre question, je n'arrive pas à trouver dans la library:

    Est-ce qu'il y aurait un code pour simplifier ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            TextBox4.Clear()
            TextBox5.Clear()
            TextBox6.Clear()
            TextBox7.Clear()
            TextBox8.Clear()
    Je veux Effacer Toutes les TextBox ensemble et je trouve que le code est un peu lourd ^^

    Merci d'avance

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Bof. Pas grand chose à faire. Si par exemple elles ont toutes le même parent, tu peux itérer sur la propriété Controls:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach(var textbox in parent.Controls.OfType<TextBox>())
    {
        textbox.Clear();
    }
    Mais je suis pas sur que ca soit interessant.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Par défaut
    Merci pour l'astuce

    Mais retour à mon problème d'affichage
    En faite le problème est que je veux afficher de l'héxadecimal mais que il ne m'affiche pas les zéros devant les nombres décimals (0 -> 9)(H00 -> H09)
    Les commandes de format ne fonctionne pas du tout j'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub SerialPort1_DataReceived() Handles SerialPort1.DataReceived
        Dim Data, Data1(50) As Byte
        Dim Data2(50), RF, ex As String
     
            Do While SerialPort1.BytesToRead <> 0
                Data = Data & SerialPort1.ReadByte
                Data1(i) = Data
                Data2(i) = Hex(Data1(i))
                Data2(i) = Data2(i).ToString("00") 'Celle ci ********
                i = i + 1
                Data = 0
            Loop
    Le probleme est que je suis obligé de récuperer mes données dans une variable Byte. Lorsque mes données sont entierement en décimal il n'y a aucun problème mais quand il y a une lettre ben le programme fonctionne plus, logique. donc je suis obligé de passer mes variable en String. Donc voila tout mon soucis jespere mettre bien exprimé ^^

    MERCI D'AVANCE

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de recherche dans msflexgrid avec deux ou plusieurs textbox
    Par Smilossss dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 01/02/2013, 18h06
  2. [MySQL] problème avec deux requetes dans un même script
    Par leclone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/02/2007, 10h28
  3. Requête SELECT avec deux champs dans une colonne ??
    Par fredhali2000 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 08/06/2006, 10h41
  4. Pourcentage avec deux chiffres après la virgule
    Par Oluha dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/03/2005, 13h47
  5. Réponses: 22
    Dernier message: 29/01/2005, 11h29

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