1 setlength 在这里不应该用,string类型是自动分配内存,自动回收的。
2 你的意思是问怎么转换成16进制么? 我有个函数,可以直接使用,它是这么声明的。
function IntToHex(Value: Integer; Digits: Integer): string;
begin
FmtStr(Result, '%.*x', [Digits, Value]);
end;
2 你的意思是问怎么转换成16进制么? 我有个函数,可以直接使用,它是这么声明的。
function IntToHex(Value: Integer; Digits: Integer): string;
begin
FmtStr(Result, '%.*x', [Digits, Value]);
end;
解决方案 »
- Delphi:怎样实现一个实时读取数据的程序?
- 能否用代码创建ADOCONNECTION对象?
- 一个系统安装目录有这样的文件,DeIsL3.isu _DEISREG.ISR svobj.dll此系统是不是用Delphi开发的?
- 谁有这个控件BusinessSkinForm呀
- 关于在fastreport中加入jpg文件.
- 在线等待,问题具体!!!!
- 如何处理标识字段(自动计数的ID字段)?高分求解
- ADO连接问题再问?
- 各位老大,请问一个在FORM。ONCREATE事件中的数据初始化问题
- 如何在quickrep中打印旋转90度的括号()?
- 请问各位如何将ASCII码表示的数据转换成十六进制表示的数据,有没有什么函数?
- 给一点思路
var
i: integer;
base: integer;
begin
result := 0;
base := 1; for i := Length(HexStr) downto 1 do
begin
case HexStr[i] of
'0'..'9': Inc(result, (Ord(HexStr[i]) - Ord('0')) * base);
'a'..'f': Inc(result, (Ord(HexStr[i]) - (Ord('a') - 10)) * base);
'A'..'F': Inc(result, (Ord(HexStr[i]) - (Ord('A') - 10)) * base);
else
raise EConvertError.Create('格式不对');
end;
base := base * 16;
end;
end;
Char(65) 就将其转换成字符A了
Ord('A') 返回以10进制整型的ASCII码,为65
IntToHex(Ord('A'),2) 返回以2位字符串型的16进制数,为41。其中2为你要显示的16进制数的位数。
Edit1.text:=Char(65); //显示 A
Edit2.text:=IntToStr(Ord(Char(65))); //显示 65
Edit3.text:=IntToHex(Ord(Char(65)),4); //显示 0041