vc简单ftp客户端的实现大作业(含源文件)课程设计.doc

上传人:marr****208 文档编号:116330482 上传时间:2019-11-16 格式:DOC 页数:25 大小:133KB
返回 下载 相关 举报
vc简单ftp客户端的实现大作业(含源文件)课程设计.doc_第1页
第1页 / 共25页
vc简单ftp客户端的实现大作业(含源文件)课程设计.doc_第2页
第2页 / 共25页
vc简单ftp客户端的实现大作业(含源文件)课程设计.doc_第3页
第3页 / 共25页
vc简单ftp客户端的实现大作业(含源文件)课程设计.doc_第4页
第4页 / 共25页
vc简单ftp客户端的实现大作业(含源文件)课程设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《vc简单ftp客户端的实现大作业(含源文件)课程设计.doc》由会员分享,可在线阅读,更多相关《vc简单ftp客户端的实现大作业(含源文件)课程设计.doc(25页珍藏版)》请在金锄头文库上搜索。

1、VC简单Ftp客户端的实现大作业(含源文件)课程设计 计算机与通信学院综合设计实验报告简单Ftp客户端的实现 小组成员:目录1 课设简介:41.1课程设计题目41.2课程设计小组成员41.3小组成员任务分配情况及每人所占工作比例42 Ftp客户端设计思想:43 Ftp客户端的各个子模块主要函数功能分析及流程图:53.1 模块一:对程序的外观进行修改: 何佳 负责5 3.1.1 添加背景图53.1.2 添加时钟显示功能53.1.3 修改菜单栏、状态栏.53.2 模块二: 连接到FTP服务器功能的实现:何佳 负责).5 3.2.1 生成连接对话框 53.2.2 连接CMyFtpView:OnCon

2、nect 53.2.3 连接时间void CMyFtpView:OnTimer 53.3 模块三: FTP客户端文件的显示查询实现: 孟婕 负责53.3.1 查询函数OnQuary:.53.3.2 显示当前目录下所有的子目录与文件ListContent:.63.3.3 下一级目录函数OnNextdirectory:.63.3.4 上一级目录函数OnLasttdirectory:.73.4 模块四: FTP客户端部分功能实现: 李明 负责83.4.1 下载函数OnDownLoad:83.4.2 上传函数OnUpLoad:93.4.3 删除函数OnDelete:103.4.4 重命名函数OnRen

3、ame:.104 主要的数据结构分析.105 Ftp客户端的各个子模块设计过程及代码分析:11 5.1 模块一:对程序的外观进行修改: 何佳 负责.115.1.1删除工具栏:. 115.1.2修改菜单:. 115.1.3添加位图:. 115.1.4 修改状态栏:125.1.5改变应用程序窗口标题:. 13 5.2 模块二:连接到FTP服务器功能的实现: 何佳 负责.135.2.1 插入一个对话框: 135.2.2 新建一个类管理对话框:135.2.3 CConnectDlg函数:.135.2.4添加public成员变量:145.2.5 修改 CMyFtpView类的OnConnect函数: 1

4、45.2.6 添加响应函数: 15 5.3 模块三: FTP客户端主要功能的实现 孟婕 负责. 165.3.1 插入一个对话框资源: 165.3.2 建立新类CFtpDlg管理该对话框:175.3.3 初始化对话框: 175.3.4 查询函数OnQuary: 175.3.5 下一级目录函数OnNextdirectory: 195.3.6 上一级目录函数OnLasttdirectory: 20 5.4 模块四: FTP客户端部分功能的实现: (李明 负责). 215.4.1 下载函数OnDownLoad: 215.4.2 上传函数OnUpLoad: 225.4.3 删除函数OnDelete:22

5、5.4.4 重命名函数OnRename:. 235.4.5 退出函数OnExit:246.测试程序 24 6.1 连接操作:. 24 6.2 连接成功后: 25整个设计过程中遇到的主要问题:. 268 心得体会:26参考文献: 27相关工具: 271 课设简介:1.1课程设计题目 简单Ftp客户端的实现 在WINDOWS环境下,使用VC+开发工具实现一个FTP客户端软件。1.2课程设计小组成员 班级学号姓名职务计科3班20040810304何佳组长计科3班20040810310孟婕成员计科7班20040810709李明成员 1.3小组成员任务分配情况及每人所占工作比例 何佳负责: 模块一、对程

6、序的外观进行修改和 模块二、连接到FTP服务器功能的实现。 所占工作比例40%。 孟婕负责: 模块三、Ftp客户端文件的显示查询以及画主要函数的流程图。所占工作比例30%。 李明负责: 模块四、Ftp主要功能的实现的部分工作以及整理设计文档。 所占工作比例30%。 2 Ftp客户端设计思想: 在本次FTP的设计中主要使用WinInet API编程,无需考虑基本的通信协议和底层的数据传输工作,MFC提供的WinInet类是对WinInet API函数封装而来的,它为用户提供了更加方便的编程接口。而在该设计中,使用的类包括 CInternetSession类、CFtpConnection类和CFt

7、pFileFind类,其中,CInternetSession用于创建一个Internet会话; CftpConnection完成文件操作; CftpFileFind负责检索某一个目录下的所有文件和子目录。程序的功能:1. 登陆到FTP服务器。2. 检索FTP服务器上的目录和文件。 3. 根据FTP服务器给的权限,会相应地提供:文件的上传、下载、重命名、删除等功能。3 Ftp客户端的各个子模块主要函数功能分析及流程图:3.1 模块一:对程序的外观进行修改: 何佳 负责3.1.1. 添加背景图 为CMyFtpView类窗口,添加一个位图背景显示,首先为CmyFtpView添加WM_ERASEBKG

