- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单文件管理系统(修订版).doc
PAGE
.
目录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc250320493 一、题目和要求 PAGEREF _Toc250320493 \h 2
HYPERLINK \l _Toc250320494 二、相关原理分析和总的设计思想 2
HYPERLINK \l _Toc250320495 三、数据结构和流程图 4
HYPERLINK \l _Toc250320496 四、源程序 6
HYPERLINK \l _Toc250320497 五、运行结果 18
HYPERLINK \l _Toc250320498 六、自我评析与总结 24
一、题目和要求
(1) 题目:简单文件管理系统的设计及实现
(2) 要求:根据文件系统的相关原理,设计并用C或C++编程实现一个类似Windows系统中“我的电脑”功能的文件管理系统,该文件系统可以对系统中所有文件进行管理,同时具有创建新文件、删除文件、复制文件、创建文件夹等功能。
二、相关原理分析和总的设计思想
基于MFC AppWizard框架的程序
定制一个菜单,有添加四个子菜单,创建,复制,删除,退出,在前三个子菜单中添加四个菜单项,文件夹,TXT,WORD,EXCEL。每个菜单项对应着一种功能。且复制选择路径都是基于对话框,操作方便,简洁明了。
eq \o\ac(○,1)创建文件夹;
要创建文件夹,首先要选择文件夹创建的位置,可以用到浏览文件夹的函数SHBrowseForFolder和两个结构BROWSEINFO和ITEMIDLIST,要想得到文件夹路径可以用SHGetPathFromIDList,当然程序要想拥有建立文件夹的功能,应该设置BROWSEINFO对象的ulFlags的参数有 BIF_NEWDIALOGSTYLE ;
eq \o\ac(○,2)创建文件;
不管是创建txt文件,word文件,excel文件原理都一样。
可以写一个build函数,提供几个参数:标题title, 路径filter,扩展名defExt。这样创建文件时,可以根据标题,路径,扩展名的不同调用build函数,达到不同功能的目的
在build函数体中使用CFileDialog定义一个对象来创建文件。
eq \o\ac(○,3)复制文件夹;
第一步:复制文件夹可以在一个对话框中完成,这样必然需要添加一个类CCopyDlg。
第二步:在该对话框上设置两个按钮,一个按钮来选择源文件夹,保存源文件路径;一个按钮来选择目标文件夹,保存目标文件路径。选择路径的方法可以与步骤 eq \o\ac(○,1)的方法相同。
第三步:重写确定消息应用程序来实现从一个目录复制到另一个目录的功能(copyFiles)。
下面是copyFiles函数的实现原理:
首先打开指定的文件夹进行搜索,再利用一个while循环,从当前目录搜索文件,判断搜索到的是不是.和..目录,如果是文件夹的话,进行递归;如果是文件,进行复制。
eq \o\ac(○,4)复制文件;
复制文件跟复制文件夹一样也需要创建一个对话框,添加一个类。同理也在对话框上添加两个按钮,分别接收源路径,和目标路径。不过接收的方法需要通过CFileDialog选择对话框,而不能再和 eq \o\ac(○,1)一样啦。复制文件,vc中有已有的函数CopyFile。参数是两个复制的路径。
eq \o\ac(○,5)删除文件夹
在删除文件夹之前,首先要删除文件夹下的所有文件,再删除文件夹。
该功能的实现也是利用递归,先判断文件夹下是否有文件,若有,则删除,没有则删除文件夹,返回。
eq \o\ac(○,6)删除文件
定义一个类CMyFileDialog继承CFileDialog而来,重写OnInitDialog函数来设置对话框中按钮的文本。
创建一个CMyFileDialog对象,在删除文件对话框中,选择想要删除的文件,调用DeleteFile函数进行文件的删除。
eq \o\ac(○,7)退出程序
设置一个退出子菜单,发送一个WM_CLOSE消息,关闭程序退出。
三、数据结构和流程图
该程序没有使用到复杂的数据结构,是基于MFC AppWizard应用程序。
主流程图:
为使流程图简单些,将创建,复制,删除放一起,用“|”字符连接起来,代表“或”的意
选择文件夹路径的流程图:
四、源程序
(1)定制一个菜单,添加5个子菜单,并分别设置它们的Popup,包括:创建(true)、复制(true)、删除(true)、帮助、退出(false)。
在子菜单中添加它们的菜单项。如下所示:
创建:文件夹,TXT,WORD,EXCEL
复制:文件夹,TXT,WORD,EXCEL
删除:文件夹,TXT,WORD
您可能关注的文档
最近下载
- 国家开放大学《管理英语4》边学边练Unit 1-4(答案全).docx VIP
- BDA-IDG资本叮当快药商务尽调研究报告 - 2017 04 26.pdf VIP
- 天龙-DENON-AVR-X510BT-家庭影院功放说明书-最全最新.pdf
- 学校改扩建工程施工组织设计方案(投标方案).docx
- 表B.13 管道清管、测径检验批质量验收记录.doc VIP
- 共同条令教育与训练.ppt
- 脱贫攻坚战取得全面胜利是彰显制度优势的伟大实践PPT课件(带内容).pptx VIP
- 2024年6月英语四级真题(全3套).pdf
- 雷曼兄弟破产事件-(1).pptx
- 计算机应用基础终结性考试试题及参考答案.docx
文档评论(0)