我在socket中可能收到01 02 03 04 05....这样子的封包
我想判断3 4个字节是否是满足条件的情况,如果是,我可能需要在buffer的末尾追加数据
我看别人的vc代码大致的实现方式如下
参数PBYTE & pBuffer
((WORD*)pBuffer)[1] == 0x0304  求教delphi的实现方式,不太会操作buffer,感觉要提取第3第4字节的操作很麻烦
然后我还想知道如何在这个buffer后面追加数据
也许是基础不扎实,特来请教
麻烦大家指点,谢谢

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      vArrByte : pByte;
    begin
      GetMem(vArrByte,sizeof(Byte)*10);
      vArrByte[0] := $01;
      varrByte[1]:=  $02;
      vArrbyte[2] := $03;
      vArrbyte[3] := $04;
      vArrbyte[4] := $05;
      vArrbyte[5] := $06;
      vArrbyte[6] := $07;
      vArrbyte[7] := $08;
      vArrbyte[8] := $09;  if (vArrByte[3] = $4) and (vArrByte[4] = $05)  then
      showMessage('Equal value');  FreeMem(vArrByte);
    end;
      

  2.   

    嗯,感谢楼上的兄弟。。刘德华?深挖下,嘿嘿,word操作没有办法实现?
    我感觉c写的那句话很精辟的
      

  3.   

    哦,有点晕。。我用delphi2007编译的时候,兄弟的语句报错,说是要求数组类型