Algorithmes de conversion hex-dec et dec-hex [Résolu/Fermé]

Messages postés
13
Date d'inscription
dimanche 10 février 2008
Statut
Membre
Dernière intervention
10 octobre 2008
- - Dernière réponse : f0xi
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
- 4 sept. 2008 à 18:54
bjr
je suis débutant dans la programmation, j'utilise delphi7,
je trouve des difficultés pour réaliser une calculatrice hexadécimale, j'ai quand même trouvé deux algorithmes de conversion hex-dec et dec-hex , le problème consiste à savoir comment ecrire ces deux algorithmes sous forme de procedures ,j'ignore comment procéder.

voila les deux algorithmes:

conv hex-dec:

procedure TForm1.Button1Click(Sender: TObject);
    var
    z : integer;
    x : integer;
    v : integer;
    p : integer;
    b : variant;
    h : integer;
    n : integer;
  hexaval:string;
  hexadeci: integer;

begin
hexaval:=edit1.Text;
      x := Length(hexaval);
        v := x;
        p := 0;
        n := 0;
        b := 0;
      while v >= 1 do
    begin
       z := Ord(hexaval[v]);
       case z of
    48 : h := 0 ;
    49 : h := 1 ;
    50 : h := 2 ;
    51 : h := 3 ;
    52 : h := 4 ;
    53 : h := 5 ;
    54 : h := 6 ;
    55 : h := 7 ;
    56 : h := 8 ;
    57 : h := 9 ;
    65 : h := 10;
    66 : h := 11;
    67 : h := 12;
    68 : h := 13;
    69 : h := 14;
    70 : h := 15;
    end;
     b := exp(p * ln(16)) * h;
     p := p + 1;
     v := v - 1;
    n := n + b;
  end;
     hexadeci := n;
//  edit2.Text:=inttostr(n);
  end;

2éme algo. conv dec-hex:

procedure TForm1.Button1Click(Sender: TObject);
  var b:integer;
 n:integer;
 h:string;
 res:string;
begin
n:=strtoint(edit1.Text);
       while n >= 16 do
  begin
  b := n mod 16 ;     
    n := n div 16 ;
       case b of
            0 : h := '0';
            1 : h := '1';
            2 : h := '2';
            3 : h := '3';
            4 : h := '4';
            5 : h := '5';
            6 : h := '6';
            7 : h := '7';
            8 : h := '8';
            9 : h := '9';
            10 : h := 'A';
            11 : h := 'B';
            12 : h := 'C';
            13 : h := 'D';
            14 : h := 'E';
            15 : h := 'F';
          end;
          res:=h+res ;
          end;
             case n of 
            0 : h := '0';
            1 : h := '1';
            2 : h := '2';
            3 : h := '3';
            4 : h := '4';
            5 : h := '5';
            6 : h := '6';
            7 : h := '7';
            8 : h := '8';
            9 : h := '9';
            10 : h := 'A';
       11 : h := 'B';
            12 : h := 'C';
            13 : h := 'D';
            14 : h := 'E';
            15 : h := 'F';
    end;
    res := h + res ;
edit2.Text:=res;

end;

merci d'avance sincèrement racimo1985.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
3
Merci
http://www.codyx.org/snippet_binaire-vers-hexa-bintohex-hexa-vers-binaire-hextobin_651_ct_delphi_1934.aspx

<hr size="2" width="100%" />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
293
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011
0
Merci
Met un titre adéquat
et évite le langage sms
mais la je crois que c'est raté avec tous ces points d'exclamations !
Commenter la réponse de nethacker