Algorithmes de conversion hex-dec et dec-hex

Résolu/Fermé
racimo1985 Messages postés 13 Date d'inscription dimanche 10 février 2008 Statut Membre Dernière intervention 10 octobre 2008 - 4 sept. 2008 à 11:57
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 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.

2 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
4 sept. 2008 à 18:54
3
nethacker Messages postés 288 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 12 octobre 2011
4 sept. 2008 à 15:05
Met un titre adéquat
et évite le langage sms
mais la je crois que c'est raté avec tous ces points d'exclamations !
0
Rejoignez-nous