已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VFP课程设计设计人员:康艳,刘露露,刘艳红,杨柳,吴晶晶,邹敏1.系统设计目标该系统的具体任务就是设计一个家电行业个体户的管理系统,由计算机代替人工执行一系列诸如仓库管理,名片管理,销售发票的管理等操作。这样就有效解决了个体户管理混乱的问题,使日常销售程序化、有理化、自动化,从而达到提高个体户经营效率的目的。设计的指导思想是一切为用户着想,界面要美观大方,操作尽量简单方便,而且作为一个实用的应用程序要有很好的容错性,在用户出现错误操作时能尽量及时给出提示,以便用户及时更正。2.开发和运行环境开发工具:Visual FoxPro 6.0 运行环境:Windows 2007 、Windows 2000、Windows XP3.系统功能 系统数据初始化仓库信息的添加 仓库信息的修改 仓库信息的删除 名片信息的添加 名片信息的修改 名片信息的删除 仓库信息报表浏览 仓库信息报表打印 名片报表浏览 密码修改 4.系统功能模块结构图 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、修改。在系统功能分析的基础上,考虑Visual FoxPro 6.0程序编制的特点,得到如下所示的系统功能模块结构图。欢迎登陆主界面仓库记录查询仓库记录添加仓库记录修改名片记录查询名片记录添加名片记录修改销售单据报表浏览打印密码设置退出系统按仓库浏览报表按仓库打印报表按品牌浏览报表按品牌打印报表按类型浏览报表按类型打印报表名片报表浏览 系统功能模块结构图6.数据库表设计结构 (1)仓库表如下:设计过程如下(2)名片表结构如下设计过程如下(3)发票表结构如下设计过程如下(4)密码表结构如下 7.主要模块的设计说明和程序代码主程序代码set talk offset stat offset dele onset safe offset default to f:软件vfp2do form f:软件vfp2欢迎欢迎界面登陆界面 在该表单的数据环境中添加mm表,使其与mm内设置的用户名和密码联系。“确定”按钮的“click”事件中添加代码如下:public 用户set exact onx1=allt(thisform.text1.value)x2=allt(thisform.text2.value)locate for allt(密码表.姓名)=x1 if !found() k= messageb(该用户不存在,请重新输入!,1+32+0,友情提示) if k=1 thisform.text1.value= thisform.text1.setfocus endif else yh=allt(thisform.text1.value) if alltr(密码表.密码)=alltr(thisform.text2.value) messageb(登录成功,欢迎使用!) thisform.release do form 主界面.scx else k=messageb(密码有误,请重新输入!,1+32+256,警告) if k=1 thisform.text2.value= thisform.text2.setfocus endif endif endif退出”按钮的“click”事件中添加代码如下:x=messagebox(确认退出系统吗?,1+32+256,友情提示)if x=1 thisform.release clear events else thisform.text1.value= thisform.text1.setfocusendif 系统主界面销售单据”按钮的“click”事件代码如下:do form 销售单据.scx密码设置”按钮的“click”事件代码如下:do form 密码设置.scx仓库查询记录”按钮的“click”事件代码如下:do form 查询记录.scx仓库记录添加”按钮的“click”事件代码如下:do form 记录添加.scx仓库记录修改”按钮的“click”事件代码如下:do form 记录修改.scx名片记录查询”按钮的“click”事件代码如下do form 记录查询修改.scx名片记录添加”按钮的“click”事件代码如下do form 记录添加.scx仓库记录修改”按钮的“click”事件代码如下do form 记录修改.scx报表浏览打印”按钮的“click”事件代码如下do form 报表浏览打印.scx “退出系统”按钮的“click”事件代码如下:x=messagebox(确认退出系统吗?,1+32+256,确认退出)if x=1 thisform.release clear eventsendif密码修改表单中“密码保存”命令按钮的“click”事件代码如下:public 密码表locate for alltr(密码表.姓名)=姓名 if alltr(密码表.密码)alltr(thisform.text1.value) messageb(原密码有误,请重新输入!) thisform.text1.value= thisform.text1.setfocus returnelse if alltr(thisform.text2.value)alltr(thisform.text3.value) messageb(新密码输入不一致,请重新输入!) thisform.text2.value= thisform.text3.value= thisform.text2.setfocus return else replace密码表.密码 with alltr(thisform.text2.value) messageb(密码修改成功 ,请您记好新密码!) thisform.release endifendif“返回主界面”按钮的“click”事件代码为:do form 主界面.scx查询记录(以仓库信息查询为例)对于仓库中的一些货物,有时需要按照型号、类型、品牌、仓库来查找对应的库存。该表单只需在选项按钮组中选择需要的查找方式,然后在文本框中输入查询条件,单击“查询”按钮就可以在表格中找到对应的记录。在该表单的数据环境中添加“ck”表。“查询”按钮的“click”事件中添加的代码如下:do case*选择按型号查询后的语句case thisform.optiongroup1.value=1 sele ck locate for alltr(ck.xh)=alltr(thisform.text1.value) if found() sele all pp as 品牌,lx as 类型,xh as 型号,sl as 数量,ck as 仓库,jhrq as 进货日期,bz as 备注; from ck order by 3 ; where alltr(ck.xh)=alltr(thisform.text1.value) into cursor temp with thisform.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=备注 endwith thisform.refresh thisform.grid1.setfocus else k=messageb(该型号无记录,请重新输入!,1+32+0,友情提示) if k=1 thisform.text1.value= thisform.text1.setfocus endif endif*选择按类型查找代码case thisform.optiongroup1.value=2sele ck locate for alltr(ck.lx)=alltr(thisform.text1.value) if found() sele all pp as 品牌,lx as 类型,xh as 型号,sl as 数量,ck as 仓库,jhrq as 进货日期,bz as 备注; from ck order by 2 ; where alltr(ck.lx)=alltr(thisform.text1.value) into cursor temp1 with thisform.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=备注 endwith thisform.refresh thisform.grid1.setfocus else k=messageb(该类型无记录,请重新输入!,1+32+0,友情提示) if k=1 thisform.text1.value= thisform.text1.setfocus endif endif*选择按品牌查找的代码 case thisform.optiongroup1.value=3 sele ck locate for alltr(ck.pp)=alltr(thisform.text1.value) if found() sele all pp as 品牌,lx as 类型,xh as 型号,sl as 数量,ck as 仓库,jhrq as 进货日期,bz as 备注; from ck order by 1 ; where alltr(ck.pp)=alltr(thisform.text1.value) into cursor temp2 with thisform.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=备注 endwith thisform.refresh thisform.grid1.setfocus else k=messageb(该品牌无记录,请重新输入!,1+32+0,友情提示) if k=1 thisform.text1.value= thisform.text1.setfocus endif endif*选择按仓库查找的代码 case thisform.optiongroup1.value=4 sele ck locate for alltr(ck.ck)=alltr(thisform.text1.value) if found() sele all pp as 品牌,lx as 类型,xh as 型号,sl as 数量,ck as 仓库,jhrq as 进货日期,bz as 备注; from ck order by 5 ; where alltr(ck.ck)=alltr(thisform.text1.value) into cursor temp3 with thisform.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=备注 endwith thisform.refresh thisform.grid1.setfocus else k=messageb(该仓库无记录,请重新输入!,1+32+0,友情提示) if k=1 thisform.text1.value= thisform.text1.setfocus endif endif endcase返回主界面”命令按钮的“click”事件中添加代码如下:do form 主界面.scx 退出系统”命令按钮的“click”事件中添加代码如下:quit添加记录(以仓库记录添加为例)商家在进货后需要在系统中添加记录,该表单用于向仓库表中添加内容,使仓库表可以随着进货的产品不断添加。表单中“添加”按钮的“click”事件添加代码如下:if empty(alltrim(thisform.text3.value)messagebox(型号不能为空,48,错误)thisform.text3.setfocus &如果未填写型号,则出现对话框提醒用户型号不能为空else*获取各输入值pp1=alltrim(thisform.text1.value)lx1=alltrim(thisform.text2.value)xh1=alltrim(thisform.text3.value)sl1=val(alltrim(thisform.text4.value)ck1=alltrim(thisform.text5.value)jhrq1=ctod(alltrim(thisform.text6.value)bz1=alltrim(thisform.text7.value)insert into ck value(pp1,lx1,xh1,sl1,ck1,jhrq1,bz1) messagebox(添加成功!,48,信息)*添加完毕后清空各个文本框 thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text4.value= thisform.text5.value= thisform.text6.value= thisform.text7.value=endif“取消”命令按钮的“click”事件中添加代码如下:thisform.text1.value= thisform.text2.value= thisform.text3.value= thisform.text4.value= thisform.text5.value= thisform.text6.value=thisform.text7.value=返回主界面”命令按钮的“click”事件中添加代码如下:do form 主界面.scx 退出系统”命令按钮的“click”事件中添加代码如下:quit记录修改(以仓库记录修改为例) 仓库中的货物会有所变动,如数量的减少和增加,仓库的改变等。单击该表单的导航条(“第一个”,“前一个”,“下一个”,“最后一个”)可以逐条定位查找,如果要根据型号修改对应信息,可以直接在“输入需查找的型号”下的文本框中输入型号,如果没有找到,系统会给出提示信息。该表单同时也可以完成记录的删除任务,便于及时清除仓库表中数量为零的记录。在该表单的数据环境中添加“ck”,将各文本框的controlsource 属性设置为在“ck”中对应字段,这样便完成了与“ck”的信息绑定。在“查找”按钮的“click”事件中添加代码如下:set order to 型号seek alltrim(thisform.text8.value)if !found()messagebox(该型号不存在,48,错误)go topendifthisform.text8.value=thisform.refresh在“删除该记录”的“click”事件代码中添加代码如下:nAnswer=messagebox(确定要删除吗?,36,信息)if nAnswer=6thisform.dataenvironment.closetables(ck)use ck exclusivedelete from ck where xh=alltrim(thisform.text3.value)packusethisform.dataenvironment.opentables(ck)thisform.refreshendif导航条中“第一个”按钮的“click”事件代码如下:goto topthis.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.t.thisform.refresh“前一个”按钮的“click”事件代码如下:skip -1if bof()messagebox(已是第一条记录,48,信息窗口)mand1.enabled=.mand2.enabled=.mand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.t.thisform.refresh“下一个”按钮的“click”事件代码如下:skipif eof()messagebox(已是最后一条记录,48,信息窗口)skip -1mand3.enabled=.mand4.enabled=.mand3.enabled=.mand4.enabled=.mand1.enabled=.mand2.enabled=.t.thisform.refresh“最后一个”按钮的“click”事件代码如下:goto mand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.f.thisform.refresh报表浏览主界面report form 按仓库浏览报表.frxreport form 按品牌浏览报表.frxreport form 按类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 李爱卿企业财务会计期中试题教案(2025-2026学年)
- 初中班主任开学第一课教案(2025-2026学年)
- 安规标准培训教案
- 托班好吃的芝麻糖健康教案(2025-2026学年)
- 中药学第十九章活血化瘀药教案
- 高一物理人教版必修太阳行星间的引力教案(2025-2026学年)
- 教科版小学语文五年级上册春夜喜雨教案(2025-2026学年)
- 我爱这土地九年级语文上册教案
- 第一单元《准》单元复习一年级数学上册人教版教案
- 幼儿园中班体育游戏详案鱼儿戏水教案
- 2025年山东省饲料兽药工程职称考试(畜禽废弃物资源化利用及无害化处理专业·初、中级)历年参考题库含答案详解(5卷)
- 医保网络安全知识培训课件
- 中国心肌病综合管理指南(2025)解读 3
- 地月VLBI关键技术-洞察及研究
- 2025年中医美容试题及答案
- 工行加强印章管理办法
- 夜床服务说课课件
- 农用无人机技术培训课件
- 青年创业培训讲义课件
- 医院电话客服培训
- (高清版)DB34∕T 1267-2025 造林技术规程
评论
0/150
提交评论