racimo1985
Messages postés13Date d'inscriptiondimanche 10 février 2008StatutMembreDernière intervention10 octobre 2008
-
4 sept. 2008 à 11:57
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 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;