procedure TForm1.SendHex(S: String);
var
s2:string;
buf1:array[0..50000] of char;
i:integer;
begin
s2:='';
for i:=1 to length(s) do
begin
if ((copy(s,i,1)>='0') and (copy(s,i,1)<='9'))or((copy(s,i,1)>='a') and (copy(s,i,1)<='f'))
or((copy(s,i,1)>='A') and (copy(s,i,1)<='F')) then
begin
s2:=s2+copy(s,i,1);
end;
end;
for i:=0 to (length(s2) div 2-1) do //这句看不懂。
buf1[i]:=char(strtoint('$'+copy(s2,i*2+1,2)));//这句看不懂。
Comm1.WriteCommData(buf1,(length(s2) div 2));
end;
是SPCOMM中发送十六进制的,有两句看不懂。
var
s2:string;
buf1:array[0..50000] of char;
i:integer;
begin
s2:='';
for i:=1 to length(s) do
begin
if ((copy(s,i,1)>='0') and (copy(s,i,1)<='9'))or((copy(s,i,1)>='a') and (copy(s,i,1)<='f'))
or((copy(s,i,1)>='A') and (copy(s,i,1)<='F')) then
begin
s2:=s2+copy(s,i,1);
end;
end;
for i:=0 to (length(s2) div 2-1) do //这句看不懂。
buf1[i]:=char(strtoint('$'+copy(s2,i*2+1,2)));//这句看不懂。
Comm1.WriteCommData(buf1,(length(s2) div 2));
end;
是SPCOMM中发送十六进制的,有两句看不懂。
解决方案 »
- excel中的特殊字符在ACCESS中不识别的问题
- 服务器显示和底三方控件查找
- 请问用devexpress dbtreeview能实现如下的功能吗?
- 怎样把一串中英文结合的字符串一个一个解析出来
- 请问如何获取ADO的错误信息
- 简单问题,困扰我,ENTER键回车
- 请教一个dbgrid里cell中按钮的问题!谢谢!急!
- 在Delphi中调用API的问题
- 交通银行
- 我是在: mdac2.7, delphi6(Enterprise)+service pack2删除数据库有提示 '你的数据集有一个bof或eof为真',不能删除,使用DBGridEh(ehlib
- 菜鸟要学DELPHI
- 字符串转换时间的问题
buf1[i]:=char(strtoint('$'+copy(s2,i*2+1,2)));//每个字符组成一个16进制的字符串,转为值
buf1[i]:=char(strtoint('$'+copy(s2,i*2+1,2)));//每2个字符组成一个16进制的字符串,转为值
buf1[i]:=char(strtoint('$'+copy(s2,i*2+1,2)));//每2个字符组成一个16进制的字符串,转为值
还不太明白,能不能做个例子
=>
buf1[0]:=char($12)
buf1[1]:=char($ab)
buf1[i]:=char(strtoint('$'+copy(s2,i*2+1,2)));//这句看不懂。 这里大概意思是将1个字符串中每次取2个字符然后组合为1个新的字符,这些新的字符最后都存放到1个字符数组里面