MFC《个人通讯录》课程设计报告.docx
《MFC《个人通讯录》课程设计报告.docx》由会员分享,可在线阅读,更多相关《MFC《个人通讯录》课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
MFC《个人通讯录》课程设计报告
前言
21世纪是IT普及的世界,到处都存在IT的身影,身处其中,实时通讯已是占据它不可或缺的地位。
因此,一个好的、强大的通讯录系统已成为企业、个人通讯工作的好坏不但可以直接影响到企业、个人人际关系,而且会间接的影响到企业、个人经济利益和社会地位。
随着社会的发展,科技的进步,计算机的应用在社会各领域中都得到了普及,越来越多的人都感受到利用计算机进行各类管理的科学和便捷;认识到通讯信息系统对于通讯工作的重要性。
利用计算机进行通讯管理是必然趋势,通讯录系统是各类工作中不可缺少的。
所以在这次课程设计中,我选择开发通讯录管理系统。
通讯录管理系统的功能主要有增加记录,删除记录。
这就要求它应该能够为用户提供有好美观的窗口界面、充足可靠的信息数据、简单方便的维护手段和灵活多变的查询方式以及快捷而准确的查询结果。
所以,对于通讯录管理系统的设计主要包括数据库的建立、维护以及应用程序的开发两个方面。
对于前者而言要求建立起数据一致性及完整性强、数据安全性好的数据库。
对于后者而言则要求具备应用程序功能全,易使用等,运行稳定等特点。
因此,拟选用的开发软件是Microsoft公司出品的VisualC++6.0MFC平台进行系统的开发。
目录
1课题综述1
1.1通讯录管理信息系统来源1
1.2通讯录管理系统的意义1
1.3预期目标1
1.4面对的问题2
1.5需解决的关键技术等2
2通讯录管理系统分析2
2.1涉及的基础知识2
2.2解决问题的基本思路9
2.3总体方案9
2.4功能模块框图9
3通讯录管理系统设计10
3.1部署连接(图)10
3.2算法描述10
3.3详细流程图11
4代码编写12
4.1插入记录的代码12
4.2删除记录的代码13
4.3刷新记录的代码13
4.4修改记录的代码13
5运行与测试14
1课题综述
通讯录管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库中。
本案例将主要实现如下一些功能:
增加记录功能、修改记录功能、删除记录功能以及刷新记录功能等等。
作为通讯录管理系统,我们将它作为一个数据库应用系统来进行开发制作。
数据库应用系统开发的前提是首先开发数据库和数据库中的数据表,数据库和数据表是数据库应用系统中进行不可缺少的工具,一切的开发工作都是围绕数据库和数据表的操作进行的,数据表可被VC++的数据工程和其他工程进行引用。
1.1通讯录管理信息系统来源
随着计算机技术的飞速发展,计算机在人民群众中应用的普及,利用计算机实现个人通讯录管理势在必行。
对于广大群众来说,利用计算机支持个人通讯录管理的日常事务可以推动个人通讯录管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。
1.2通讯录管理系统的意义
管理信息系统(ManagementInformationSystem,以下简称为MIS),是一个将企业生产和经营中的各种内、外部信息进行收集、加工、整理、传递,并有序地存储,以用于管理和决策,是企业增效的信息系统。
它能够使企业更加及时、准确、全面、详实的了解所需的信息数据。
同时管理信息系统对各种信息数据的进一步加工,能使企业领导层的生产、经营、管理决策依据更加充分,更具有合理性、科学性;从而为社会创造出更多的价值,为企业的发展创造出更多的机会。
对于企、事业单位的通讯录管理系统来说,不需要大型的数据库系统。
只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统,能够提高通讯录管理的效率。
1.3预期目标
我们的目标就是在于开发一个功能实用、操作方便,简单明了的通讯录管理系统.能够录入通讯录的基本资料,在操作上能够完成诸如添加、修改、删除、按条件进行查询,基本满足通讯录日常业务的需要。
本人独立完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。
总体设计思路
本系统用MFC设计,首先将大体框架设计出来,大体框架的内容有:
姓名、性别、电话、以及插入、修改、刷新和修改等控件。
其次是建立数据库、链接数据库,然后验证成果。
1.4面对的问题
这次课题主要的问题就是数据库的结构设计。
这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪些表格中,各个表的结构如何以及各个表之间的关系。
通讯录管理虽然只有一个数据表,但仍然要进行数据链接,这其中也就带来了各成员之间的绑定问题。
1.5需解决的关键技术等
通讯录管理系统需解决的关键技术是与数据源进行链接,MicrosoftAccess的使用以及MFC的使用等。
2通讯录管理系统分析
通讯录管理系统主要是对个人的人脉通讯信息的管理,使个人的人脉通讯信息管理更加科学化、便捷化;为个人的人脉通讯信息管理水平跨上新台阶;为个人的人脉发展奠定坚实基础。
进行通讯录管理系统需要Windows2000以上的操作系统及VisualC++6.0语言环境。
2.1涉及的基础知识
2.1.1MFC编程
1)MFC简介
MFC是MicrosoftFoundationClassLibrary(微软基础类库)的缩写形式。
它是C++的类集,提供面向对象框架,利用这个框架,程序员可以轻松地创建Windows应用程序。
MFC还提供应用程序开发模型。
此模型被称为文档/视图模型。
文档/视图模型是将应用程序数据与用户界面元素分离的一种应用程序方法。
它允许这两部分程序独立存在,这样一来,程序员在更改其中一部分时,就无须大量更改另一部分。
MFC为程序员提供了更友好的C++类,使之更易于使用。
在很多情况下,MFC在幕后执行一些复杂操作,而向开发人员提供更简单的编程界面,并可以掩盖WindowsAPI的一些缺点。
2)AppWizard向导开发应用程序
图2-0New对话框
从File菜单中单击New(新建),显示New对话框的Projects(项目)选项卡,其中列出了VisualC++中的向导。
选择标有MFCAppWizard(exe)的图标,如图2-0所示,为项目输入一个名字。
在Location文本框中指定一个路径。
直到选择列表中的一个图标,并输入一个项目名后,OK按钮才能用。
单击OK。
步骤1
程序界面如图2-1所示。
图2-1AppWizard的第一步
AppWizard的第一步要求用户指定应用程序的类型,选择单文档界面(SDI)、多文档界面(MDI)或基于对话框的界面。
要创建不需要文档对象从磁盘文件中读取数据的简单的Windows应用程序,把标为Document/ViewArchitectureSupport(文档/视图结构支持)复选项禁用即可。
步骤2
在图2-2中所在的AppWizard的第二步中,要求提供项目所需要的数据库支持种类。
我们选择None,有使用数据库,Next(下一步)按钮跳过这一步,进到步骤3。
图2-2AppWizard的第二步
步骤3
在AppWizard的第三步(图2-3)中,设置程序的OLE和ActiveX支持类型。
对话框上半部分的五个单选按钮控制着AppWizard添加到程序中的复合文档支持的类型。
我们仍然选择None,单击Next按钮进到步骤4。
图2-3AppWizard的第三步
步骤4
在图2-4中所示的AppWizard的第四步中,可以控制AppWizard为程序创建哪些用户界面元素。
图2-4AppWizard的第四步
AppWizard自动为程序主窗口的菜单系统、工具栏及状态栏生成代码和数据。
Normal(常规)InternetExplorerRebars单选按钮为应用程序的工具栏提供两种不同的风格。
激活Context-SensitiveHelp(上下文相关)复选项,会告诉AppWizard希望所创建的程序提供在线帮助。
这些说明清晰完整不需要再做更多的工作只需要说明那些自己添加到程序中的命令以加强帮助文件。
在AppWizard第四步的对话框的右下角有一个Advanced(高级)按钮,单击它,将显示一个标题为AdvancedOptions(高级选项)的包含两个选项卡的对话框。
步骤5
图2-5所示的 AppWizard的第五步询问想创建的程序的风格、是否需要附加的源代码注释,及希望程序如何链接到MFC库。
图2-5AppWizard的第五步
步骤6
AppWizard的第六步列举了AppWizard将为项目创建的类,如图2-6。
图2-6AppWizard的第六步
单击Finish按钮后,AppWizard显示一个摘要表,其中列出了所选的项目特征。
单击OK会使AppWizard在摘要表底部所列的目录下创建项目。
2.1.2数据库的设计
VC有一个专门用于数据库和数据表的开发制作的数据库工程(DatabaseProject),可以为用户提供一个开发数据库和数据表的工具。
用DatabaseProject创建数据库工程如下:
2.2解决问题的基本思路
建立数据库及数据表,并进行选择与之相适应的数据源。
MFC设计过程中相应的对话框中的控件进行数据绑定和对一些控件代表的编写。
2.3总体方案
使用在基础知识中数据库的设计先设计数据库和数据表。
用MFC设计应用程序框架,在创建MFC时,进入框架设计的第2步,应选择“查看数据库而不使用文件支持”,在“DataSource”里添加已经创建的数据库和数据表,即可完成。
然后制作通讯录管理主窗体,在里面最主要的是进行控件与数据表字段的绑定。
最后为系统实现增加、删除、刷新与查询功能。
2.4功能模块框图
根据系统功能的要求,可以将系统分解成几个功能模块,它如图2-12所示。
图2-12通讯录管理系统功能模块图
3通讯录管理系统设计
通讯录管理系统设计主要进行四个功能:
增加记录、删除记录、修改记录。
3.1部署连接(图)
MFC对ODBC的封装(如图3-1所示):
图3-1硬件连接
3.2算法描述
◆增加记录的功能描述(如图3-2所示):
获取指向数据库的指针->确认对数据库的任何修改均已保存->获取新的NAME值->通过AddNew函数来添加新记录->把新的NAME值设置为新增记录中的NAME字段值->调用Requery函数更新记录->游标移到最后一条记录。
◆删除记录的功能描述(如图3-3所示):
删除记录->游标移到下一条记录->如果游标在文件尾,将它移到最后一条记录->如果游标在文件头,则内容为空->更新表单。
3.3详细流程图
图3-2增加记录的流程图图3-3删除记录的流程图
4代码编写
4.1增加记录的代码
voNameCOdbcDlg:
:
OnBtnadd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
charstrSql[1024];
this->UpdateData(TRUE);
sprintf(strSql,"insertintoempvalues(%d,'%s','%s')",atoi(m_strName),m_strSex,m_strPhone);
icePub_databaseExeSQLDirect(m_hdbc,strSql,&hStmt);//执行sql语句
this->ShowData();
4.2删除记录的代码
voNameCOdbcDlg:
:
OnBtndelete()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
charstrSql[1024];
this->UpdateData();
sprintf(strSql,"deletefromempwhere姓名=%s",m_strName);
icePub_databaseExeSQLDirect(m_hdbc,strSql,&hStmt);//执行sql语句
this->ShowData();//刷新CListCtl的显示数据
m_strName="";
m_strSex="";
m_strPhone="";
UpdateData(FALSE);
}
4.3刷新记录的代码
voNameCOdbcDlg:
:
OnBtnrefresh()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
this->UpdateData(FALSE);
this->ShowData();
}4.4修改记录的代码
voNameCOdbcDlg:
:
OnItemchangedList2(NMHDR*pNMHDR,LRESULT*pResult)
{
NM_LISTVIEW*pNMListView=(NM_LISTVIEW*)pNMHDR;
//TODO:
Addyourcontrolnotificationhandlercodehere
if(pNMListView->uNewState&LVIS_SELECTED)
{
charpContent[50];
intiCurrent=pNMListView->iItem;
m_ListCtrl.GetItemText(iCurrent,0,pContent,50);
m_strIName=Format("%s",pContent);
m_ListCtrl.GetItemText(iCurrent,1,pContent,50);
m_strSex=CString(pContent);
m_ListCtrl.GetItemText(iCurrent,2,pContent,50);
m_strPhone=CString(pContent);
UpdateData(FALSE);
}
*pResult=0;
}
5运行与测试
编译并连接源程序,执行程序后
1)初始界面(如图5-1所示)
2)增加记录的运行图(如图5-2所示)
图5-1初始界面
图5-2增加记录的运行图
3)删除记录的运行图(如图5-3所示)
图5-3删除记录的运行图