//二进制字符转十进制
Function binToDec(Value :string) : string;//integer;
VAR
str : String;
Int : Integer;
i : integer;
BEGIN
Str := UpperCase(Value);
Int := 0;
FOR i := 1 TO Length(str) DO
Int := Int * 2+ ORD(str[i]) - 48;
Result := IntToStr(Int);
end;
//十进制转二进制 函数一
function mod_num(n1,n2:integer):integer;//取余数
begin
result:=n1-n1 div n2*n2
end;
//十进制转二进制 函数二
function reverse(s:String):String;//取反串
Var
i,num:Integer;
st:String;
begin
num:=Length(s);
st:='';
For i:=num DownTo 1 do
Begin
st:=st+s[i];
End;
Result:=st;
end;
//十进制转化二进制
Function DecTobin(Value :Integer) : string;
Var
ST:String;
N:Integer;
Begin
ST:='';
n:=value;
While n>=2 Do
Begin
st:=st+IntToStr(mod_num(n,2));
n:=n div 2;
End;
st:=st+IntToStr(n);
Result:=reverse(st);
End;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if checkbox2.Checked then
self.FormStyle := fsStayOnTop
else
self.FormStyle := fsNormal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
try
e11.Text := '';
e22.Text := '';
e11.Text := dectobin(strtoint(e1.Text));
e22.Text := uppercase(format('%x',[strtoint(e1.Text)]));
except
on EConvertError do showmessage('数值错误');
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
try
e33.Text := '';
e55.Text := '';
e33.Text := bintodec(e3.Text);
e55.Text := uppercase(format('%x',[strtoint(bintodec(e3.Text))]));
except
on EConvertError do showmessage('数值错误');
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
try
e44.Text := '';
e66.Text := '';
e44.Text := inttostr(strtoint('$'+e4.Text));
e66.Text := dectobin(strtoint('$'+e4.Text));
except
on EConvertError do showmessage('数值错误');
end;
end;
end.