用C++开发系统的一个实例

上传人:艾力 文档编号:53482295 上传时间:2018-09-01 格式:PPT 页数:66 大小:798KB
返回 下载 相关 举报
用C++开发系统的一个实例_第1页
第1页 / 共66页
用C++开发系统的一个实例_第2页
第2页 / 共66页
用C++开发系统的一个实例_第3页
第3页 / 共66页
用C++开发系统的一个实例_第4页
第4页 / 共66页
用C++开发系统的一个实例_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《用C++开发系统的一个实例》由会员分享,可在线阅读,更多相关《用C++开发系统的一个实例(66页珍藏版)》请在金锄头文库上搜索。

1、用C+编程语言开发系统 一个实现例子 详讲,学校:广东药学院 学院:信息工程学院 班级:医药软件08 学生:李华鑫 日期:2010年10月份制,QQ:764796723 手机:13423604735 短号:654735,问:C+开发系统真的很难吗?真的很高深吗?,回答是:1.说难不难,说容易不容易!2.“天下是有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。”,开发系统所具备的条件,C语言的基本功一定要扎实; 有关数据库的操作要熟悉;(懂SQL语言的最好不过,即使不懂SQL语言也没关系,因为创建数据库还可以通过可视化操作来进行,只是效

2、率低一点!) 要保持清醒的头脑;(脑子不要懜!) 要有耐心; 要有一种“化整为零”的思想在脑子里。,好了,开场白结束了, 下面进入正题开发系统的 步骤!,第一步:构想系统最终的效果蓝图 下面是以一个类似于图书馆管理系统,学生教师管理系统,仓库管理系统为例子的详讲。,登录界面:登录进去的第一个主界面:,一个系统所有的功能,我们要把它“化整为零”,分为几个部分上主要功能,我们可以用菜单栏的形式来表达出来:,下面是详讲各个主功能的子功能,(一)基本信息管理,1.客户信息管理:,当我们单击“添加”按钮时,要出现一个添加信息的对话框:,当我们单击“修改”按钮时,要出现一个修改信息的对话框:,(一)基本信

3、息管理,2.仓库信息管理:,当我们单击“添加”按钮时,要出现一个添加信息的对话框:,当我们单击“修改”按钮时,要出现一个修改信息的对话框:(很清楚,这个对话框和上一个是同一个对话框),(一)基本信息管理,3.用户信息管理:,当我们单击“添加”按钮时,要出现一个添加信息的对话框:(在此要注意,我们给admin用户类型来一个标记为“1”,其他都是“普通用户”标记为“2”)其他另外3个按钮没必要专门独立做一个框架,在此我们不搞那几个框架。,(一)基本信息管理,4.修改用户密码:,(一)基本信息管理,5.退出系统:在这里,退出系统也没必要专门独立搞一个对话框,只需要实现把应用程序关闭就OK了!,(二)

4、产品信息管理,1.产品类别管理:“添加”“修改”左右四个按钮要弹出一样对话框:,(二)产品信息管理,2.产品信息管理:,当我们单击“添加”按钮时,要出现一个添加信息的对话框:,当我们单击“修改”按钮时,要出现一个添加信息的对话框:(与上一个对话框同一个),(三)库存操作管理,1.入库操作:,当我们单击“添加”按钮时,要出现一个添加信息的对话框:,(三)库存操作管理,2.出库操作:,当我们单击“添加”按钮时,要出现一个添加信息的对话框:,(三)库存操作管理,3.库存清点:(注意:这里只是拿来给用户看的,为了数据库的安全着想,在此使用视图view存储过程,而不是表table),(四)库存警示管理,

5、1.数量报警:(注意:这里也是用到存储过程,为了数据库的安全着想),(四)库存警示管理,2.失效报警:(注意:这里也是用到存储过程,为了数据库的安全着想),(五)统计查询管理,1.产品入库统计表:(注意:这里也是用到存储过程,为了数据库的安全着想),(五)统计查询管理,2.库存产品统计一览表:(注意:这里也是用到存储过程,为了数据库的安全着想),(六)系统数据维护,1.备份数据库; 2.恢复数据库。(这2个功能对于开发者来讲没什么大不了,因为开发者可以直接在数据库里进行操作;但是对于不懂计算机的用户来说,数据库的备份和恢复都非常重要。因此我们要为用户提供一个简便易懂的按钮来实现数据库的维护!)

6、,一个系统项目的功能蓝图就这样我们构思好了! (要说明的一点是,你可以用铅笔在图纸上自己进行粗略的勾画,要相信“好记性不如烂笔头”。在后面的n多个对话框有联系的时候,要给各个对话框进行ID标号也即是标明不同的ID号,如果你不用图纸写好标记好,你会很容易忘记究竟哪个是哪个,哪里是哪里!小项目是这样,大项目更需要这样!),我们数一下以上的对话框,总共要创建不重复的总共有23个对话框。对话框之间有很多都是有联系的,实践中发现很多的对话框的操作都是千篇一律类似的!,为了不占用蔡老师太多的宝贵时间,我决定下面详细讲解“登陆界面”的一个典型例子,其他的都是在此基础上模仿的。“放之四海而皆准”“万变不离其宗

