Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发

上传人:E**** 文档编号:89190491 上传时间:2019-05-21 格式:PPT 页数:49 大小:398KB
返回 下载 相关 举报
Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发_第1页
第1页 / 共49页
Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发_第2页
第2页 / 共49页
Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发_第3页
第3页 / 共49页
Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发_第4页
第4页 / 共49页
Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发》由会员分享,可在线阅读,更多相关《Delphi程序设计 教学课件 ppt 作者 涂金德 主编 牛立成 金林樵 副主编 第7章Internet程序开发(49页珍藏版)》请在金锄头文库上搜索。

1、第7章Internet程序开发,7.1 FTP编程 7.2 Web服务器端程序开发(略) 7.3 Socket编程 本章小结 练习,7.1 FTP编程,FTP 协议 NMFTP组件 操作实例,FTP 协议,FTP是Internet最广泛的应用之一。它用于文件传输的Internet的标准。要使用FTP,就需要有登录服务器的注册帐号,或者通过允许匿名的FTP服务器来使用。 FTP控制连接通常以客户/服务器方式建立。服务器以被动方式打开21号端口(默认方式)等待客户的连接,客户则以主动方式打开21号端口(默认方式)来建立连接。控制连接始终等待客户与服务器之间的通信,该连接命令从客户传给服务器,并传回

2、服务器的应答。每当一个文件在客户与服务器之间传输时,就创建一个数据连接。由于该连接用于传输目的,所以该数据连接的服务特点就是“最大限度地提高吞吐量”。,NMFTP组件,TNMFTP组件位于组件面板的FastNet标签页上。利用该组件可以完成大多数的FTP客户端的功能,轻松地完成文件的上传和下载,TNMFTP组件甚至可以让我们直接把命令发送到FTP服务器上,另外TNMFTP组件也支持代理服务器的功能。下面将介绍该控件的属性、方法、和事件。 TNMFTP组件的主要属性 TNMFTP组件主要方法 TNMFTP组件主要事件,TNMFTP组件的主要属性,BytesRecvd属性 该属性返回已经收到的字节

3、数。与BytesTotal属性配合使用可以显示文件下载的进度。程序示例如下: procedure TForm1.NMHTTP1PacketRecvd(Sender: TObject); begin StatusBar1.SimpleText := IntToStr(NMHTTP1.BytesRecvd) + bytes out of +IntToStr(NMHTTP1.BytesTotal)+ transferred; end; BytesSent属性 该属性返回已经发出的字节数。与BytesTotal属性配合使用可以显示文件上传的进度。程序示例如下: procedure TForm1.NMS

4、MTP1PacketSent(Sender: TObject); begin StatusBar1.SimpleText := IntToStr(NMSMTP1.BytesSent)+ bytes out of +IntToStr(NMSMTP1.BytesTotal)+ transferred; end;,TNMFTP组件的主要属性(续1),BytesTotal属性 该属性返回此次下载或上传总共要传输的字节数。与BytesSent属性或BytesRecvd属性配合使用可以显示文件传输的进度。 CurrentDir属性 该属性返回FTP服务器上的当前目录。 FTPDirectoryList属性

5、 TFTPDirectoryListType是一个类类型,该属性返回FTP服务器上的当前目录的信息。 Host属性 该属性指定FTP服务器的地址或主机名。 LocalIP属性 该属性返回本地计算机的IP地址。如果本地计算机的IP地址有多个,则该特性返回其中的第一个。,TNMFTP组件的主要属性(续2),ParseList属性 该属性如果设为TRUE,就可以从FTPDirectoryList属性中得到文件的详细资料(包括文件名、文件大小、文件类型、文件最后修改日期)。 Password属性 在登录到FTP服务器时需要给出用户名和口令。该特性用于给出口令。匿名登录时客户端软件也可以随便指定一个包含

6、“”的邮件地址。 Port属性 指定FTP服务器的端口号,默认值是21。 Proxy属性 指定代理服务器的主机名或者是IP地址。在不需要代理服务器的情况下,该数值为空值。 ProxyPort属性 指定代理服务器的端口号。在不需要代理服务器的情况下,该数值为空值。,TNMFTP组件的主要属性(续3),RemoteIP属性 返回FTP服务器的IP地址。 ReplyNumber属性 返回FTP服务器响应客户请求的应答代码。 ReportLevel 属性 指定状态信息的详细程度,有如下值: Status_None = 0 Status_Informational = 1 Status_Basic =

7、2 Status_Routines = 4 Status_Debug = 8 Status_Trace = 16 Status属性 返回当前连接FTP服务器的状态信息。,TNMFTP组件的主要属性(续4),TimeOut属性 超时设定,指定一个毫秒数值,如果超过该值规定的时间SOCKET还没有响应,则将触发异常。 TransactionReply属性 返回上一次命令的执行结果。 UserID 属性 给出登录FTP服务器时的用户名。 Vendor属性 一般设定为NMOS-AUTO,表示让TNMFTP自动对文件的属性进行分析。,TNMFTP组件主要方法,Abort方法 声明:procedure A

