您好,欢迎访问三七文档
VFP课程设计设计人员:康艳,刘露露,刘艳红,杨柳,吴晶晶,邹敏1.系统设计目标该系统的具体任务就是设计一个家电行业个体户的管理系统,由计算机代替人工执行一系列诸如仓库管理,名片管理,销售发票的管理等操作。这样就有效解决了个体户管理混乱的问题,使日常销售程序化、有理化、自动化,从而达到提高个体户经营效率的目的。设计的指导思想是一切为用户着想,界面要美观大方,操作尽量简单方便,而且作为一个实用的应用程序要有很好的容错性,在用户出现错误操作时能尽量及时给出提示,以便用户及时更正。2.开发和运行环境开发工具:VisualFoxPro6.0运行环境:Windows2007、Windows2000、WindowsXP3.系统功能系统数据初始化仓库信息的添加仓库信息的修改仓库信息的删除名片信息的添加名片信息的修改名片信息的删除仓库信息报表浏览仓库信息报表打印名片报表浏览密码修改4.系统功能模块结构图系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、修改。在系统功能分析的基础上,考虑VisualFoxPro6.0程序编制的特点,得到如下所示的系统功能模块结构图。系统功能模块结构图欢迎登陆主界面仓库记录查询仓库记录添加仓库记录修改名片记录查询名片记录添加名片记录修改销售单据报表浏览打印密码设置退出系统按仓库浏览报表按仓库打印报表按品牌浏览报表按品牌打印报表按类型浏览报表按类型打印报表名片报表浏览6.数据库表设计结构(1)仓库表如下:设计过程如下(2)名片表结构如下设计过程如下(3)发票表结构如下设计过程如下(4)密码表结构如下7.主要模块的设计说明和程序代码主程序代码settalkoffsetstatoffsetdeleonsetsafeoffsetdefaulttof:\软件\vfp2doformf:\软件\vfp2\欢迎欢迎界面登陆界面在该表单的数据环境中添加mm表,使其与mm内设置的用户名和密码联系。“确定”按钮的“click”事件中添加代码如下:public用户setexactonx1=allt(thisform.text1.value)x2=allt(thisform.text2.value)locateforallt(密码表.姓名)==x1if!found()k=messageb(该用户不存在,请重新输入!,1+32+0,友情提示)ifk=1thisform.text1.value=thisform.text1.setfocusendifelseyh=allt(thisform.text1.value)ifalltr(密码表.密码)==alltr(thisform.text2.value)messageb(登录成功,欢迎使用!)thisform.releasedoform主界面.scxelsek=messageb(密码有误,请重新输入!,1+32+256,警告)ifk=1thisform.text2.value=thisform.text2.setfocusendifendifendif退出”按钮的“click”事件中添加代码如下:x=messagebox('确认退出系统吗?',1+32+256,'友情提示')ifx=1thisform.releasecleareventselsethisform.text1.value=thisform.text1.setfocusendif系统主界面销售单据”按钮的“click”事件代码如下:doform销售单据.scx密码设置”按钮的“click”事件代码如下:doform密码设置.scx仓库查询记录”按钮的“click”事件代码如下:doform查询记录.scx仓库记录添加”按钮的“click”事件代码如下:doform记录添加.scx仓库记录修改”按钮的“click”事件代码如下:doform记录修改.scx名片记录查询”按钮的“click”事件代码如下doform记录查询修改.scx名片记录添加”按钮的“click”事件代码如下doform记录添加.scx仓库记录修改”按钮的“click”事件代码如下doform记录修改.scx报表浏览打印”按钮的“click”事件代码如下doform报表浏览打印.scx“退出系统”按钮的“click”事件代码如下:x=messagebox('确认退出系统吗?',1+32+256,'确认退出')ifx=1thisform.releasecleareventsendif密码修改表单中“密码保存”命令按钮的“click”事件代码如下:public密码表locateforalltr(密码表.姓名)=姓名ifalltr(密码表.密码)alltr(thisform.text1.value)messageb(原密码有误,请重新输入!)thisform.text1.value=thisform.text1.setfocusreturnelseifalltr(thisform.text2.value)alltr(thisform.text3.value)messageb(新密码输入不一致,请重新输入!)thisform.text2.value=thisform.text3.value=thisform.text2.setfocusreturnelsereplace密码表.密码withalltr(thisform.text2.value)messageb(密码修改成功,请您记好新密码!)thisform.releaseendifendif“返回主界面”按钮的“click”事件代码为:doform主界面.scx查询记录(以仓库信息查询为例)对于仓库中的一些货物,有时需要按照型号、类型、品牌、仓库来查找对应的库存。该表单只需在选项按钮组中选择需要的查找方式,然后在文本框中输入查询条件,单击“查询”按钮就可以在表格中找到对应的记录。在该表单的数据环境中添加“ck”表。“查询”按钮的“click”事件中添加的代码如下:docase**选择按型号查询后的语句casethisform.optiongroup1.value=1selecklocateforalltr(ck.xh)==alltr(thisform.text1.value)iffound()seleallppas品牌,lxas类型,xhas型号,slas数量,ckas仓库,jhrqas进货日期,bzas备注;fromckorderby3;wherealltr(ck.xh)==alltr(thisform.text1.value)intocursortempwiththisform.grid1.recordsourcetype=1.recordsource=temp.columncount=7.column1.header1.caption=品牌.column2.header1.caption=类型.column3.header1.caption=型号.column4.header1.caption=数量.column5.header1.caption=仓库.column6.header1.caption=进货日期.column7.header1.caption=备注endwiththisform.refreshthisform.grid1.setfocuselsek=messageb(该型号无记录,请重新输入!,1+32+0,友情提示)ifk=1thisform.text1.value=thisform.text1.setfocusendifendif**选择按类型查找代码casethisform.optiongroup1.value=2selecklocateforalltr(ck.lx)==alltr(thisform.text1.value)iffound()seleallppas品牌,lxas类型,xhas型号,slas数量,ckas仓库,jhrqas进货日期,bzas备注;fromckorderby2;wherealltr(ck.lx)==alltr(thisform.text1.value)intocursortemp1withthisform.grid1.recordsourcetype=1.recordsource=temp1.columncount=7.column1.header1.caption=品牌.column2.header1.caption=类型.column3.header1.caption=型号.column4.header1.caption=数量.column5.header1.caption=仓库.column6.header1.caption=进货日期.column7.header1.caption=备注endwiththisform.refreshthisform.grid1.setfocuselsek=messageb(该类型无记录,请重新输入!,1+32+0,友情提示)ifk=1thisform.text1.value=thisform.text1.setfocusendifendif**选择按品牌查找的代码casethisform.optiongroup1.value=3selecklocateforalltr(ck.pp)==alltr(thisform.text1.value)iffound()seleallppas品牌,lxas类型,xhas型号,slas数量,ckas仓库,jhrqas进货日期,bzas备注;fromckorderby1;wherealltr(ck.pp)==alltr(thisform.text1.value)intocursortemp2withthisform.grid1.recordsourcetype=1.recordsource=temp2.columncount=7.column1.header1.caption=品牌.column2.header1.caption=类型.column3.header1.caption=型号.column4.header1.caption=数量.column5.header1.caption=仓库.column6.header1.caption=进货日期.column7.header1.caption=备注endwiththisform.refreshthisform.grid1.setfocuselsek=messageb(该品牌无记录,请重新输入!,1+32+0,友情提示)ifk=1thisform.text1.value=thisform.text1.setfocusendifendif**选择按仓库查找的代码casethisform.optiongroup1.value=4selecklocateforalltr(ck.ck)==alltr(thisform.text1.value)iffound()seleallppas品牌,lxas类型,xhas型号,slas数量,ckas仓库,jhrqas进货日期,bzas备注;fromckorderby5;wherealltr(ck.ck)==alltr(thisform.text1.value)intocursortemp3withthisform.grid1.recordsourcetype=1.recordsource=temp3.columncount=7.column1.header1.caption=品牌.column2.header1.caption=类型.column3.header1.caption=型号.column4.header1.caption=数量.column5.header1.caption=仓库.column6.header1.caption=进货日期.column7.header1.caption=备注endwiththisform.refresh
本文标题:vfp课程设计报告
链接地址:https://www.777doc.com/doc-4010284 .html