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 :

Filtrage (masque) en VB.net


Sujet :

VB.NET

  1. #1
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 928
    Points : 312
    Points
    312
    Par défaut Filtrage (masque) en VB.net
    Bonjour,

    J'ai besoin d'effectuer un masque sur une chaîne String.

    Cela va me permettre d'ajouter des fonctions à un logiciel embarqué pour l'affichage IHM.

    Je lis la configuration d'origine de l'embarqué (Fichier texte structuré). Je manipule certaines données afin de recrée un fichier de configuration afin que l'utilisateur puisse le réinjecter dans l'embarqué.

    J'ai plusieurs variable pour l'affichage IHM (9 exactement) elles sont stockée dans des Strings (Lecture du fichier texte).

    IHM1 IHM2 etc...

    Elle se présente sous une forme hexadécimale de 32 bits:
    Exemple: IHM1 = "A7E3FD30"

    Sur cette variable je doit ajouté un masque OU de "40100000"

    Afin de trouver en sortie (si je me goure pas ) : "E7F3FD30"

    J'ai essayé avec un simple Or mais cela ne fonctionne pas et je suis tombé sur un site anglais qui m'indique qu'il n'y a pas de masque en .net mais qu'il faut utiliser les fonctions de décalage bits à bits << et >>.

    Je continue a cherche mais si vous avez une explication merci.

  2. #2
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 928
    Points : 312
    Points
    312
    Par défaut
    J'ai trouvé,

    En comparant ce que j'avais dans nos ancien code VB6, je suis arrivé a cela:

    Exemple de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim Var1 as string = "A7E3FD30"
    Dim Mask as String = "40100000"
     
    ‘Résultat à trouver = "E7F3FD30"
     
    Dim monResultat as string = Hex(  ("&h" & Var1 ) Or ( "&h" & Mask )  )
     
    'monResultat est bien égale à E7F3FD30

  3. #3
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    Bonjour
    Tu aurais aussi bien pu faire (sans passer par le vieux fonction Hex):

    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
    18
    19
    20
    21
    22
    23
    24
    25
     
    Public Class Form2
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim Var1 As String = "A7E3FD30"
            Dim Mask As String = "40100000"
     
            'monResultat est bien égale à E7F3FD30
     
            Dim intVar1 As Int32 = HexStringToInteger(Var1)
            Dim intMask As Int32 = HexStringToInteger(Mask)
            Dim intMonResultat As Int32 = intVar1 Or intMask
            TextBox1.Text = IntegerToHexString(intMonResultat)
     
        End Sub
        'Integer en string Hex
        Private Function IntegerToHexString(ByVal intval As Integer) As String
            Return intval.ToString("X")
        End Function
        'string Hex en Integer
        Private Function HexStringToInteger(ByVal stringHex As String) As Integer
            Return Integer.Parse(stringHex, System.Globalization.NumberStyles.HexNumber)
     
        End Function
    End Class
    bon code.............

  4. #4
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 928
    Points : 312
    Points
    312
    Par défaut
    Bonjour,

    Merci pour l'info.

    Sa rend le code un peu plus long mais c'est clair qu'il faut mieux éviter les fonctions ancienne, je suis suffisamment embêter avec nos codes en VB6 et les souci avec les nouveaux Windows X64

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

Discussions similaires

  1. [Débutant] VB.NET filtrage de datagrid view
    Par MAJDI10 dans le forum VB.NET
    Réponses: 6
    Dernier message: 05/04/2013, 16h30
  2. Réponses: 527
    Dernier message: 25/07/2011, 05h03
  3. Filtrage en cascade de comboboxs en WPF XAML .NET
    Par Masamunai dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 27/05/2011, 16h21
  4. Combobox et masque de saisie en vb.net
    Par emarck dans le forum VB.NET
    Réponses: 0
    Dernier message: 26/05/2010, 18h35
  5. [ADO.NET] Filtrage DataGridView
    Par totoz dans le forum VB.NET
    Réponses: 10
    Dernier message: 23/12/2009, 22h36

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