8、bort; 该过程终止本次上传或下载任务,而且断开与FTP服务器的连接。 ChangeDir方法 声明:procedure ChangeDir(DirName: string); 请求FTP服务器改变当前目录为DirName指定的目录。 Connect方法 声明:procedure Connect; 用于登录到FTP服务器。 Disconnect方法 声明:procedure Disconnect; 用于断开与FTP服务器的连接。 Delete方法 声明:procedure Delete(Filename: string); 删除文件名为Filename指定的文件。,TNMFTP组件主要方法(

9、续),Download方法 声明:procedure Download(RemoteFile, LocalFile: string); 从FTP服务器下载RemoteFile指定的文件,在本地以LocalFile为文件名保存(LocalFile为空,则文件名不变)。 List方法 声明:procedure List; 返回FTP服务器中当前目录下的文件列表。 Mode方法 声明:procedure Mode(TheMode: Integer); 设置文件传输模式。 Upload方法 声明:procedure Upload(LocalFile, RemoteFile: string); 把本地磁

10、盘上LocalFile指定的文件上传到FTP服务器的当前目录且以RemoteFile指定的文件名保存。,TNMFTP组件主要事件,OnAuthenticationFailed事件 登录到FTP服务器时如果没有事先给出用户名及口令,或是错误的,则触发该事件。 OnConnect事件 当客户成功登录到FTP服务器时,则触发该事件。 OnConnectionFailed事件 当客户试图登录到FTP服务器失败时,则触发该事件。 OnConnectionRequired事件 如果调用方法时没有连接到FTP服务器时,则触发该事件。 OnDisconnect事件 当客户与FTP服务器断开连接时,则触发该事件

11、。 OnListItem事件 当应用程序调用List或Nlist时,每检索到一个文件将会触发该事件。 OnPacketRecvd事件 在文件下载过程中,每收到一个数据块都将会触发该事件。 OnPacketSent 事件 在文件上传过程中,每发出一个数据块都将会触发该事件。,操作实例:FTP编程,本操作实例的界面参见右图。 本操作实例用来演示窗体、按钮及分组组件的使用,其主要功能如下:,建立、断开与FTP服务器的连接 列目录、下载或上传文件,操作实例的实现,演示,操作实例的实现:FTP编程,1)创建一个新应用程序 在Delphi的IDE(集成开发环境)中,使用菜单“File”中“New”下面的“

12、Application”命令即可创建一个新应用程序。 2)在窗体上依次放置如右图所示的各组件,并设置各组件的相应属性。,演示,操作实例的实现(续1) :FTP编程,3)编写组件的事件代码 (1)与FTP服务器连接 通过处理Button1组件的OnClick事件来实现。程序代码如下: procedure TForm1.Button1Click(Sender: TObject); begin with NMFTP1 do begin Host:=Edit1.Text;/服务器,IP或域名 Port:=StrtoIntDef(edit2.text,21);/端口号 UserId:=Edit3.Tex

13、t;/用户名 Password:=Edit4.Text;/登录口令 Connect;/连接服务器 if Connected then ShowMessage(Format(连接到 %s,端口%s,Edit1.Text,Edit2.Text); end; end;,演示,操作实例的实现(续2) :FTP编程,(2)与FTP服务器连接成功给出提示 通过处理NMFTP1组件的OnConnect事件来实现。程序代码如下: procedure TForm1.NMFTP1Connect(Sender: TObject); begin Panel1.Caption:=连接成功; end; (3)与FTP服务

14、器断开连接 通过处理Button2组件的OnClick事件来实现。程序代码如下: procedure TForm1.Button2Click(Sender: TObject); begin NMFTP1.Disconnect; ShowMessage(Format(断开 %s,端口%s,Edit1.Text,Edit2.Text); end;,演示,操作实例的实现(续3) :FTP编程,(4)与FTP服务器断开连接给出提示 通过处理NMFTP1组件的OnDisconnect事件来实现。程序代码如下: procedure TForm1.NMFTP1Disconnect(Sender: TObje

15、ct); begin Panel1.Caption:=断开; end; (5)改变目录 通过处理Button6组件的OnClick事件来实现。程序代码如下: procedure TForm1.Button6Click(Sender: TObject); begin NMFTP1.ChangeDir(edit6.Text); end;,演示,操作实例的实现(续4) :FTP编程,(6)上传文件 通过处理Button3组件的OnClick事件来实现。程序代码如下: procedure TForm1.Button3Click(Sender: TObject); begin NMFTP1.Mode(M

16、ODE_ASCII); /文件传输模式 if NMFTP1.FOpenDialog1.Execute then NMFTP1.Upload(OpenDialog1.FileName,NMFTP1.CurrentDir+/ +ExtractFilename(OpenDialog1.FileName);/上传文件 end;,演示,操作实例的实现(续5) :FTP编程,(7)下载文件 通过处理Button4组件的OnClick事件来实现。程序代码如下: procedure TForm1.Button4Click(Sender: TObject); begin NMFTP1.Mode(MODE_ASCII); /文件传输模式 if SaveDialog1.Execute then NMFTP1.Download(Edit5.Text,SaveDialog1.FileName); /下载文件 end; (8)列出FTP服务器中当前目录下的文件列表 通过处理Button5组件的OnClic

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号