packethead=  record
    servcode:array[0..3] of char;
    bankcode:array[0..3] of char;
    operno:  array[0..5] of char;
    bankseri:array[0..19] of char;
    operdate:array[0..13] of char;
    fileflag: char;
    returncode:array[0..3] of char;
    serinbr:array[0..11] of char;
    reserver:array[0..9] of char;
   end;
procedure TForm1.Button3Click(Sender: TObject);
 var
 stream:Tmemorystream;
    begin
    stream:=Tmemorystream.create;
    package1.packet_body.teletype.datatype:=2;
    stream.WriteBuffer(package1.packet_body.teletype.datatype,1);
   clientsocket.Socket.SendBuf(stream.Memory^,stream.Size);
   stream.free;
end;
这样可不可以???

解决方案 »

  1.   

    似乎不行。鉴于三言两语说不清楚,因此建议您参考:
    http://www.powerba.com/develop/delphi/article/20010714011.htm
      

  2.   

    下面这个链接是原文原版,包括DFM源文件:
    http://www.ccidnet.com/tech/guide/2001/05/31/58_2264.html
      

  3.   

    你是向网络发送数据包对吗?可以用这种方式来实现
    var sendbufer:string;  sendbufer:=servercode+bankcode+...+reserver;
      if not clientSocket1.Active then
         begin
            ClientSocket1.Address:='127.0.0.1';//服务器地址
            ClientSocket1.Port:=5000;//服务器端口
            ClientSocket1.Open();
            ClientSocket1.Socket.SendText(SendBufer);
        end
     else
        begin
            ClientSocket1.Socket.SendText(SendBufer);  
        end;//发送成功
      

  4.   

    stream:=Tmemorystream.create;
        package1.packet_body.teletype.datatype:=2;
        stream.WriteBuffer(package1.packet_body.teletype.datatype,1);
       clientsocket.Socket.SendBuf(stream.Memory^,stream.Size);
       stream.free;