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
分享到:
相关推荐
在Delphi 7开发环境中,有时开发者需要更新或替换现有的网络通信组件,比如从Indy 9升级到Indy 10。Indy(Internet Direct)是一个强大的、开源的网络组件套件,提供了多种网络协议的支持,如TCP/IP、HTTP、FTP等。...
Indy10是一款广泛使用的网络通信库,尤其在Delphi编程环境中非常流行。它提供了丰富的组件和函数,用于实现各种网络协议,如TCP/IP、UDP、HTTP、SMTP、IMAP等。Indy10帮助文档是开发者在使用该库时的重要参考资料,...
Indy 10 是一个广泛使用的网络组件套件,尤其在Delphi开发环境中,它为开发者提供了构建网络应用的强大工具。对于Delphi 7这样的较旧版本,Indy 10 提供了更新的网络协议支持,如HTTP、FTP、SMTP、IMAP等,以及SSL/...
3. **易用性**:Indy10的组件化设计使得它们易于集成到Delphi的VCL(Visual Component Library)中,可以像拖放其他控件一样,将网络组件拖放到表单上。 4. **性能优化**:Indy10经过长期的优化和测试,具有较高的...
8. **错误处理和日志记录**:Indy提供了丰富的错误处理机制,同时通过TIdLog组件可以方便地记录网络活动,这对于调试和优化网络代码非常有帮助。 每个示例通常包括源代码、执行步骤和预期结果的描述,这使得开发者...
Indy10是一个流行的开源网络通信库,主要用于在Delphi和C++Builder等RAD Studio环境中开发TCP/IP应用程序。它提供了一套全面的组件,用于实现包括HTTP、FTP、SMTP、NNTP等多种网络协议。在涉及SSL(Secure Sockets ...
indy10 for delphi7,indy10 for delphi7
前段时间公司Delphi项目要调用Https接口,发现在Indy9下会有问题,需求网络上的方法都不行。 所以升级了Indy版本从9到...Delphi7下安装Indy10_6_2_5518,内含具体的安装方法,及其Indy10_6_2_5518配套的OpenSSL动态库。
它可能是一个临时文件、日志文件或者是与Indy 10 示例相关的其他资源。 总的来说,这个压缩包对于学习和理解Indy 10 库在网络编程中的应用是非常有价值的。通过分析和运行这些示例,开发者可以熟悉Indy组件的工作...
用Indy10中的TIdSMTP发送邮件,按以下方法可以实现SSL安全连接: 1 把附件文件解压缩后的两个dll放到程序文件夹下 2 增加一个TIdSSLIOHandlerSocketOpenSSL控件 3 两个控件的关键属性设置如下: object IdSMTP1: ...
Indy10是一款广泛使用的网络通信库,尤其在Delphi和C++Builder开发环境中非常流行。这个"Indy10 最新DEMO"提供了一个示例程序,由外籍开发者编写,目的是为了展示如何利用Indy10库进行网络编程。在深入探讨这个DEMO...
6. `Other`:这个目录可能包含了与Indy10相关的其他辅助工具、配置文件或者不归属于上述类别的文件。 7. `Lib`:这个目录很可能存放着Indy10的库文件,如编译好的动态链接库(DLLs)或静态库(LIBs),这些是Indy10...
在本示例中,我们将讨论如何将基于Indy9的Demo项目升级到Indy10版本。 在“Indy9 Demo”中,BasicClientServer可能是一个包含了客户端和服务器端功能的示例程序,用于演示如何使用Indy9进行TCP通信。这个Demo可能...
本帮助文档详细介绍了如何在Delphi项目中使用Indy10组件,以实现高效、可靠的网络功能。 首先,文档会从基础开始,解释Indy10的基本概念和架构,包括组件的组织方式、核心组件和辅助组件的区别,以及它们在Delphi ...
Indy10是一个著名的网络通信库,用于在Delphi和C++Builder开发环境中构建网络应用程序。这个"Indy10 New Demo"似乎是一系列由不同开发者编写的独立DEMO,它们展示了Indy10库的各种功能,但并非由Indy官方出品。尽管...
Indy10是Internet Direct的简称,它是一个开源的组件套件,专为开发者提供了一系列用于构建网络应用程序的工具。这个组件库广泛应用于Delphi和C++Builder等RAD(快速应用开发)环境中,使得开发者能够轻松地实现各种...
在软件开发领域,尤其是网络编程与通信协议处理方面,Indy(Internet Direct)库以其丰富的功能、稳定的表现及广泛的兼容性,成为了许多开发者的选择。本文将详细介绍如何在C++Builder环境中正确安装与配置Indy10,...
Indy10,全称Internet Direct,是Delphi和C++Builder编程环境中广泛使用的网络通信组件库。这个组件集提供了一系列强大的工具,用于实现各种网络协议,如TCP/IP、UDP、HTTP、FTP、SMTP、POP3等,使得开发者能够轻松...
1. **全面的网络支持**:Indy10C6支持各种网络协议,如TCP/IP、UDP、HTTP、FTP、SMTP、POP3、IMAP4等,涵盖了互联网通信的各个方面,使得开发者能够构建各种类型的网络应用,如Web服务器、邮件客户端、FTP客户端等。...
添加indy10\LIB路径下的System、Core、Protocols下的三个目录 添加indey10\D7 因为这个目录下有bpl和dcu文件 3.删除delphi7目录Bin下的indy*.BPL文件,这是官方旧版本的文件,放心删除。 4.删除delphi7目录下的 ...