如何把字符串转换为十六进制呢? 例子如下:
例子如下:
var
s:string;
ss:integer;
begin
s:='('; // ( 的ASCII 码是28
把s转换为十六进制,如何做呢.
end;
问题点数:0、回复次数:11Top
1 楼solokey(争取在2008年成为低级程序员)回复于 2005-04-03 17:52:10 得分 0
ord(Str[i]);
这个返回的就是字符的ascii码...你再把十进制转成十六进制就可以了.Top
2 楼gzmhero(hihihi)回复于 2005-04-03 18:08:35 得分 0
procedure TForm1.Button2Click(Sender: TObject);
var
s:string;
ss:integer;
begin
s:='(';
ss:=ord(s[1]);////////////取字符串s的第一个字符,转换成整数。
ShowMessage(IntToHex(ss,2));//////////将整数转换成16进制字符串。
end;
Top
3 楼senfore(来而不往非礼也!)回复于 2005-04-03 18:13:13 得分 0
function TfrmCodeExchange.GetHex(const aStr: string): string;
var
i: Integer;
begin
Result:='';
if length(aStr) > 0 then
for i := 1 to Length(aStr) do
begin
//Result := Format('%.2x', [Ord(aStr[i])]);
Result := Result + Format('%.2x', [Ord(aStr[i])]);
end;
end;Top
4 楼flyinwuhan(制怒·三思而后行)回复于 2005-04-03 19:10:22 得分 0
var
s:string;
p:pchar;
begin
s:='12345678';
p:=allocmem(length(s)+1);
bintohex( @s[1], p, length(s) );
ShowMessage(p);
s := p;
freemem(p);
end;Top
5 楼maming2003(關機.睡覺!)回复于 2005-04-03 19:30:26 得分 0
upTop
6 楼xinshiji(自由我有)回复于 2005-04-04 02:24:48 得分 0
ord(Str[i]);
这个返回的就是字符的ascii码...你再把十进制转成十六进制就可以了.
Top
7 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-04-04 09:05:54 得分 0
xuexi...Top
8 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-04-04 09:06:17 得分 0
ord
format
学到了Top
9 楼Heyongfeng(小何)回复于 2005-04-04 10:39:58 得分 0
学了Top
10 楼gzmhero(hihihi)回复于 2005-04-07 15:58:06 得分 0
11 楼fhuibo(永远深爱一个叫“莎”的好女孩儿)回复于 2005-04-07 16:50:52 得分 0
procedure TForm1.Button2Click(Sender: TObject);
var
MyStr: string;
Mylenth: integer;
MySum: real;
I,j: integer;
begin
MySum := 0;
MyStr := edit1.Text;
Mylenth := length(MyStr);
j := length(MyStr);
for i := 1 to Mylenth do
begin
Mysum := MySum + GetShu(copy(MyStr,i,1)) * getme(16,j-1);
j := j - 1;
end;
edit2.Text := floattostr(MySum);
end;
function TForm1.GetShu(aStr: string): integer;
begin
if aStr = '0' then
result := 0
else if aStr = '1' then
result := 1;
if aStr = '2' then
result := 2;
if aStr = '3' then
result := 3;
if aStr = '4' then
result := 4;
if aStr = '5' then
result := 5;
if aStr = '6' then
result := 6;
if aStr = '7' then
result := 7;
if aStr = '8' then
result := 8;
if aStr = '9' then
result := 9;
if aStr = 'A' then
result := 10;
if aStr = 'B' then
result := 11;
if aStr = 'C' then
result := 12;
if aStr = 'D' then
result := 13;
if aStr = 'E' then
result := 14;
if aStr = 'F' then
result := 15;
end;
function TForm1.GetMe(aa, bb: integer): real;
begin
result := power(aa,bb);
end;Top




