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 :

Calcul hexadecimal SVP


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    projeteur
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : projeteur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Calcul hexadecimal SVP
    bonjour,
    je suis un vrai débutant (vrai de vrai..) et j'ai récupéré un classeur excel avec un code VBA (pas moi qui l'ai fait) pour une petite opération mathématique.
    je me suis mis en tête de faire un petit .exe pour faire ce calcul ! mais j'ai découvert que à priori le code VBA n'est pas tout à fait comme le VB, et bien sûr comme je ne connais rien, je suis bloqué directement

    l'idée c'est une valeur hexadecimale (exemple "E6") à convertir en bytes, inverser les bytes, inverser l'ordre de lecture des 2, et reconvertir en hexa
    (le calcul est bytes par bytes car c'est E qui devient 7 et 6 devient 6, puis c'est inversé dans la lecture, ce qui donne un résultat de "67")
    je peux donner le détail si besoin

    le code VBA du classeur excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
     
    Sub Test()
    MsgBox "RevBits(&H" & Hex(&HE6) & ") = &H" & Hex(RevBits(&HE6))
    End Sub
     
    Function RevBits(ByVal X As Byte) As Byte
    Dim P%: For P = 0 To 7
      If X And 2 ^ P Then RevBits = RevBits Or 2 ^ (7 - P)
      Next P
    End Function

    alors voilà j'aimerai rentrer dans la valeur hexa dans la textbox1 par exemple, et que le résultat s'affiche dans la textbox2 après appui un le bouton, si quelqu'un peut me convertir ce code ce serait sympa !!
    (et si j'ai bien compris, ce code il faut l'insérer dans la partie code du bouton ?)
    merci d'avance !

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    projeteur
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : projeteur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    help !
    je n'arrive pas à convertir la fonction VBA en VB...

    du coup j'ai essayé de repartir sur une nouvelle conversion "étape par étape", j'ai réussi à convertir en binaire c'est tout, mais après pour faire le reste, les inversions etc

    le code qui fonctionne pour le binaire:

    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
    26
    27
    28
    29
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            TextBox2.Text = Hex2Bin(TextBox1.Text)
     
        End Sub
        Private Function Hex2Bin(ByVal hex As String) As String
            Dim i As Byte
            Dim resultat As String
            For i = 1 To Len(hex)
                Select Case Mid(hex, i, 1)
                    Case "0" : resultat = resultat & "0000"
                    Case "1" : resultat = resultat & "0001"
                    Case "2" : resultat = resultat & "0010"
                    Case "3" : resultat = resultat & "0011"
                    Case "4" : resultat = resultat & "0100"
                    Case "5" : resultat = resultat & "0101"
                    Case "6" : resultat = resultat & "0110"
                    Case "7" : resultat = resultat & "0111"
                    Case "8" : resultat = resultat & "1000"
                    Case "9" : resultat = resultat & "1001"
                    Case "A" : resultat = resultat & "1010"
                    Case "B" : resultat = resultat & "1011"
                    Case "C" : resultat = resultat & "1100"
                    Case "D" : resultat = resultat & "1101"
                    Case "E" : resultat = resultat & "1110"
                    Case "F" : resultat = resultat & "1111"
                End Select
            Next i
            Hex2Bin = resultat
        End Function
    donc quand je met "E6" dans la textbox 1 j'ai bien le résultat "11100110" dans la textbox2
    mais là ensuite faudrait lire à l'envers les 2 calculs:
    1110 devient 0111
    et
    0110 devient 0110 (oui forcement pour cet exemple lire à l'envers ça change rien pour celui ci)
    ce qui ferait :
    0111 0110
    et puis inverser la position des 2 conversions:
    0110 0111

    au finale le résulat est 01100111 qu'il faut re-convertir en hexadecimal = 67
    SVP quelqu'un sais faire ça ?
    merci d'avance

    ----------------

    EDIT : c'est bon j'ai trouvé tout seul
    merci à moi même lol

Discussions similaires

  1. [RegEx] Aide pour une REGEX svp
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2006, 17h41
  2. aide pour du code svp
    Par rootsngaia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2006, 23h40
  3. de l'aide pour un projet svp!!!!
    Par lamoon dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2006, 15h45
  4. [SQL] aide pour requete UPDATE SVP
    Par ganok dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/03/2005, 09h17

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