要看你什什么格式的了
1.假设有四个字节,为整形,则:
  var
    iData: integer;
  begin
    Socket.ReadBuf( iData, 4 );
    //不就行了么?
2.假设是一个记录:
  var
    rData: TRMyRecord;
  begin
    Socket.ReadBuf( rData, Sizeof( rData ) );
    // 有问题么?
       

解决方案 »

  1.   

    有一个TBits类,但转换函数没有现成的。
      

  2.   

    // 一个例子
    type
      TPerson = record
        case Integer of
        0: (Buf: array[0..1023] of char);
        1: (Name;array[0..31] of char;
            Birth: TDateTime;
            // other defines....
           )
      end;
    在这个结构中,Buf与Name拥有相同的起始地址。
    注意结构中不能含有指针类型。将结构定义调整好,就可以读入TA.Buf,而从TA.name、TA.Birth等变量读出,不需其他转换。