Valeur hexa...

Résolu
cs_viva Messages postés 11 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 25 mai 2009 - 5 août 2006 à 14:26
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 6 août 2006 à 20:00
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 (Qmot)

par cette procédure je cherche à avoir le même résultat de conversion de l'exa vers dec que la calc de windows.
Merci d'avance !
procedure TForm1.Button1Click(Sender: TObject);
var hex: string;
  valeur: Dword;
begin
  try
    hex := '$' + Edit1.text;
    valeur := StrToInt(hex);
    Edit2.Text := IntToStr(valeur);
  except
    Edit2.text := 'erreur'
  end;
end;

3 réponses

japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
5 août 2006 à 14:45
Salut,

C'est DWORD qui te limite. Utilise Int64, comme ceci :

var hex: string;
  valeur: Int64; // <- ;)
begin
  try
    hex := '$' + Edit1.text;
    valeur := StrToInt64(hex); // <- !
    Edit2.Text := IntToStr(valeur);
  except
    Edit2.text := 'erreur'
  end;
end;

Bonne prog'
3
cs_viva Messages postés 11 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 25 mai 2009
5 août 2006 à 16:06
Salut  japee 
c'est ce que je cherchais MERCI !
@+
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 août 2006 à 20:00
tu peu aussi regarder ici, la fonction evite de mettre un $ avant :

http://www.codyx.org/snippet_conversion-hexadecimal-decimal_132_l_delphi_13.aspx

utilisation :

valeur := HexToDec('FF0054883222');

valeur := HexToDec('$FF0054883222');

valeur := HexToDec('xFF0054883222');

valeur := HexToDec('hFF0054883222');

--> 280 376 883 294 754

<hr size="2" width="100%" />Croc (click me)
0
Rejoignez-nous