谁给我解释一下以下代码 是做的什么转换吗?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;
=========================
谢谢大家!!!!!!
解决方案 »
- **** 并非老调重弹!是没有好的方案!Row cannot located for updating.Some values may have been changed since it was last read
- 向各位大大请教一个字符串的处理问题(在 SQL SERVER 2000 中),谢谢!
- 怎么样把Access的数据导入Sql Server中
- 关于网络路径映射为物理路径问题:
- 谁用indy9中提供的idftpserver控件成功的开发过ftp服务端?UP有分。
- oracle 表中数据发生变化时如何触发 delphi 的事件?
- 文件和目录压缩的问题
- 紧急求救-- 关于Table的过滤问题
- 在程序中备份SQL SERVER数据库时提示“无法打开备份设备...”这是为什么?
- 关于窗口得操作
- 关于web service、soap.
- 在线诚等,求一问题的解决方法!
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'