procedure TForm2.Button6Click(Sender: TObject);
var
sbuf:array[0..255]of byte;
i:integer;
s1,s2,s3:string;
begin
sbuf[1]:=byte($aa); //帧头
sbuf[2]:=byte($aa);//帧头
sbuf[3]:=byte($0a); //命令号
sbuf[4]:=byte($90);
sbuf[5]:=byte($1);
sbuf[6]:=byte($2);
sbuf[7]:=byte($?);///
sbuf[8]:=byte($?);///
sbuf[9]:=byte($?);///
sum1 := 0;
sum2 := 0;
For i := 1 To 9 do
begin
sum1 := sum1 + sbuf[i];
sum2 := sum2 Xor sbuf[i];
end ;
sbuf[10] := sum1 div 256;
sbuf[11] := sum1 - sbuf[10] * 256;
sbuf[12] := byte(sum2); //////帧尾
senddata;//调用发送函数
end;
以上"?"是用户输入经转换后动态变化的字符串如s1,s2,s3,如果填上转换后具体的字符如:dc,fb,1d等运行就没问题,可是当用s1,s2,s3代替时就不能运行总是报错,提示说不是一个有效的整数。各位大侠怎样处理??
var
sbuf:array[0..255]of byte;
i:integer;
s1,s2,s3:string;
begin
sbuf[1]:=byte($aa); //帧头
sbuf[2]:=byte($aa);//帧头
sbuf[3]:=byte($0a); //命令号
sbuf[4]:=byte($90);
sbuf[5]:=byte($1);
sbuf[6]:=byte($2);
sbuf[7]:=byte($?);///
sbuf[8]:=byte($?);///
sbuf[9]:=byte($?);///
sum1 := 0;
sum2 := 0;
For i := 1 To 9 do
begin
sum1 := sum1 + sbuf[i];
sum2 := sum2 Xor sbuf[i];
end ;
sbuf[10] := sum1 div 256;
sbuf[11] := sum1 - sbuf[10] * 256;
sbuf[12] := byte(sum2); //////帧尾
senddata;//调用发送函数
end;
以上"?"是用户输入经转换后动态变化的字符串如s1,s2,s3,如果填上转换后具体的字符如:dc,fb,1d等运行就没问题,可是当用s1,s2,s3代替时就不能运行总是报错,提示说不是一个有效的整数。各位大侠怎样处理??
我用的是D6