如何进行字符串和十六进制的转换?
在delphi中,如何将字符串相互转换?
例如a:string;
b:longword;a:="0XABCD";
如何让b的值为a?b:longword;
c:string;b:=0XABCD;
然后又让c如何得到b?
在delphi中,如何将字符串相互转换?
例如a:string;
b:longword;a:="0XABCD";
如何让b的值为a?b:longword;
c:string;b:=0XABCD;
然后又让c如何得到b?
解决方案 »
- 求一段获取cpu唯一标识的delphi代码。
- 200分。监视剪贴板内容,报connot open clipboard的机率高,求真解。
- 求个思路:如何判断一个EXE是安装程序还是应用程序?
- 多线程访问数据库,出现“连接占线导致另一个”错误。。。请高手指教!
- 如何检测edit里输入的不是数字或者英文字母就提示错误信息
- 哪位兄台知道:FastNet Tools VCL组件在哪里(delphi7)???
- 小问题
- 要使EDIT组件中输入完毕后按ENTER后跳到另一个EDIT组件如何编程或设置?
- 请问,在DELPHI中如何读取在安装WINDOWS时的公司名称
- SHChangeNotifyRegister 不能监视文件大小的变化哦
- activeform问题
- 再问:如何动态改变/设定Calendar中每一天的颜色?
begin
Result:=Char(StrToInt('$'+HexStr));
end;eg: Hex2Char('5A'); -> 'Z'
IntToHex是以十六进制的格式显示
IntToHex(StrToInt('123'));
var
tmp1:char;
c:string;
okstr:string;
getstr:string;
i:Integer;
begin
c:='我们都是程序员,总共23个,do you?';
for i:=1 to length(c) do
begin
okstr:=okstr+inttohex(ord(c[i]),2);
end;
showmessage(okstr);
//上面转换成字符串了,16进制的,下面解出来;
for i:=1 to (length(okstr) div 2) do
begin
getstr:=getstr+char(strtoint('$'+copy(okstr,(i-1)*2+1,2)));
end;
showmessage(getstr);
//转换完毕,请我吃饭啊,呵呵
end;
I : Integer;
Tmp: string; begin
Result := "";
For I := 1 to Length(AStr) do begin
Result := Result + Format("%2x", [Byte(AStr[I])]); end; I := Pos(" ", Result);
While I <> 0 do begin
Result[I] := "0";
I := Pos(" ", Result); end; end; function HexToStr(AStr: string): string; var I : Integer;
Charvalue: Word; begin
Result := "";
For I := 1 to Trunc(Length(Astr)/2) do begin
Result := Result + " ";
Charvalue := TransChar(AStr[2*I-1])*16 + TransChar(AStr[2*I]);
Result[I] := Char(Charvalue);
end; end;
只能以10进制表示16进制 以bcd码为转换中间(bcd是10进制的转换吗,当然也有8431码,这里不是)让b的值为a b:=inttohex(bcdtoint(strtobcd(a))); //inttohex是否需要你自己试一下
真正的hex只能转换成二进制bin 我认为 b:= bcdtoint(strtobcd(a));足够了
这是b的longword内保存的是int行变量 于是有
c如何得到b c:=format('%h',inttohex(b));
var
i:Integer;
TStr:String;
begin
for i:=1 to Length(SStr) do
TStr:=TStr+IntToHex(Ord(Sstr[i]),2);
Result:=TStr;
end;Function MyHexToTen(SStr:String):String;
var
i:Integer;
TStr:String;
begin
for i:=1 to Length(SStr) div 2 do
TStr:=TStr+Chr(Strtoint('$'+Sstr[2*i-1]+Sstr[2*i])); Result:=TStr;
end;
这是我用的两个函数,看看对你不否帮助 ,
function StrToHex(AStr: string): string; 函数的
I := Pos(" ", Result);
While I <> 0 do begin
Result[I] := "0";
I := Pos(" ", Result); end;
的作用?
var
a:string;
b:longword;
begina:="1abcd";
如何让
b:=1abcd还有反过来,b=1abcd;
如何让a='1abcd'