begin process at 2010 02 10 10:13:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Divers

 > 

Débutant(e)

 > 

hexa vers string ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

hexa vers string ?

mercredi 21 novembre 2007 à 20:42:53 | hexa vers string ?

Nero`

bonsoir à tous .

Je rencontre un petit problème de débutant .
J'ai besoin de lire un octèt dans un fichier et ensuit de l'afficher dans une textbox ou autre (type string) seulement la methode que je tente d'utiliser me converti la valeur de l'octès lus en valeur décimale. Je ne sais pascomment faire pour passer l'octèt lus en type string.
voila le bout de code qui me pose problème:

var FB : File Of Byte;
     b : Byte;
     test:string;
begin
if opendialog.execute then
  begin
  assignfile(FB , 'test.bin');
   Reset(FB);
    seek(FB,$0000401A); //offset de lecture exemple a cette offset j'ai la valeur hexa 44
     read(FB,b);
    test:=inttostr(b);  //test contien maintenant 68(valeur decimal) et non pas 44(hexa) :(
   closefile(FB);
  end;
end;

quelqu'un pourrait il me dir comment je doit procéder ???
Merci bonne prog ...
mercredi 21 novembre 2007 à 23:51:17 | Re : hexa vers string ?

japee

Membre Club Administrateur CodeS-SourceS
Salut,

Utilise IntToHex à la place de IntToStr.

Bonne prog'
jeudi 22 novembre 2007 à 09:41:08 | Re : hexa vers string ?

Nero`


Merci pour cette réponse jappe, mais le compilo me retourne une erreur:
"Aucune version surcharger de IntTohex ......>".

Y a t'il une autre solution ?

Merci.
Bonne prog...

jeudi 22 novembre 2007 à 10:19:34 | Re : hexa vers string ?

japee

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Tu as dû faire IntToStr(IntToHex)... et donc surcharger la méthode.

IntToHex convertit un entier vers string directement (voir aide en ligne de Delphi).

La bonne utilisation est :

test := IntToHex(b, 8); // 8 = longueur de la chaîne à retourner

Bonne prog'
jeudi 22 novembre 2007 à 12:49:02 | Re : hexa vers string ?

Nero`

Merci japee ça fonctione impécable :) .
J'ai simplement du metre ->
test := IntToHex(b, 2); // 2 à la place de 8 sinon sa me retournait 00000044.

encore merci :)
Bonne prog...

vendredi 23 novembre 2007 à 05:45:16 | Re : hexa vers string ?

f0xi

Membre Club Administrateur CodeS-SourceS

aie IntToHex est super lourdingue :


const
  _ABTX : array[0..$f] of byte = ($30, $31, $32, $33,
                                  $34, $35, $36, $37,
                                  $38, $39, $41, $42,
                                  $43, $44, $45, $46);

function BTX(const Buffer; const BufferLen: integer): string;
var pR : pWord;
    pB : pByte;
    N  : integer;
begin
  SetLength(Result, BufferLen shl 1);
  pR := pWord(Result);
  pB := @Buffer;
  inc(pB, BufferLen-1);
  for N := 0 to BufferLen-1 do
  begin
    pR^ := word( _ABTX[pB^ shr 4] or (_ABTX[pB^ and $F]  shl 8) );
    inc(pR);
    dec(pB);
  end;
end;



utilisation :

Chaine := BTX(MaVariable, TailleMaVariable);

exemple :

var Buffer:  array[0..1023]  of byte;
...
  RL := stream.Read(Buffer, 1024);
  Chaine := BTX(Buffer, RL);




deefsign.gif


Cette discussion est classée dans : string, valeur, test, hexa, fb


Répondre à ce message

Sujets en rapport avec ce message

Comment écrire une valeur en hexa dans un prog delphi [ par Manthis ] Salut,Je voudrais savoir comment écrire une valeur hexadécimale dans mon prog.Merci Pb avec TListView et TListItem [ par Biose ] Salut à tous, Voilà mon problème, je me sert d'une ListView et à ma premiere action, je rempli ma premiere colonne ://ici "ori" à une valeur String et Ini => MessageBox [ par kanigou ] Voila, ce que je voudrais faire c'est mettre une valeur d'un string dans une MessageBox ... Ini := TiniFile.Create('fichier.ini'); v := Recuperer une partie d'un valeur string [ par TheChikenKiller ] Voilà je voudrais récuperer les 30 premier caractères d'un string pour les mettre dans une autre.Que du delphi merci d'avance.(Je débute, tout le temp ReadBinaryData [ par DREAMER2208 ] J'ai besoin de lire une valeur de type binaire dans la base de registre. J'ai donc créé une fonction pour sa. Celle-ci doit me retourner la valeur lue Valeur hexa... [ par viva ] bonjour,Je n'arrive pas à convertir une valeur hexa en dec qui depasse 8 caractères ! est-il possible ? la calculatrice de windows le peut !? avec (Qm vleur abs avec string [ par didi59650 ] Voila X est un string et prend la valeur de 12 (1 + 2)Y est un entier qui vaut 10Comment faire pour avoir la valeur absolue de Z = Y-X??? car j'ai lim Afficher une valeur Hexa ? [ par Squallou ] Salut tout le monde. Je suis débutant (nan sans blague ? -_-) et je cherche à faire un truc tout bêbête : convertir une valeur Hexa en chaîne de cara Tester si la valeur d' un champ est nul [ par SylvainVV ] (re)Bonjour,étant toujours en train d'essayer de gérer toutes les erreurs de mon programme, j'aimerais faire en sorte que l'on ne puisse cliquer sur u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,966 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales