以下是vb编的程序,那位高手能够用delphi编出来,
1)问????如何设置二进制数组
/////////////////////////////////////////////////////
// 设置二进制数组,Buf(0)--Buf(7)是八字节的消息头
buf(0) = Chr(&HFF)
buf(1) = Chr(8)
buf(4) = Chr(1)
buf(5) = Chr(0)
buf(6) = Chr(0)
buf(7) = Chr(0)

解决方案 »

  1.   

    var buf: array[0..7] of char;buf[0] := Chr($FF);
    buf[1] := Chr(8);
    buf[4] := Chr(1);
    buf[5] := Chr(0);
    buf[6] := Chr(0);
    buf[7] := Chr(0);
      

  2.   

    var
      Buf: array[0..7] of byte;
    begin
      Buf[0] := 
      Buf[1] :=
      ...............
    end;
      

  3.   

    buf(0) = Chr(&HFF)

    buf[0] := Chr($FF);
    为何差了个'&h'
      

  4.   

    同意上面的答案!!!
    简直太Easy了!!!!!
      

  5.   

    不是多个少个&H的问题,两种语言表示16进制的方法不一样而已!写成chr(255)也可以!
      

  6.   

    以下是vb编的程序,那位高手能够用delphi编出来,
    1)问????如何设置二进制数组
    /////////////////////////////////////////////////////// 设置二进制数组,Buf(0)--Buf(7)是八字节的消息头
    buf(0) = Chr(&HFF)
    buf(1) = Chr(8)
    buf(4) = Chr(1)
    buf(5) = Chr(0)
    buf(6) = Chr(0)
    buf(7) = Chr(0)j = 7        //
    longc = 7
    longb = 8
    Dim xm$, lxm
    xm = TxtFields(22).Text     //读入要发送的字串
    lc = Len(xm)                //取字串长度
    lb = LenB(StrConv(xm, vbFromUnicode))       //取字串二进制长度
    longc = longc + 2 + lc// 生成发送的Buf数组
    buf(j + 1) = Chr(1)
    For i = 1 To lc Step 1
     buf(j + 2 + i) = Mid(xm, i, 1)
      Next i
     buf(j + 2) = Chr(lb + 2)
    longb = longb + 2 + lb
    j = j + 2 + lc// 下面循环发送数组内容
    For i = 0 To longc Step 1
    Winsock1.SendData buf(i)////////////////////
    ////////////////////
    ////////////////////
    var buf: array[0..7] of char;buf[0] := Chr($FF);//255
    buf[1] := Chr(8);
    buf[4] := Chr(1);
    buf[5] := Chr(0);
    buf[6] := Chr(0);
    buf[7] := Chr(0);getmem(buf,size);
    ....
    freemem(buf);
      

  7.   

    var
      Buf: array[0..7] of byte;
    begin
    buf[0] =Chr($FF);
    buf[1] = Chr(8);
    buf[4] = Chr(1);
    buf[5] = Chr(0);
    buf[6] = Chr(0);
    buf[7] = Chr(0);
    socket.sendbuf(buf,8);
    end;