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

C++Builder Discussion :

Convertion hexa binaire


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut Convertion hexa binaire
    Je voudrais avoir un peut d'aide aussi pour la convertion hexa et binaire comment je pourrai proceder pour mon programme

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Voilà une solution peut etre pas des plus optimal, mais elle devrait fonctionner:

    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
    30
    31
    32
    33
    34
    AnsiString HexaToBinaireChar( char aHex )
    {
      switch( aHex )
      {
        case '0' : return( "0000" );
        case '1' : return( "0001" );
        case '2' : return( "0010" );
        case '3' : return( "0011" );
        case '4' : return( "0100" );
        case '5' : return( "0101" );
        case '6' : return( "0110" );
        case '7' : return( "0111" );
        case '8' : return( "1000" );
        case '9' : return( "1001" );
        case 'A' : return( "1010" );
        case 'B' : return( "1011" );
        case 'C' : return( "1100" );
        case 'D' : return( "1101" );
        case 'E' : return( "1110" );
        case 'F' : return( "1111" );
        default  : return( "" );
      }
    }
     
    AnsiString HexaToBinaire( AnsiString aHex )
    {
      aHex = UpperCase( aHex ) ;
      AnsiString result ="" ;
      for( int i=1; i<= aHex.Length(); i++ )
      {
         result = result + HexaToBinaireChar( aHex[i] );
      }
      return( result ) ;
    }
    A utiliser de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1->Text = HexaToBinaire( "FF" );

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut
    désolé mais sa serait possible d'avoir quelque commentaire car j'ai un peut tu mal a comprendre et j'ai essayer le copier coller mais fonctionne pas trop il trouve des erreurs donc je pense qu'il doit manquer quelque truc donc si je pourrai avoir quelque commentaire merci

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Qu'est ce que tu as comme erreur? Parce que il n'y a rien de particulier d'utiliser.

    As tu déclaré les fonctions avant de les appeller?

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    279
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 279
    Par défaut
    voici mon . cpp
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
            //Declaration de variable
            AnsiString valhexa,valbinaire;
    
            //Recuperation de la valeur de Edit1 dans valhexa
            valhexa=Form1->Edit1->Text;
    
            AnsiString HexaToBinaireChar( char aHex )
    {
      switch( aHex )
      {
        case '0' : return( "0000" );
        case '1' : return( "0001" );
        case '2' : return( "0010" );
        case '3' : return( "0011" );
        case '4' : return( "0100" );
        case '5' : return( "0101" );
        case '6' : return( "0110" );
        case '7' : return( "0111" );
        case '8' : return( "1000" );
        case '9' : return( "1001" );
        case 'A' : return( "1010" );
        case 'B' : return( "1011" );
        case 'C' : return( "1100" );
        case 'D' : return( "1101" );
        case 'E' : return( "1110" );
        case 'F' : return( "1111" );
        default  : return( "" );
      }
    }
    
    AnsiString HexaToBinaire( AnsiString aHex )
    {
      aHex = UpperCase( aHex ) ;
      AnsiString result ="" ;
      for( int i=1; i<= aHex.Length(); i++ )
      {
         result = result + HexaToBinaireChar( aHex[i] );
      }
      return( result ) ;
    }
    }
    voici mon .h

    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
    30
    //---------------------------------------------------------------------------
     
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:	// Composants gérés par l'EDI
            TLabel *Label1;
            TLabel *Label2;
            TLabel *Label3;
            TEdit *Edit1;
            TEdit *Edit2;
            TButton *Button1;
            void __fastcall Button1Click(TObject *Sender);
    private:	// Déclarations de l'utilisateur
    public:		// Déclarations de l'utilisateur
            __fastcall TForm1(TComponent* Owner);
            AnsiString HexaToBinaire( char aHex );
            AnsiString HexaToBinaireChar( AnsiString aHex );
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    Comme erreur j'ai

    Utilisation impropre de typedef 'AnsiString'
    ; manquant dans l'instruction

    Ligne en rouge

  6. #6
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Si tu a déclarer tes méthodes dans ta classe (comme tu l'a fais dans la partie public de ton .h) tu dois ajouter "TForm1" avant tes méthode dans ton *.cpp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    AnsiString TForm1::HexaToBinaireChar( char aHex )
    {
      //Le code
    }
     
    AnsiString TForm1::HexaToBinaire( char aHex )
    {
      //Le code
    }

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

Discussions similaires

  1. [T-SQL]convert champ binaire en char
    Par arona dans le forum Sybase
    Réponses: 5
    Dernier message: 31/07/2006, 12h57
  2. convertion hexadecimal -->binaire
    Par awax dans le forum Delphi
    Réponses: 5
    Dernier message: 16/06/2006, 19h35
  3. Conversion ascii=> hexa=>binaire
    Par grunk dans le forum C++
    Réponses: 3
    Dernier message: 27/11/2005, 18h45
  4. Convertion Hexa to déci en C
    Par duranton dans le forum C
    Réponses: 3
    Dernier message: 27/10/2005, 19h42
  5. conversion hexa-binaire
    Par jack69 dans le forum C
    Réponses: 8
    Dernier message: 04/04/2005, 16h33

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