求pascal十六进制和十进制互转的代码 ( 积分: 50 )

  • 主题发起人 主题发起人 njcliff
  • 开始时间 开始时间
N

njcliff

Unregistered / Unconfirmed
GUEST, unregistred user!
求pascal十六进制和十进制互转的代码
要求,必须在pascal6.0中编译通过.
提示:delphi中inttohex这些函数没有用.
 
求pascal十六进制和十进制互转的代码
要求,必须在pascal6.0中编译通过.
提示:delphi中inttohex这些函数没有用.
 
怎么个没有用法???兴一个你想要得到的例子来看看
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=13396
 
还是不行,不能在pascal中通过
 
function Hex2Dec(Hexs: string): string;
var
i,j: integer;
res,base: LongWord;
begin
res := 0;
for i:=1 to Length(Hexs) do
begin
base := 1;
for j:=1 to Length(Hexs)-i do
base := base * 16;
case Hexs of
'0'..'9': res := res + (Ord(Hexs) - Ord('0')) * base;
'a'..'f': res := res + (Ord(Hexs) - Ord('a') + 10) * base;
'A'..'F': res := res + (Ord(Hexs) - Ord('A') + 10) * base;
end;
end;
result := inttostr(res);
end;
function BcdToHex(Hexstr: string): string;
var
i: integer;
returnstr : string;
begin
result := '0';
try
returnstr := IntToHex(StrToInt64(Hexstr),4);
for i := 1 to length(returnstr) do
begin
if returnstr[1] = '0' then
delete(returnstr,1,1);
end;
Result := returnstr;
except
end;
end;
 
IntToHex编译不能通过。
 
能给我多少分?我给你完整的标准pascal代码!
 
{字符转化为十六进制数}
Function StrToAsc(StrString: String): String;
Var
i: integer;
tempstr: String;
Begin
result := '';
tempstr := Ansiuppercase(trim(strstring));
If tempstr = '' Then
exit;
For i := 1 To length(strstring) Do
result := result + inttohex(Ord(strstring), 2);
End;
 
不明白到底是什么意思,十六进制,跟十进制不是一样的么,在电脑的机器码中,$0A=16,不是一样的么,'0a'经过转化得到16;
 
在计算中是一样的.楼主的意思可能是要显示.
所以转换后输出的结果是要字符串的.
 
function TFrmMain.HexToInt(const S:String): Integer;
var
tmpInt1,tmpInt2:Integer ;
begin
if Length(S)=1 then
begin
Result:=hex(S[1]);
end
else if Length(S)=2 then
begin
tmpInt1:=hex(S[1]);
tmpInt2:=hex(S[2]);
if (tmpInt1=-1) or (tmpInt2=-1) then
Result:=-1
else
Result:= tmpInt1*16+tmpInt2;
end
else
Result:=-1
//输入错误,转换失败
end;
参数S为2位十六进制数
 
将16进制转化为10进制用(format('%d',[strtoint('$'+edit1.text];)
 
楼上的方法不错.

根据这个方法
10进制转换为16进制除了
edit2.Text := IntToHex(StrToInt(edit1.Text),1);
还可以用
edit2.Text := format('%x',[strtoint(edit1.text)]);
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部