8、ND消息响应函数OnEraseBkgnd。该函数的前提是所需的位图已经导入资源中。3.1.2.添加时钟显示功能 首先为CMainFrame类,设置一个定时器,然后为该类响应WM_TIMER消息,在OnTimer函数中实现功能3.1.3.修改菜单栏、状态栏 在资料对话框或源程序代码中采取针对性的操作,得以实现 3.2 模块二: 连接到FTP服务器功能的实现:何佳 负责)3.2.1生成连接对话框 新建一个对话框CConnectDlg用来输入服务器的站点,用户名和密码信息,然后通过该对话框连接到服务器.主要的函数void CConnectDlg:OnConnect 实现的功能就是更新当前的输入3.2

9、.2 连接CMyFtpView:OnConnect 该函数是菜单项“连接”的响应函数,主要生成“连接”CConnectDlg对话框,从而建立FTP连接.3.2.3 连接时间void CMyFtpView:OnTimer 对CMyFtpView定时器,所发送的WM_TIMER消息进行响应,主要用于监视FTP连接是否成功连接。3.3 模块三: FTP客户端文件的显示查询实现: 孟婕 负责3.3.1 查询函数OnQuary: 该函数是“查询”按钮BN_CLICKED的响应函数,主要调用ListContent函数为实现查询的功能3.3.2 显示当前目录下所有的子目录与文件ListContent: 参数

10、所代表的是要查询的目录名,实现的方法主要是通过CftpFileFind类对象得以实现,返回给用户的信息有:目录或文件名、文件最后修改的时间以及文件的大小和类型。 流程图:3.3.3 下一级目录函数OnNextdirectory: 该函数是“下一级目录”BN_CLICKED的响应函数,当用户选中一个子目录时,点击按纽就会进入该目录,调用了主要函数:GetCurrentDirectory 、SetCurrentDirectory、ListContent。 流程图:3.3.4 上一级目录函数OnLasttdirectory: 该函数是“上一级目录”BN_CLICKED的响应函数,点击按纽就会返回到该

11、目录的上一级目录,调用了主要函数:GetCurrentDirectory 、SetCurrentDirectory、ListContent。 流程图:3.4 模块四: FTP客户端部分功能实现: 李明 负责3.4.1下载函数OnDownLoad: 为了下载列表中的某一个文件,首先判断是否选中了项目,否则提示没有选择文件,然后得到选择的项目的类型是否是文件,如果是文件,则得到下载的文件名,下载文件调用CFtpConnect类中的GetFile函数下载文件如果选中的是目录,则弹出对话框,不能下载目录。 流程图: 3.4.2上传函数OnUpLoad:上传函数首先得获得想要上传的本地文件的路径名和文件

12、名,弹出打开对话框,找到所要上传的文件后使用PutFile函数上传文件(调用CFtpConnect类中的PutFile函数),等函数上传完后提示是否上传成功,最后调用查询函数,显示新的文件列表。 流程图:3.4.3 删除函数OnDelete: 删除函数首先判断是否选择项目,如果没有,则弹出对话框没有选择文件。选择了项目后,得到选择项的类型,如果是目录,则提示不能删除目录,然后用m_pConnection-Remove删除文件并提示是否删除成功,最后调用查询函数,更新文件列表。3.4.4 重命名函数OnRename:重命名文件需要新建立一个对话框(CNewNameDlg),后选择要重命名的文件,

13、没有选择项目,提示没有选择文件,激活控件后,弹出新建的对话框,输入新的文件名后用m_pConnection-Rename重新命名文件,最后调用查询函数,更新文件列表。主要的数据结构分析CMyFtpView类: CConnectDlg m_ConDlg; /用于连接CFtpDlg m_FtpDlg;/用于创建一个CFtpDlg对话框,进行操作控制CStringm_FtpWebSite; /服务器站点,用于输入服务器的站点名称或IP地址CStringm_UserName;/登陆服务器的用户名称CStringm_UserPwd; /登陆服务器的密码CInternetSession * m_pSess

14、ion; /通过CConnectDlg 的设置,得到一个Internet会话CFtpConnection* m_pConnection; /通过m_pSession来实现一个FTP连接CFtpDlg类: CButtonm_BtnQuery; /查询按扭CButtonm_BtnUpLoad;/上传按扭CButtonm_BtnDownLoad; /下载按扭 CStringm_NewFileName; /保存文件的新名称CListCtrlm_FtpFile; / / 用于显示目录和文件信息 CFtpConnection* m_pConnection; /代表所建立的FTP连接CFtpFileFind

15、* m_pFileFind; / CFtpFileFind指针,用于查找文件5Ftp客户端的各个子模块设计过程及代码分析:5.1 模块一:对程序的外观进行修改: 何佳 负责5.1.1删除工具栏: 在CmainFrame的OnCreate函数中,删除与工具栏m_wndToolBar相关的代码,因为在本程序中没有提供相应的工具栏。5.1.2修改菜单: 将原有的菜单项删除,增加“连接”和“退出客户端”子菜单项,(去掉Pop-up前的勾,同时赋以ID值) 同时,为“连接”和“退出客户端”子菜单项添加COMMAND消息响应,响应的类分别为CMyFtpView类和CMainFrame类.响应函数为OnConnect和OnExit,其中: OnExit函数代码如下:void CMainFrame:OnExit /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

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