大侠帮忙,帮忙看下这段代码。
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中发送十六进制的,有两句看不懂。