`
cloud21
  • 浏览: 390477 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Indy10记录及其他类型的传送

阅读更多
idTcpClient及IdTcpServer传送记录时的方法:

先将记录转换成TBytes,

使用RawToBytes及BytesToRaw函数。这两个函数包含在IdGlobal单元中。
另外,在接收或发送的时候用到TIdContext类,这个类包含在IdConText单元中。
举例(TcpClient及TcpServer):

记录:
Type
    TMyData=record
      id:Integer;
      Name:Array[0..20] of Char;
      Sex:Array[0..10] of Char;
      Age:Byte;
      Address:Array[0..256] of Char;
      UpdateTime:double;
   end;
  客户端: 
procedure SendMsg;
var
SendData:TMyData;
begin


SendData.ID:=10;
StrPCopy(SendData.Name,'Wyatt');
StrPCopy(SendData.Sex,'男');

SendData.age:=25;
StrPCopy(SendData.Address,'江苏省');

SendData.InCom:=S.InSpeed;
SendData.UpdateTime:=Now;
   MClient.IOHandler.Write(RawToBytes(SendData,SizeOf(SendData)););
end;
服务端:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);;
var
ReadData:TMyData;

buf:TBytes;
begin

SetLength(buf, 0);
AContext.Connection.IOHandler.ReadBytes(buf, SizeOf(ReadData));
BytesToRaw(buf, ReadData, SizeOf(ReadData));
   with Memo1.line do

   begin

     Add('ID:'+Inttostr(ReadData.Id));

     Add(Name:'+StrPas(ReadData.Name));

     Add('Sex:'+Inttostr(ReadData.sex));

     Add('Age:'+Inttostr(ReadData.age));

     Add('UpdateTime:'+DateTimeToStr(ReadData.UpdateTime));

   end; 

end;
//以上在Uses中要增加以下两个单元
uses    IdContext,IdGlobal
分享到:
评论

相关推荐

    D7下删除indy9安装indy10的方法说明付indy10.rar

    delphi7下删除indy9控件,安装indy10的方法,内付图文说明,indy10控件,已经测试,可用。

    indy10安装包.rar

    前段时间公司Delphi项目要调用Https接口,发现在Indy9下会有问题,需求网络上的方法都不行。 所以升级了Indy版本从9到...Delphi7下安装Indy10_6_2_5518,内含具体的安装方法,及其Indy10_6_2_5518配套的OpenSSL动态库。

    indy10及SSL的两个DLL

    安装了indy后,要使用两个SSL的dll时,很多都会报错,这是因为dll版本不匹配造成的。这里提供了indy10以及与该版本匹配的两个dll。

    Indy10_20100811_CB2007.zip

    打开根目录下的Indy10.groupproj, 【设置环境参数】 选择菜单Tools->Options...Environment Options->C++ Options->Paths and Directories下面设置路径. 删除原有与indy相关的include path,重新添加 <Indy10的新...

    indy10 完全安装版 附带详细教程 D7~2010

    添加indy10\LIB路径下的System、Core、Protocols下的三个目录 添加indey10\D7 因为这个目录下有bpl和dcu文件 3.删除delphi7目录Bin下的indy*.BPL文件,这是官方旧版本的文件,放心删除。 4.删除delphi7目录下的 ...

    Indy9 Demo 改为Indy10

    Indy9 Demo中的BasicClientServer升级到了Indy10,改起来还是挺麻烦的

    Indy10 最新DEMO

    Indy10 的最新DEMO程序 。这个DEMO是老外写的 。供大家参考

    Indy9,indy10,delphi

    indy9、indy10

    Indy10资料英文

    Indy10资料 找了很久才找到,太难得了,很详细的材料。

    Indy 10官方最新版

    来自官方最新版的Indy 10。 Internet Direct(Indy)是一组开放源代码的Internet组件,涵盖了几乎所有流行的Internet协议。Indy用Delphi编写,被包含在 Delphi 6,Kylix 1和C++ Builder 6及以上各个版本的Borland...

    delphi indy 10 官方demo

    delphi的官方例子也与说明,特别简单有用,如果好好学习就是真的不错。

    Delphi indy10说明帮助文档(pdf格式)

    主要讲述indy10各个控件的使用和相关函数的的说明等等.这个版本是pdf版本,有需要的可以下载来参考一下!

    indy10 for delphi7

    indy10 delphi7版本。 安装的时候把d7自带的*indy*.bpl都删除了。

    Indy10 New Demo

    indy10的10个零散的DEMO由多人编写不是indy出品公司的版本,找了,没有网上搜的

    indy10 最新官方例子

    indy10 最新官方例子,绝对可用2013年2月版本

    indy10 安装方法

    indy10安装方法,源代码可以到ccrun下载

    Indy10 Delphi6

    Indy10 适用于Delphi6,安装时直接添加bpl文件,将目录添加引用即可

    Indy10demo.zip

    Indy10demo.zip

    indy10_demosindy10_demos

    indy10_demosindy10_demos

    Indy10_5438.zip

    Indy10_5438.zip

Global site tag (gtag.js) - Google Analytics