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 texte en hexa [Débutant]


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Convertion texte en hexa
    Bonjour, j'utilise c++builder et j'aimerai faire un fonction qui permet de transformer un texte en hex , comment faire ?
    merci d'avance!

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Bonjour,
    Tu as la fonction IntToHex qui affiche sous forme hexa.
    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(int i=1:i< Memo->Text.Length();i++) 
        Memo1->Text+=IntToHex(Memo->Text[i],2);
    A essayer...

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 638
    Points : 25 357
    Points
    25 357
    Par défaut
    L'accès à la propriété Text est un peu lent, alors avec une boucle !
    L'utilisation de += est aussi dangereux car contourne le Setter de la property Text et donc ne provoque pas les appels au API Windows qui gère le TMemo

    Au final, += ne fait absolument rien (cela modifie le retour du Getter de Text mais pas Text)

    Imaginons que Text est une String, alors Text s'allonge à chaque +=, existe-t-il un risque de provoquer une boucle infini puis Length() évoluerait de façon exponentiel

    Pour du Ansi Char, il existe une fonction toute prête BinToHex que l'on peut encapsuler ainsi


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    AnsiString AnsiTextToHexaText(const AnsiString Text)
    {
      AnsiString Hexa;
     
      Hexa.SetLength(Text.Length() * 2); // Allocation mémoire
      BinToHex(Text.c_str(), Hexa.c_str(), Text.Length()); // remplissage
     
      return Hexa;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    AnsiString WideTextToHexaText(const UnicodeString Text)
    {
      AnsiString Hexa;
     
      // TBytes TextBytes = Text.BytesOf(); // Conversion selon le TEncoding par défaut en Tableau d'Octet, risque de perte de l'Unicode vers Ansi
      TBytes TextBytes = WideBytesOf(Text); // Conversion UTF16 en Tableau d'Octet, un caractère = 2 octets ou 4 octets selon la page de langue
     
      Hexa.SetLength(TextBytes.Length * 2); // Allocation mémoire
      BinToHex(&TextBytes[0], Hexa.c_str(), TextBytes.Length); // remplissage
     
      return Hexa;
    }

    Je te propose aussi HexToStream et StreamToHex écrites en Delphi

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

Discussions similaires

  1. convertion Chaine en hexa puis en entier
    Par taquilla dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/04/2009, 20h01
  2. pb convertion texte en nombre
    Par noviceavb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2009, 23h24
  3. Convert String represent Hexa en valeur Décimal
    Par gdev7 dans le forum Langage
    Réponses: 4
    Dernier message: 25/02/2008, 11h55
  4. Convertir texte en hexa
    Par kalou26 dans le forum C++Builder
    Réponses: 1
    Dernier message: 27/04/2007, 16h26
  5. Convertions texte - numérique
    Par Equus dans le forum SQL
    Réponses: 1
    Dernier message: 02/02/2005, 16h54

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