基于mfc档案管理系统的设计与实现内容摘要:
7 所示 7 个模块,每个模块对应需求分析 12 中的各个功能,只有具有系统账号的用户才可适用本系统。 图 7:模块划分图 各模块的功能 (1) 用户管理模块 用户管理模块主要实现用户 (普通用户、某个档案库管理员 )的添加和删除,查看用户的详细信息 (生成报表 ),验证用户的登录等功能。 只有系统管理员才 有权进行该项管理。 (2) 机构管理模块 机构管理模块主要实现增加机构、删除机构、修改机构描述信息等功能。 只有系统管理员才有权进行该项管理。 (3) 档案库管理模块 档案库管理模块的功能包括新建档案库、删除档案库、修改档案库的描述和任命档案库的管理员等。 只有系统管理员才有权进行该项管理。 (4) 档案管理模块 档案管理模块的操作主要有:在档案库中增加档案、删除库中未归档档案、对未归档档案进行归档、修改未归档档案的信息、将档案库下未归档的档案移入其他档案库、将已归档的档案移出档案库等。 档案管理是有权限限制的, 其权限分割的标准是档案库。 针对某个档案库,只有系统管理员和该档案库的管理员才有权对该档案库下的档案进行操作。 (5) 借阅管理模块 借阅管理模块的操作主要有:显示指定档案库下的借阅申请和已借档案的列表、显示借阅申请或已借档案的详细信息、提醒借阅人归还和归还档案等。 同档案管理一样,只有对某个档案库有操作权限的用户才能对该档案库下的借阅事务用户登录 用户管理 机构管理 档案库管理 档案管理 借阅管理 档案检索与借阅 我的档案 SQLServer数据库 13 进行管理。 (6) 档案检索与借阅模块 档案检索与借阅模块主要实现检索档案和提交借阅申请单。 用户通过设定检索条件对档案进行检索,可以查看检索出档案的详细信息,针对某个未被借出 的档案提出借阅申请并填写借阅申请单。 档案检索与借阅模块是所有用户都可操作的模块。 (7) “我的档案”模块 该模块为用户提供与借阅档案有关的信息,包括已提交的借阅申请,正在借阅的档案,申请的处理情况。 “我的档案”模块是所有用户都可操作的模块。 3. 3 软件结构设计 图 8:系统层次图 在上面模块设计中将系统划分成了 7 个模块,每个模块完成一个适当的子功能。 应该把模块组织成良好的层次关系,顶层模块调用它下层模块以实现程序的完整功能,每个下层模块再调用更下 层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。 软件结构,即由模块组成的层次系统,可用层次图来描绘,如图 8 所示: 层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系,上图中,最顶层的方框代表档案管理系统的主控模块,它调用下层模块完成档案管理系统档案管理系统 用户管 理 档案库管理 机构管 理 档案管 理 借阅管 理 档案检索借 阅 我的档 案 用户的增加和删除 查询用户信息 验证用户登录 机构的添加和删除 修改机构描述信息 档案库的增加修和改删除 任命档案库管理员 档案的增加修改和删除 档案的归档和移出 档案的转移 借阅申请的审批 档案的归还与提醒 检索档案 借阅申请 14 的全部功能,第二层的每个模块控制完成档案管理系统的一个主要功能。 第四章 系统实现 4. 1 开发工具 本系统采用 Microsoft Visual C++ 作为开发工具, Visual C++ 不仅是一个 C++编译器 , 而且是一个基于 Windows 操作系统 功能强大的 可视化集成开发环境( integrated development environment, IDE)。 Visual C++ 由许多组件组成 ,包括编辑器、调试器以及程序向导 AppWizard、 类向导 Class Wizard 等开发工具。 MFC, 微软基础类 (Microsoft Foundation Classes), 实际上是微软提供的,用于在 C++环境下编写应用程序的一个框架和引擎 [6], VC++是 WinDOS 下开发人员使用的专业 C++ SDK(SDK, Standard SoftWare Develop Kit,专业软件开发平台 ), MFC 就是挂在它之上的一个辅助软件开发包 , MFC 作为与 VC++血肉相连的部分。 MFC 是 Win API 与 C++的结合, API,即微软提供的 WinDOS 下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方的编程语言来进行对 WinDOS 下应用程序的开发,使这些被开发出来的应用程序能在 WinDOS 下运行,比如 VB、 VC++、 Java、Dehpi 编程语言函数本质上全部源于 API,因此用它们开发出来的应用程序 都能工作在 WinOS 的消息机制和绘图里,遵守 WinDOS 作为一个操作系统的内部实现 [7]。 上面说到 MFC 是微软对 API 函数的专用 C++封装,这种结合一方面让用户使用微软的专业 C++ SDK 来进行 Win 下应用程序的开发变得容易,因为 MFC是对 API 的封装,微软做了大量的工作,隐藏了好多程序开发人员在 Win 下用C++ amp。 MFC 编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价,因此就造成了 MFC 对类封装中的一定程度的冗余和迂回,但这是可以接受的 [8]。 4. 2 各个模块的界面和代码实现 本系统有 7 个功能模块,其中系统管理员可以进行全部的操作,普通管理员不能进行用户管理,机构管理,档案库管理这三种操作,而一般用户只能 进行档案检索和借阅,“我的档案”这两种操作,“我的档案”的功能 未 全部实现。 登录模块 当用户进入档案管理系统时,系统将转向用户登录界面,输入用户账号和密码,如图 9。 登录成功后,系统将转向系统管理员操作界面,如图 10 所示。 然 15 后用户就可以根据自己的权限选择各种操作了。 图 9:用户登录界面 登录模块的代码: BOOL CLandDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if( pMsgmessage == WM_KEYDOWN) { if( pMsgwParam == 0x0d)//屏蔽回车 { thisOnBtnLand()。 return TRUE。 } if( pMsgwParam == VK_ESCAPE )////屏蔽 esc return TRUE。 } return CDialog::PreTranslateMessage(pMsg)。 } 16 图 10:系统主界面 void CLandDlg::OnBtnLand() { // TODO: Add your control notification handler code here CString uid。 thisGetDlgItemText(IDC_EDIT1,uid)。 if( uid == ) { if( IDCANCEL == thisMessageBox(用户名为空 ,单击确定继续 ,单击取消退出系统 ,警告 ,MB_OKCANCEL | MB_ICONWARNING) ) { thisSendMessage(WM_CLOSE)。 ((CFileManageDlg *)thisGetParent())SendMessage(WM_CLOSE)。 } this()。 return。 } CString psw。 thisGetDlgItemText(IDC_EDIT2,psw)。 17 if( psw == ) { if( IDCANCEL == thisMessageBox(密码为空 ,单击确定继续 ,单击取消退出系统 ,警告 ,MB_OKCANCEL | MB_ICONWARNING)) { thisSendMessage(WM_CLOSE)。 ((CFileManageDlg *)thisGetParent())SendMessage(WM_CLOSE)。 } this()。 return。 } extern _RecordsetPtr pRecordset。 extern _ConnectionPtr pConnection。 CFileManageDlg * pFileManageDlg = (CFileManageDlg *)thisGetParent()。 pFileManageDlgConnectDataBase(document)。 pRecordsetOpen(select * from users,(), adOpenStatic,adLockOptimistic,adCmdText)。 pRecordsetMoveFirst()。 extern CString afx_uid。 //当前合法用户的帐号 extern CString afx_privilege。 // 当前合法用户的密码 while(!pRecordsetadoEOF) { _bstr_t _uid=pRecordsetGetCollect(id)。 _bstr_t _psw=pRecordsetGetCollect(password)。 _bstr_t _privilege=pRecordsetGetCollect(privilege)。 if( _uid == uid amp。 amp。 _psw == psw ) { pFileManageDlgm_land_flag = true。 afx_uid = uid。 afx_privilege =(const char*)_privilege。 break。 } pRecordsetMoveNext()。 18 }//while pRecordsetClose()。 if( !pFileManageDlgm_land_flag) { thisMessageBox(不存在用户或密码输入错误 ,请重新输入 )。 thisOnBtnReset()。 } else //是合法的用户 { thisSendMessage(WM_CLOSE)。 //关闭用户登陆界面 ,进入程序主窗口 } } void CLandDlg::OnBtnReset() { // TODO: Add your control notification handler code here this(0,1)。 this()。 this(0,1)。 this()。 this()。 } 用户管理模块 在系统主界面中单击“用户管理”按钮,系统将转向用户管理界面,如图11 所示。 单击“生成报表”按钮,系统将转向生成用户报表界面,列出系统所有用户信息,如图 12 所示。 返回用户管理界面,单击“添加用户”按钮,系统将转向添加用户界面。 若要添加的用户信息有误,系统将给出提示信息,若添加操 作成功,系统将给出对话框提示添加操作成功,如图 13 所示。 返回用户管理界面,单击“删除用户”按纽,系统转向删除用户界面,若要删除的用户信息有误,系统将给出提示信息,若删除操作成功,系统将给出对话框提示删除操作成功,如图 14 所示。 19 图 11: 用户管理界面 图 12:生成用户报表界面 20 图 13:添加用户界面 图 14:删除用户界面 用户管理模块的代码: 添加用户 void CAddUserDlg::OnAdd() { thisUpdateData()。 21 if( this() == 0) { thisMessageBox(用户帐号为空 ,单击确定继续 ,警告 ,MB_OK。基于mfc档案管理系统的设计与实现
相关推荐
83。 28 部分系统界面及功能简介 28 如图 42 28 如图 43 30 如图 44 32 如图 45 33 5 部 署 34 结 束 语 35 致 谢 36 参 考 文 献 37 4 5 1 绪 论 课题研究背景及 意义 随着生产技术的进步、现代化科学技术和社会经济的迅速发展,世界正在向信息化社会前进,信息正在同物质、能源一起构成当代社会的三大支柱产业。 社会活动的日益复杂
如此,基于 SOA 架构的系统还可以解决原有系统中异构软件相对分散的问题。 通常情况下,采用 SOA 架构的应用环境中,其需要处理的数据量通常都比较大,且不同类型的数据之间有可能零散地分布于各个独立系统的数据库中个,所以,对系统中各种类型数据的查询和处理等操作,将会根据应用场合、资源消耗以及结果集的大小而各不相同,如果对这些操作进行统一处理
1、农业技术全集之植,菜是我国主要的油料作物之一,油菜菌核病是油菜生产上重要病害之一,常年株发病率达 10%30%,严重的 80%以上,影响油菜丰产丰收。 防治方法如下:一、发病症状苗期发病,基叶与叶柄出现红褐色斑点,后扩大转为白色,组织被腐蚀,上面长出白色絮状菌丝。 病斑绕茎后,幼苗死亡。 成株期叶片发病时病斑呈圆形或不规则形,中心部灰褐色或黄褐色,中层暗青色,外缘具有黄晕。
用 Java 过程的 C 过程 , 或建立能被 Java 程序调用的 C 过程的头文件; JavapJava 反汇编器 , 显示编译类文件中的可访问功能和数据 , 同时显示字节代码含义; 基于 JSP 的进销存管理系统 5 JconsoleJava 进行系统调试和监控的工具。 JDK 常用的包包括 : 这个是系统的基础类 , 比如 String 等都是这里面的 , 这个包是唯一一个可以不用引入
有在适当时候做出调整。 综上所述,本课题拟设计一个药品进销存管理系统,用以将一些变动直观的展示给管理者,同时也方便其对信息进行简单的控制以及调整,节约人力,是管理系统化,信息化。 主要实现的功能包括以下几点: :根据销售单和进货单系统可以自动更新库存信息; :管理用户的基本信息; :药品的信息录入、更改、删除; :可以查看相应厂家的供货、销售详情。 目的和意义 随着药品经济与技术的发展
,并且开发出了很多成熟的产品,使用这些成熟的应用软件开发,可以跳过以前C/S 模式下的许多底层开发工作,节省很多工作量。 强大的跨平台能力。 由于使用浏览器作为客户端,而客户端对于服务器端采用何种技术,何种网络没有要求,只要符合网络协议就能通讯工作了。 同时,因为采用的是目前公开的协议和标准,任何其他采用相同的协议的系统都可以互联互通,具有良好的开放性和扩充性。 Web层框 架 Struts