Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1944 connectés 

  FORUM HardWare.fr
  Programmation
  C++

   C++ builder formatage hex

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C++ builder formatage hex

n°877748
chesso
Posté le 20-10-2004 à 09:59:18  profilanswer
 

bonjour tout le monde  
 
Je suis débutant dans le C++.J'utilise depuis peu le C++ builder 6.
J'arrive pas à lire des données en hexadecimal à partir d'un Edit , ensuite pour la ranger dans un tableau toujours en hex.
 
En utilisant la fonction Add et un pointeur de type char je peux la lire et la ranger dans un tableau ,mais je perds le format d'origine c'est-à-dire  
en HEX.Je sais pas si j'étais clair vu que ça bouillonne dans ma tete sans résultat.
En gros je veux une fonction qui lit les données écrites dans une fenetre Edit(au format hex)
 ,puis elle les range dans un tableau (toujours en hex) et une autre fonction qui les lis depuis le tableau et les affiche dans un Memo (en hex)
 
J'ai vraiment besoin de votre aide.Peut-etre que ça vous parait trop simpliste et  
newbie mais pour moi c'est important.Je vous remercie d'avance.

mood
Publicité
Posté le 20-10-2004 à 09:59:18  profilanswer
 

n°877771
Lam's
Profil: bas.
Posté le 20-10-2004 à 10:35:24  profilanswer
 

Des données formatées en hex, je connais: "OxCACA" au lieu de "51914" par exemple.
 
Mais un tableau en hex, c'est quoi ? Une chaîne de caractères, un tableau d'entiers ?  

n°877801
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-10-2004 à 11:02:01  profilanswer
 

L'hexadécimal c'est juste une manière de représenter un entier sous forme de texte, comme l'est le décimal.
En interne si c'est stocké comme un entier ça n'est pas plus de l'hexa que du décimal.
Pour la conversion hexa->entier tu peux faire
i = StrToInt("0x" + Edit1->Text);
ou
i = StrToInt("$" + Edit1->Text);
(s'il suit le système de Delphi)
Pour l'opération inverse il y a la fonction IntToHex.


Message édité par antp le 20-10-2004 à 11:02:17

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°877867
chesso
Posté le 20-10-2004 à 13:03:23  profilanswer
 

Citation :

Mais un tableau en hex, c'est quoi ? Une chaîne de caractères, un tableau d'entiers ?


 
Il s'agit d'un tableau chaine de caractere.Mais  quand j'essaye de récuperer les données qui sont lues dans Edit1 et stockées dans un tableau (char)
je ne retrouve pas mes valeurs initiales.
 
Pour etre plus clair :
Edit1 : on ecris :FE34E7C90A
 
On utilise Add pour l'afficher dans Memo1,et un pointeur char * pointeur1 pour stocker nos chiffres.C'est là le debut de mes soucis.Comment les stocker par groupe de 2 c'est-à-dire  
comment avoir  pointeur1 []={0xFE,0x34,0xE7,0xC9,0x0A}.
2eme souci : comment lire ces données depuis le tableau pointeur1 et les afficher comme à l'origine dans Memo2 : FE34E7C90A.
 
Je vous remercie de vos reponses.c'est vraimant sympa.


Message édité par chesso le 20-10-2004 à 13:04:01
n°877926
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-10-2004 à 13:57:58  profilanswer
 

Tu vas faire comment si t'as un 0x00 à stocker ? :D
Dans ton Edit tu tapes quoi ? Un entier ? (8 chiffres) si c'est le cas stocke-le dans un int plutôt que de jouer avec un tableau de char. En plus c'est du C ça, en C++ on a nettement plus pratique pour les tableaux...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°877975
chesso
Posté le 20-10-2004 à 14:34:02  profilanswer
 

Citation :

Tu vas faire comment si t'as un 0x00 à stocker ? :D
Dans ton Edit tu tapes quoi ? Un entier ? (8 chiffres) si c'est le cas stocke-le dans un int plutôt que de jouer avec un tableau de char.


Tout à fait d'accord avec toi antp , mais s'il s'agit d'un nombre de 80 octets comment faire ?En plus si j'ai des opérations à programmer comme un xor du 1er byte avec 3eme byte,2eme et 4eme etc...je crois qu'un pointeur sur un tableau fera l'affaire.
Merci

n°878001
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-10-2004 à 14:54:55  profilanswer
 

Un pointeur d'unsigned char (des bytes quoi) alors, mais il faut que tu stockes sa longueur quelque part...
Pour la conversion, pour chaque groupe de deux caractères tu peux utiliser StrToInt ou le faire à la main pour en faire un byte.
Mais plutôt que d'utiliser des pointeurs et de stocker la longueur du tableau à côté, un std::vector d'unsigned char serait plus propre.  
Ton tableau tu le fais avec quoi ? Un new ?


Message édité par antp le 20-10-2004 à 14:55:59

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°878032
chesso
Posté le 20-10-2004 à 15:12:36  profilanswer
 

Citation :

Ton tableau tu le fais avec quoi ? Un new ?


 
Justement ma question était ça.
Et je veux utiliser un tableau pour pouvoir manipuler ses arguments à tout moment.
 
Pour resumer : Lecture du contenu de Edit1.
                stockage des valeurs par octet( 0xE4 par ex) dans un tableau.
                Operation arithmetiques sur les differents arguments du tableau.
                Affichage du résultat sur Memo1 ( en héxadecimal :ex : E3 54 67 F4 9C)
 
 je sais que ça vous parrait évident ,mais pour moi j'y arrive pas (je commence dans le C++ builder)
 
Merci pour votre aide.


Message édité par chesso le 20-10-2004 à 15:15:01
n°878034
antp
Super Administrateur
Champion des excuses bidons
Posté le 20-10-2004 à 15:13:58  profilanswer
 

Tu commances dans C++Builder ou tu commences dans le C++ tout court ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°878036
chesso
Posté le 20-10-2004 à 15:16:06  profilanswer
 

Je commence dans le C++ ( mais en utilisant builder)
J'ai des connaissances dans le C et le VB.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

   C++ builder formatage hex

 

Sujets relatifs
c++ builder 6 pro et les fluxcreer un graphe en builder c++
Formatage des colonnes d'une listboxRequete SQL avec Builder C++ 6
récupération des données d'un combobox C++ Builderborland c++ Builder et Excel ?
comparaison borland c++ builder / microsoft visual c++C++ Builder et saisie de données dynamique
pbs avec cscharp builder edition persoC++ Builder & barre de navigation (outlook style)
Plus de sujets relatifs à : C++ builder formatage hex


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR