ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:1.24MB ,
资源ID:10126457      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10126457.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(订货管理系统设计VFP设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

订货管理系统设计VFP设计.docx

1、订货管理系统设计VFP设计第1章 系统概述1.1 系统功能在社会经济发展,社会的信息化程度越来越高,中小企业在信息化的过程中担任了很重要的角色,其信息化速度也较快。另外随着企业的发展,其对信息化的要求也越来越高,使用信息化的管理手段将明显地减少管理的工作量,并使管理的过程规范化和自动化。因此有必要使用一个完整的系统来管理企业的各种信息数据。本说明书通过一个完整的小型订货管理系统来介绍如何定制及开发一个企业信息管理系统。本系统开发的总体任务是实现与订货相关的各种信息的系统化、规范化和自动化。系统主要完成的功能如下: 系统登录控制:必须使用特定的用户名和密码登录系统后才能使用。 产品信息管理:管理

2、订货中所使用的产品信息,可以浏览、增加、修改和删除产品信息。 客户信息管理:管理订货时客户的信息,可以浏览、增加、修改和删除客户信息。 订货信息管理:管理订货的信息,可以浏览、增加、修改和删除订货信息,在增加订货时需要使用的产品信息和客户信息必须首先通过产品信息管理和客户信息管理功能添加。 客户信息浏览:浏览系统中所有客户的信息,可以使用指定的关键字查询相应的客户,并且可以使用报表的形式将查询结果输出。 产品信息浏览:浏览系统中所有产品的信息,可以使用指定的关键字查询相应的产品,并且可以使用报表的形式将查询结果输出。 用户权限管理:实现简单的用户权限管理,普通用户仅能修改自己的密码,而管理员用

3、户可以添加、修改和删除用户。1.2 系统设计思想订货管理系统的主要目的是实现对订货信息的管理,然而规范的订货信息管理必然会涉及订货的客户,以及订货中所涉及的产品,因此在系统中需要添加客户信息管理和产品信息管理的功能。一个信息管理系统必然由一定的用户来操作,要保证信息管理系统中的信息正确,需要对能够操作系统的用户进行管理,因此在系统中添加了用户权限管理的功能。信息管理系统中管理各种信息的目的是在于日后能够对系统中的信息进行浏览、查询、输出的备份,因此系统中添加了信息浏览、备份等功能。因此,一个简单而完整的订货管理系统包含了信息管理、信息浏览和用户管理等功能。1.3 系统功能模块根据上述的系统功能

4、分析,得出如图1所示的系统功能模块图。图1系统功能模块图第2章 数据库设计2.1 数据库需求分析数据库在一个管理系统中占有非常重要的地位,设计的好坏将直接对应用系统的效率以及实现产生影响。本系统中用户的需求具体体现在各种信息的提供、保存和查询,这就要求数据库结构能充分满足各种信息的输入和输出。因此,本系统的需求信息为: 订货信息涉及产品信息和客户信息。 产品信息和客户信息中需要存在惟一的字段。 产品信息和客户信息可以进行信息的模糊查询。 产品信息、客户信息和订货信息可以增加、删除、修改和打印输出。 用户信息的用户名必须是惟一的以及包含权限信息。综合上述的系统功能分析和需求分析,设计如下的数据结

5、构: 产品信息,包含编号、品名、单位、单价、产地、说明等。 客户信息,包含编号、名称、联系人、电话、地址等。 订货信息,包含订货编号、产品编号、产品数量、客户编号、电话、送货地址、订货日期、说明等。 用户信息,包含账号、密码、姓名、部门、权限等2.2 数据库结构设计根据上面的分析,就设计出能满足用户需求的各种实体,以及它们之间的关系。设计出的实体有:订货信息实体、客户信息实体、产品信息实体和用户信息实体。各个信息实体具体的描述ER图如下。产品信息、客户信息和订货信息实体之间关系的ER图如图2所示。图2实体之间关系的ER图订货信息实体的ER图如图3所示。图3订货信息实体的ER图产品信息实体的ER

6、图如图4所示。图4产品信息实体的ER图客户信息实体的ER图如图5所示。图5客户信息实体的ER图用户信息实体的ER图如图6所示。图6用户信息实体的ER图2.3 数据表结构设计Visual FoxPro开发时可以直接使用自带的数据库,订货管理系统中使用的各个数据表的字段设置如下。用户信息(UserInfo)的字段设置如表1所示。表1用户信息表(UserInfo)字段名类 型宽 度是否为空默认值说 明账号字符型10否主索引字段密码字符型10否姓名字符型8是部门字符型10是管理逻辑型1否.F.账号管理权限产品信息表(ProductInfo)的字段设置如表2所示。表2产品信息表(ProductInfo)

7、字段名类 型宽 度小数位数索 引是否为空编号字符型8主索引否品名字符型30否单位字符型4否单价数值型81位小数否类别字符型10否产地字符型10是说明字符型40是订货信息表(OrderInfo)的字段设置如表3所示。表3订货信息表(OrderInfo)字段名类 型宽 度小数位数索 引是否为空订货编号字符型8主索引否产品编号字符型8普通索引否产品名称字符型30否产品单价数值型81位小数否产品数量数值型6否订货总额数值型101位小数是客户编号字符型8普通索引客户名称字符型30下单日期日期型8送货地址字符型30联系人字符型8联系电话字符型20备注字符型20客户信息表(ClientInfo)的字段设置如

8、表4所示。表4客户信息表(ClientInfo)字段名类 型宽 度小数位数索 引是否为空编号字符型8主索引否名称字符型30否联系人字符型8否地址字符型30否电话字符型20否说明字符型30是第3章 可视化类及系统主表单3.1 可视化类在系统中要多次使用移动记录工具栏和命令按钮工具栏,每个表单都各做是很繁琐的。因此,创建可视化类可以减小工作量,又能保证风格的统一。移动记录工具栏可视类的效果如图7所示。图7 移动记录工具栏 移动记录工具栏类中的4个按钮是根据表单记录指针的位置不同,禁用或者启用不同的按钮,具体为: 数据表为空或者只有一条记录,禁用4个按钮。 记录指针位于数据表开始,禁用“首记录”和“

9、上一个”按钮。 记录指针位于数据表末尾,禁用“末记录”和“下一个”按钮。 记录指针位于数据表中部,启用4个按钮。移动记录工具栏类的Refresh事件代码:-*如果数据表为空或者只有一条记录IF BOF() .AND. EOF() .OR. RECCOUNT()=1 THIS.Cmdtop.ENABLED=.F. THIS.Cmdpre.ENABLED=.F. THIS.Cmdnxt.ENABLED=.F. THIS.Cmdbtm.ENABLED=.F.ENDIF*如果在记录指针在数据表的末尾IF RECNO()=RECCOUNT() .OR. EOF() THIS.Cmdtop.ENABLED

10、=.T. THIS.Cmdpre.ENABLED=.T. THIS.Cmdnxt.ENABLED=.F. THIS.Cmdbtm.ENABLED=.F.ELSE*如果记录指针在数据表的首部 IF RECNO()=1 .OR. BOF() THIS.Cmdtop.ENABLED=.F. THIS.Cmdpre.ENABLED=.F. THIS.Cmdnxt.ENABLED=.T. THIS.Cmdbtm.ENABLED=.T. ELSE*如果记录指针不在数据表的首部也不在尾部 THIS.Cmdtop.ENABLED=.T. THIS.Cmdpre.ENABLED=.T. THIS.Cmdnxt.

11、ENABLED=.T. THIS.Cmdbtm.ENABLED=.T. ENDIFENDIF-命令按钮工具栏类的效果如图8所示。图8 移动记录工具栏命令按钮工具栏类,由于在表单中创建可视类的对象后,类中的各个按钮的操作对象不同,所以代码要在创建可视类的对象后再添加。3.2 系统主表单本系统中使用.PRG程序作为主程序,由该程序设置运行的环境,并调用系统登录表单。登录通过后显示Logon表单,然后才是系统主菜单,再由系统主菜单调用其他表单来完成系统提供的各个功能。系统主程序代码:-*系统环境设置CLEAR & 清屏CLEAR ALL & 从内存中释放所有的内存变量SET ESCAPE OFF &

12、 禁止运行的程序在按ESC键被中断SET TALK OFF & 关闭命令显示SET SAFETY OFF & 覆盖时不要确认SET STAT BAR OFF & 将状态栏关闭SET SYSMENU OFF & 可关掉VFP系统菜单区域SET SYSMENU TO & 关闭系统菜单SET CENTURY ON & 显示四位年代SET DATE ANSI & 指定日期表达式的显示格式为yy.mm.dd*避免多次运行程序*声明API函数“FindWindow”DECLARE Integer FindWindow IN USER32.DLL String lpClassName,String lpWi

13、ndowNamelpWindowName=订货管理系统IF .NOT. FindWindow(0,lpWindowName)=0 &寻找窗口标题 =MESSAGEBOX(程序已经运行了,48,订货管理系统) QUIT ENDIF_Screen.Caption=lpWindowName*声明全局变量PUBLIC cUser,IsAdmin & 声明全局变量,用来保存系统中的登录用户*调用登录表单DO FORM Logon & 显示登录表单*进入事物处理READ EVENTS & 进入事务处理QUIT & 退出Visual FoxPro-系统主表单是一个状态控件其作用是作为程序主窗口、装载主菜单、

14、装载状态栏。系统主表单在初始化时,需要调用系统主菜单,然后将登录用户的用户名显示在状态栏中。系统主表单的Init事件代码:-*调用系统主菜单DO Main.MPR WITH This*显示当前登录用户THISFORM.OLEcontrol1.Panels(2).Text=CUser*刷新表单THISFORM.Refresh-系统主菜单的结构如表5所示。系统中的所有信息管理、浏览功能都是通过系统主表单中的菜单调用的,系统中实现的简单用户权限管理也是通过菜单来实现的。表5系统主菜单结构菜单菜单项结果命令跳过条件系统数据备份命令do form databackup数据恢复命令do form data

15、restore-命令退 出命令Quit信息管理产品信息管理命令do form 产品管理客户信息管理命令do form 客户管理订货信息管理命令do form 订货管理信息浏览产品信息浏览命令do form 产品浏览 with cBrowse客户信息浏览命令do form 客户浏览 with cBrowse用户管理添加用户命令do form AdduserIsAdmin=.F.修改用户命令do form Setuser with cModifyIsAdmin=.F.删除用户命令do form Setuser with cDeleteIsAdmin=.F.修改密码命令do form Setpass

16、数据订货报表命令do .档案过程.prg订货总额命令do .订货总额.qpr关于关于命令do form 关于心灵感应命令do form 心灵感应第4章 用户管理模块用户管理模块包括系统登录、修改密码、修改和删除用户、添加用户5项功能,其中修改和删除用户功能是集成在一个表单中。有账号管理权限的用户登录系统后,才能执行修改用户、删除用户和添加用户功能。4.1 系统登录表单系统登录(Logon)表单如图9所示。在使用中如果用户名为空,则弹出“账号不能为空”对话框,等待输入;如果连续3次输入的账号或者密码错误,则弹出警告对话框后退出系统。账号和密码都正确,则将用户名存储在全局变量“Cuser”中,将用

17、户是否具有账号管理权限存储在全局变量“IsAdmin”中,退出系统登录表单,调用系统Logo表单。 “确定”按钮的Click事件代码:-*改为精确比较SET EXACT ON *试图登录次数自动加1THISFORM.i=THISFORM.i+1*选择“系统用户信息”表所在的工作区SELECT UserInfo*查找用户名LOCATE FOR ALLTRIM(账号)=ALLTRIM(THISFORM.txt账号.VALUE)*如果找到用户名IF FOUND() *如果密码正确 IF ALLTRIM(密码)=ALLTRIM(THISFORM.txt密码.VALUE) *将登录的用户名保存到全局变量

18、中 CUser=账号 IsAdmin=管理 *退出表单 THISFORM.RELEASE *调用系统Logo表单 DO FORM Logo ELSE *如果密码错误 *如果次数小于3 IF THISFORM.i3 MESSAGEBOX(密码错误,请重新输入,48,订货管理系统) THISFORM.txt账号.VALUE= THISFORM.txt密码.VALUE= THISFORM.txt账号.SETFOCUS ELSE *如果次数为3 MESSAGEBOX(用户名或者密码错误三次,系统无法启动,16,订货管理系统) *退出表单 THISFORM.RELEASE *结束事件循环 CLEAR E

19、VENTS *退出Visual FoxPro QUIT ENDIF ENDIFELSE IF THISFORM.i3 MESSAGEBOX(账号不存在,请重新输入,48,订货管理系统) THISFORM.txt账号.VALUE= THISFORM.txt密码.VALUE= THISFORM.txt账号.SETFOCUS ELSE MESSAGEBOX(账号或者密码错误三次,系统无法启动,16,订货管理系统) THISFORM.RELEASE &退出表单 CLEAR EVENTS &结束事件循环 QUIT &退出Visual FoxPro ENDIF ENDIF*改为模糊比较SET EXACT

20、OFF图9 系统登录表单账号、密码正确后进入到欢迎使用界面Logo表单如图10所示。该界面中显示程序的名称、制作人、版权等信息,并播放登录音乐。 图10 欢迎使用界面表单Logo表单的Init事件代码:-SET BELL ONSET BELL TO .MUSICwelcome.wav,2?CHR(7) “进入”按钮的Click事件代码:-*-调用“Mainform”表单DO FORM Mainform*-退出“logo”表单THISFORM.RELEASE()4.2 修改密码表单修改密码(SetPass)表单如图11所示。该表单是用来更改当前登录用户的密码。图11修改密码表单“确定”按钮的Cl

21、ick事件代码:-*声明本地变量,记录表单中输入情况LOCAL OK*默认是输入无误OK=.T.*比较方式为精确比较SET EXACT ON*检测表单中数据输入情况DO CASE *如果新密码为空CASE EMPTY(ALLTRIM(THISFORM.txt新密码.VALUE) .AND. EMPTY(ALLTRIM(THISFORM.txt确认密码.VALUE) MESSAGEBOX(新密码不能为空,48,订货管理系统) THISFORM.txt新密码.SETFOCUS OK=.F. *如果新密码与确认密码不一致 CASE ALLTRIM(THISFORM.txt新密码.VALUE) ALL

22、TRIM(THISFORM.txt确认密码.VALUE) MESSAGEBOX(新密码与确认密码不一致,48,订货管理系统) THISFORM.txt新密码.SETFOCUS OK=.F.ENDCASE*如果输入无误IF OK=.T. *检测原密码输入情况 SELECT USERINFOLOCATE FOR ALLTRIM(账号)=ALLTRIM(cuser) .AND. ALLTRIM(密码)=ALLTRIM(THISFORM.txt原密码.VALUE) *如果输入正确 IF FOUND() LOCAL NewPass NewPass=ALLTRIM(THISFORM.txt新密码.VALU

23、E) UPDATE USERINFO SET 密码=NewPass &修改密码 MESSAGEBOX(修改成功,64,订货管理系统) THISFORM.RELEASE ELSE *如果原密码错误 MESSAGEBOX(原密码错误,48,订货管理系统) THISFORM.txt原密码.SETFOCUS ENDIFENDIF*改为模糊比较SET EXACT OFF-4.3 修改和删除用户表单修改用户和删除用户(SetUser)表单如图12、图13所示。修改用户和删除用户功能是使用一个表单来完成的。因此,表单在接收到参数值后根据参数值来确定使用哪种功能,其不同点为表单标题和CmdOK按钮的初始标题。

24、CmdOK按钮有3种标题修改、确定和删除。 图12修改用户表单修改用户和删除用户(SetUser)表单的Init事件代码:-*声明参数,用来接收执行参数PARAMETERS cFormMode*将接到的参数值保存到表单属性中THISFORM.FormMode=cFormMode*如果参数值为“cModify”IF THISFORM.FormMode=cModify *表单作为“修改用户”表单 THISFORM.txt密码.Width=200 THISFORM.CmdOK.Caption=修改ELSE *表单作为“删除用户”表单 THISFORM.txt密码.Width=200 THISFORM.CmdOK.Caption=删除 THISFORM.CAPTION=删除用户ENDIF*表单进入浏览状态THISFORM.bModify=.F.THISFORM.ModeControl*刷新表单THISFORM.Refresh- “CmdOK”按钮的Click事件代码:-*当“确定”按钮的标题为“修改”时,如果单击该按钮IF THIS.CAPTION=修改 *表单进入修改状态 THIS

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1