我现在通过spcomm读数据,现有一个时间控件,如果spcomm,5秒内成功收到读入数据,则保存进数据库,否则就提示showmessage,不成功,另外请问一下buffer是怎么初始化它的值的,
因为如果扫描速度一快,数据就连续的放在buffer上,
以下这段代码可以实现数据接收,但我以上的问题还未解决?请教
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var
  PStr: PChar;
  S: String;
 
  //  i: integer;
begin
 
  PStr := Buffer;
  S := String(PStr);
       // for i:=0 to bufferlength-1 do
      // Pstr[i]:=Pstr[i];
    Memo2.Lines.Add(s);
                adoquery2.Close ;
                 adoquery2.sql.clear ;
                 adoquery2.SQl.text:='select * from table2';
                 adoquery2.open;
                 adoquery2.Append;
                 adoquery2.FieldByName('no').AsString:=trim(memo2.text);
                 adoquery2.Post;
我串口主要接的是扫描头,主要用来扫描条码,
在扫描头,另一接线处有传感器,当物品触发传感器后,扫描头发射光线,如果5秒内扫描成功,则数据保存,否则提示扫描不正确!