谁给我解释一下以下代码 是做的什么转换吗?var
c:string;
str:string;
i:integer;
begin
c:=edit1.Text;
for i:=1 to length(c) do
begin
str:=str+inttohex(ord(c[i]),2);
end;
memo1.Clear;
memo1.Lines.Add(str);
end;
==================================
var
c:string;
str:string;
i:integer;
begin
c:=edit2.Text;
for i:=1 to (length(c) div 2) do
begin
str:=str+chr(strtoint('$'+C[2*i-1]+c[2*i]));
end;
memo1.Lines.Add(str);
end;
=============================
var
s,c:string;
STR:integer;
begin
s:=edit3.Text;
STR:=strtoint('$'+s);
c:=inttostr(str);
memo1.Lines.Add(c);
end;
=========================
谢谢大家!!!!!!
c:string;
str:string;
i:integer;
begin
c:=edit1.Text;
for i:=1 to length(c) do
begin
str:=str+inttohex(ord(c[i]),2);
end;
memo1.Clear;
memo1.Lines.Add(str);
end;
==================================
var
c:string;
str:string;
i:integer;
begin
c:=edit2.Text;
for i:=1 to (length(c) div 2) do
begin
str:=str+chr(strtoint('$'+C[2*i-1]+c[2*i]));
end;
memo1.Lines.Add(str);
end;
=============================
var
s,c:string;
STR:integer;
begin
s:=edit3.Text;
STR:=strtoint('$'+s);
c:=inttostr(str);
memo1.Lines.Add(c);
end;
=========================
谢谢大家!!!!!!
c:string;
str:string;
i:integer;
begin
c:=edit1.Text;
for i:=1 to length(c) do
begin
str:=str+inttohex(ord(c[i]),2);
end;
memo1.Clear;
memo1.Lines.Add(str);
end;
上面的函数是把输入的字符串按字节显示每个字节的十六进制码值。
其实就是每个字符的ASCII码值显示成HEX码。
如:输入:‘12345’;
显示为:31 32 33 34 35(原函数中无空格,这是我加的,看起来方便些。[:-)])
==================================
var
c:string;
str:string;
i:integer;
begin
c:=edit2.Text;
for i:=1 to (length(c) div 2) do
begin
str:=str+chr(strtoint('$'+C[2*i-1]+c[2*i]));
end;
memo1.Lines.Add(str);
end;
这个函数的功能与上面的函数功能是相反的。也就是把输入的字符串每两位取出来后,转换成ASCCI码后,显示这个ASCII码对应的字符。
如输入为:'303234363839';
输入显示:'024689';=============================
var
s,c:string;
STR:integer;
begin
s:=edit3.Text;
STR:=strtoint('$'+s);
c:=inttostr(str);
memo1.Lines.Add(c);
end;
这个函数的功能是把输入的字符串当成十六进制码,然后转换成整数显示。
如输入:‘EF’;转换后会显示成:239
=========================
谢谢大家!!!!!!
注意:输入第二个与第三个函数的输入内容只能为:‘0’..'9','a'..'f','A'..'F'