7、”!,系统开发进入第二步,创建数据库 建表 建视图,创建数据库,打开SQL Sever 2005 连接登录,单击“新建查询” 进入SQL代码编辑区敲好代码,选中CREATE DATABASE Stock GO 接着按下“Alt+X”或者点菜单栏左上角的“执行” !就这样一个数据库“Stock”被创建了!创建表:在每次创表或者建立视图前先用一下已经创建的数据库Stock USE Stock GO CREATE TABLE Client(Cid int PRIMARY KEY IDENTITY,Cname varchar(50) NOT NULL,Ctype tinyint,Contact var

8、char(30),Address varchar(50),Postcode varchar(10),Phone varchar(30),Fax varchar(30),Memo varchar(100) GO,为了节省时间,方便给大家数据库的创建,我已经专门把写好了数据库创建的代码放在txt记事本里,需要的同学自己来Ctrl+CCtrl+V。,值得注意点的是,为了兼容市面上的数据库,有2000、2005、2008、2010版本的,要在创建完数据库以后执行以下语句: EXEC sp_dbcmptlevel Stock,80 GO 或者 ALTER DATABASE Stock SET COMPA

9、TIBILITY_LEVEL = 80 GO (注意:“80”意思是兼容到2000版本的),系统开发进入第三步,打开C+2005,新建一个Visual C+ MFC 应用程序:,MFC(Microsoft Foundation Classes),是一个微软公司提供的类库,以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。,一.先搞好前面的23个对话框架,视图其他窗口资源视图 在右端的树形结构目录看到这样画面:右击对话框“Dialog”添加好前面的23个对

10、话框,登陆界面的框架的创建,点开“工具箱”,在空白对话框上添加编辑框 以及静态说明 和按钮 添加完以后最终效果图:其中密码编辑框中出现6个圆点,是可以在编辑框的右击选择属性,在属性窗口中选择password类型的,很自然就会出现6个圆点了!同学们,编程是不是超级简单呢?我是要让大家知道原来C+编程还可以这样玩的!因为这是组件“COM”Component Objects Model 组件对象模型,简称COM,其他22个对话框也相类似这样创建出来,这一点希望大家找一些C+组件COM的使用方法,这里不做详细讲解,时间有限! 再创建2个对话框:我们把“登陆界面”添加一个类“LoginDlg”,“用户管

11、理”添加一个类“UserManDlg”,“编辑用户信息”添加一个类“UserEditDlg”,添加问以后会相应地出现.h头文件和.cpp文件,头文件拿来声明变量、函数.cpp用来实现功能!,完成了以后会出现以下一堆头文件和实现文件:,好,下面正式进入代码编辑区域,注意放长眼镜,睁大眼睛看好这中心一环节!(大家都知道.h文件一般是拿来声明、初始化用的,真正实现功能的是在.cpp文件,下面的我讲述的就是.cpp文件,在.ccp文件中用到的变量我已经在.h文件里声明过了,所以大家看到了“无中生有”的变量不要惊讶,我都已经声明过了!),我们回到“登陆界面”那个框架:void CLoginDlg:OnO

12、K() /将对话框中编辑框的数据读取到成员变量中UpdateData(TRUE);/检查数据有效性if (m_UserName = “)MessageBox(“请输入用户名,否则出错!“);return;if (m_Pwd = “)MessageBox(“请输入密码“);return;/定义CUsers对象,用于从表Users中读取数据CUsers user;user.GetData(m_UserName);/如果读取的数据与用户输入数据不同,则返回if (user.GetPwd() != m_Pwd)MessageBox(“用户信息不正确,无法登录!“);return;/关闭对话框 CDia

13、log:OnOK(); ,我们看看一下“登陆界面”所用到的头文件 就知道我们使用到Users里面的一些函数, 里面有很多构造好的函数提供别的文件调用。 int CUsers:HaveName(CString cUserName) /连接数据库ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/设置SELECT语句_bstr_t vSQL;vSQL = “SELECT * FROM Users WHERE UserName=“ + cUserName + “;/执行SELECT语句_RecordsetPtr m_pRecordset;m_pRecordset

14、 = m_AdoConn.GetRecordSet(vSQL);if (m_pRecordset-adoEOF)return -1;elsereturn 1;/断开与数据库的连接m_AdoConn.ExitConnect(); ,什么叫做ADO?,微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB(Object Linking and Embedding),对象连接与嵌入,简称OLE技术的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候

15、,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。,C:Program FilesCommon FilesSystemadomsado15.dll,什么是_bstr_t?,_bstr_t类封装BSTR有趣的地方就是它的封装方式有点类似于智能指针,又有点像COM管理生存期的方式。_bstr_t将两者结合起来并具体体现在构造函数、赋值函数和析构函数中。 _variant_t(变体,不同的)和_bstr_t这两个类分别封装并管理VARIANT和BSTR这两种数据类型,VARIANT和BSTR这两种类型是COM中使用的数据类型。为了C+中的变量应用到ADO

16、编程中,只能进行数据类型的转换。 通过_variant_t和_bstr_t这两个类,就可以方便的把C+类型变量转换成COM中的变量了。其他类型转换成_bstr_t可以直接赋值。 ,CUsers:CUsers() UserName = “;Pwd = “;User_type = 0; CUsers:CUsers() CString CUsers:GetUserName() return UserName; void CUsers:SetUserName(CString cUserName) UserName = cUserName; CString CUsers:GetPwd() return Pwd;void CUsers:SetPwd(CString cPwd) Pwd = cPwd; int CUsers:GetUser_type() return User_type; void CUsers:SetUser_type(int iUser_type) User_type = iUser_type; ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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