小弟在delphi中用mscomm处理从串口接受到的数据时,出现了问题
数据长度是小于34个字节,但在循环时出现问题
当i循环到8时,又从0重新开始了,所以得到的数据是段,我花了一个下午没有找到原因,请大家帮忙看看
代码如下:
procedure TMainForm.MSCommComm(Sender: TObject);
var
  i, InputLen: Integer;
  tmpInt: Integer;
  tmpvar: Variant;
  tmparray: array[0..33] of byte;
begin
  if MSComm.CommEvent = ComEvReceive then
  begin
    InputLen := MSComm.InBufferCount;
    InputString:='';
    for i := 0 to InputLen -1 do//这里当根据i一次将数据读进数组,但是到8时,又重新跳出了循环,不知道原因
    begin
      tmpint := Tmpvar[i];
      tmparray[i] := Tmpvar[i];
      InputString := InputString + ' ' + IntToHex(tmpInt, 2);
    end;
    MainForm.mmReceive.Text := MainForm.mmReceive.Text + Inputstring;
    mmReceive.selstart := Length(mmReceive.lines.text) ;
    SendMessage(mmReceive.Handle,EM_SCROLLCARET, 0, 0);   //让滚动条滑动
end ;
------------------------------------
心中多少的创伤,不可抵挡的空虚,卑躬屈膝的一生,今天只想冲出那枷锁,就要象狂人,金属者---金属狂人
------------------------------------
《CSDN论坛新助手 CSDN's forum Explorer》,支持最新改版论坛,回复、浏览“方便”,“快捷”!
下载地址:http://www.seeyou.com.cn/CoolSlob/CSDNExplorer.exe