- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC WinInet类编制FTP客户端程序实例
程序要实现的功能
1. 主对话框用户界面:
图1 Ftp客户端程序的主对话框
2. 用户执行程序的流程是:
进行各种操作之前,应首先输入服务器域名,登录用户名和口令。
如果要进行查询,可以点击‘查询’按钮,调用OnQuery函数。该函数获得用户当前输入的服务器名、登录用户名和口令等信息,清除列表框的内容;然号创建Internet会话类对象,进行服务器的登录,试图建立与指定FTP服务器的连接;如果连接成功,就创建CFtpFileFind文件检索类对象,查找服务器上当前目录的任意文件,找到了第一个文件后,继续找其它的文件,并将找到的文件或目录名显示在列表框中。所有文件找到后,结束查询,并依次删除文件查询对象、FTP连接对象和Internet 会话对象,结束会话。
如果要下载文件,从列表框中选择一个文件,会产生LBN_SELCHANGE事件,自动调用相应的OnSelchangeListFile函数,禁用用来输入的文本框控件,禁用查询和上传按钮,激活下载按钮。此时,用户可以点击‘下载’按钮,产生BN_CLICKED事件,自动调用OnDownload函数,调用Download函数,下载该文件。下载完毕,禁用下载按钮,激活查询和上传按钮,激活用来输入的文本框控件。而Download函数重新创建Internet会话,建立FTP连接,下载文件后,将会话对象和连接对象清除。
如果要向FTP服务器上传文件,点击“上传“按钮,产生BN_CLICKED事件,调用OnUpload函数,该函数获得当前输入的服务器名、登录用户名和口令,禁用用于输入的文本框控件,禁用查询按钮,禁用用于输入的文本框控件,弹出小对话框,获得待上传的本地机文件路径和文件名,调用Upload函数上传文件。上传完毕,激活查询按钮,激活用于输入的文本和编辑控件。Upload函数也重新创建Internet会话,建立FTP连接,上传文件后,然后清除会话对象和连接对象。
3. 此程序的主要的技术要点是:
如何创建一个Internet会话,即创建CInternetSession对象;如何建立与FTP服务器的连接,即创建CFtpConnection对象;如果连接成功,如何获得当前登录的目录下的文件和目录名称,即检索一个目录下的文件,并显示文件信息;如何下载文件、上传文件以及关闭连接。
创建应用程序的过程
1.使用MFC AppWizard创建应用程序框架
工程名是Ftp,应用程序的类型是基于对话框的,其它部分接受系统的默认设置就可以。应用程序包括两个类:
应用程序类:CFtpApp,对应的文件是Ftp.h和Ftp.cpp。
对话框类:CFtpDlg,对应的文件是FtpDlg.h和FtpDlg.cpp。
2.为对话框添加控件
对话框中的控件属性
控件类型 控件ID Caption 静态文本 static text IDC_STATIC_FTP 服务器域名 静态文本 static text IDC_STATIC_NAME 用户登录名 静态文本 static text IDC_STATIC_PWD 登录口令 静态文本 static text IDC_STATIC_FILE 目录文件列表 编辑框 edit box IDC_EDIT_FTP 编辑框 edit box IDC_EDIT_NAME 编辑框 edit box IDC_EDIT_PWD 命令按钮 button IDOK 查询 命令按钮 button IDC_DOWNLOAD 下载 命令按钮 button IDC_UPLOAD 上传 命令按钮 button IDCANCLE 退出 列表框 listbox IDC_LIST_FILE (sort不选)
3.定义控件的成员变量
控件对象的成员变量
控件ID
Control IDs 变量名称
Member Variable Name 变量类别
Category 变量类型
Variable Type IDC_STATIC_FTP m_staFtp Control CStatic IDC_STATIC_NAME m_staName Control CStatic IDC_STATIC_PWD m_staPwd Control CStatic IDC_EDIT_FTP m_strFtp Value CString m_editFtp Control CEdit IDC_EDIT_NAME m_strName Value CString m_editName Control CEdit IDC_EDIT_PWD m_str
您可能关注的文档
最近下载
- ISO27001 2022版内审全套资料(内审计划+检查表+审核报告等).doc
- fidic99版新红皮书中英文双语对照版.docx VIP
- 钢板弹簧设计计算程序Ver1.0-20070405.xls VIP
- 区块链产业学院建设思路与规划.pptx VIP
- 建筑外门窗气密、水密、抗风压性能分级(1).doc VIP
- 读本低年级 第2讲《一心跟着共产党》第二课时《党和人民心连心》教学课件.pptx VIP
- 数控车床高级工理论考试题库(含答案).docx VIP
- 《WPS Office办公应用案例教程》教学课件 项目8 WPS Office App文档的基本应用.ppt VIP
- 《WPS Office办公应用案例教程》教学课件 项目9 WPS Office App表格和演示文稿的应用.ppt VIP
- 通用质量特性工作计划-模板.docx VIP
文档评论(0)