rbuf:array[1..MaxByte] of byte;
“while rbuf[0]??? then  ”  当rubf[0]为空时  这句怎么写  万分感谢!

解决方案 »

  1.   

    Ord(rubf[0]) = 0或者rubf[0] = #0
      

  2.   

    只看了标题,没看数组类型,以为是char数组。byte数组直接:rubf[0] = 0
      

  3.   

    错误:constant expression violates subrange bounds 这是怎么回事呢  不好意思 我刚开始用DELPHI
      

  4.   

    可能是我写错了 我想把串口里的数据读入rbuf里,但不知道读没读进去,就想判断一下rbuf数组没有被赋值    我不知道我这样判断的思路对不  谢谢
      

  5.   

    你的rbuf的下标是1,rbuf[0]肯定错
      

  6.   

    spcomm的事件中有个bufferlength可以判断是否rbuf为空
      

  7.   

    procedure Tfrmmain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    var
    rbuf:array of char;
    begin
      setLength(rbuf, BufferLength);
      move(Buffer^, PChar(rbuf)^, BufferLength);end;