VFP课程设计模板2.docx

上传人:b****6 文档编号:8673480 上传时间:2023-02-01 格式:DOCX 页数:20 大小:642.80KB
下载 相关 举报
VFP课程设计模板2.docx_第1页
第1页 / 共20页
VFP课程设计模板2.docx_第2页
第2页 / 共20页
VFP课程设计模板2.docx_第3页
第3页 / 共20页
VFP课程设计模板2.docx_第4页
第4页 / 共20页
VFP课程设计模板2.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

VFP课程设计模板2.docx

《VFP课程设计模板2.docx》由会员分享,可在线阅读,更多相关《VFP课程设计模板2.docx(20页珍藏版)》请在冰豆网上搜索。

VFP课程设计模板2.docx

VFP课程设计模板2

目录

一、需求分析

1)问题描叙……………………………………………….....4

2)功能及设计…………………………………………………4

3)程序要求…………………………………………………….4

二、总体设计

1)程序的模块组成…………………………………………….4

2)各模块的主要功能………………………………………….4

三、详细设计

1)相关数据类型………………………………………………5

2)设计流程图………………………………………................7

四、调试分析……………………………………………………….7

五、总结与体会…………………………………………………….8

六、源程序清单…………………………………………………….8

 

一、需求分析

1)问题描叙

设计一个库存商品查询系统,系统设计主要以查询功能为主,应提供多种方式的查询手段。

同时可具有添加、删除、修改记录信息的功能。

2)功能及设计

库存商品查询系统,可以供客户方便快捷的浏览库存商品情况,应具有以下功能:

库存商品查询

库存商品添加

库存商品修改

密码修改

3)程序要求

完成所需功能的程序代码。

二、总体设计

1)程序的模块组成

(1)欢迎界面

(2)用户登录界面

(3)系统主界面

(4)库存商品查询界面

(5)库存商品添加界面

(6)库存商品修改界面

(7)密码修改界面

2)各模块的主要功能

(1)欢迎界面:

“进入”

(2)用户登录界面:

“确定”,“退出”

(3)系统主界面:

“库存商品查询”,“库存商品添加”,“库存商品修改”,“密码修改”,“退出系统”

(4)库存商品查询界面:

“按货号查询”,“按物品名查询”,“按规格型号查询”,“按生产厂家查询”,“返回主界面”,“退出系统”

(5)库存商品添加界面:

“添加”,“取消”,“返回主界面”,“退出系统”

(6)库存商品修改界面:

“查找”,“第一个”,“前一个”,“下一个”,“最后一个”,“删除该记录”,“返回主界面”,“退出系统”

(7)密码修改界面:

“密码保存”,“返回主界面”

三、详细设计

1)相关数据类型

(1)kcb结构如下

图-3-1

图-3-2

(2)yhb结构如下

图-3-3

图-3-4

2)设计流程图

欢迎

用户登录

主界面

密码修改

库存商品修改

库存商品添加

库存商品查询

 

四、调试分析

在程序代码的调试中,不断运行程序发现错误,再改正错误。

五、总结与体会

在本次vfp课程设计中,大部分是运用已学的知识,首先对整个项目进行需

求分析,然后进行总体设计,再然后进行详细设计,在基本完成系统所有必须的功能后,最后进行程

序调试,校正错误。

在本次课程设计中遇到了许多问题,尤其是程序代码部分,然而通过问老师,和同学交流,查资料以及参考老师给的模板,用了一个星期左右的时间基本完成了课程设计。

值得高兴的是在本次设计中更加熟练的掌握了表单设计的过程,并了解了表单在软

件系统设计中的功能。

通过这次课程设计,我学到了很多关于这方面的知识,也得到了很多,不仅充分的将在书本中学到的知识运用到实践中,而且加强了自己的动手能力。

我会总结出这次课程设

计的所有成功与失败的经验与心得。

 

六、源程序清单

欢迎界面

图-6-1

在“进入”按钮中的“click”事件中添加如下代码:

doform用户登录

用户登录界面

图-6-2

在“确定”按钮中的“click”事件中添加如下代码:

publicyhm1,mm1

yhm1=trim(thisform.text1.value)

mm1=trim(thisform.text2.value)

setexacon

useyhb

locatfor用户名=yhm1and密码=mm1

iffound()

thisform.release

doform主界面.scx

else

messagebox("身份不对!

",16+0+0,"警告!

")

thisform.release

endif

在“退出”按钮中的“click”事件中添加如下代码:

x=messagebox('确认退出系统吗?

',1+32+256,'友情提示')

ifx=1

thisform.release

clearevents

else

thisform.text1.value=""

thisform.text1.setfocus

endif

主界面界面

图-6-3

在“库存商品查询”按钮中的“click”事件中添加如下代码:

doform库存商品查询.scx

在“库存商品添加”按钮中的“click”事件中添加如下代码:

doform库存商品添加.scx

在“库存商品修改”按钮中的“click”事件中添加如下代码:

doform库存商品修改.scx

在“密码修改”按钮中的“click”事件中添加如下代码:

doform密码修改.scx

在“退出系统”按钮中的“click”事件中添加如下代码:

thisform.release

clearevent

quit

库存商品查询界面

图-6-4

在“查询”按钮中的“click”事件中添加如下代码:

docase

**选择按货号查询代码

casethisform.optiongroup1.value=1

selekcb

locateforalltr(kcb.货号)==alltr(thisform.text1.value)

iffound()

seleall货号as货号,物品名as物品名,规格型号as规格型号,生产厂家as生产厂家,数量as数量,单价as单价;

fromkcborderby3;

wherealltr(kcb.货号)==alltr(thisform.text1.value)intocursortemp

withthisform.grid1

.recordsourcetype=1

.recordsource="temp"

.columncount=6

.column1.header1.caption="货号"

.column2.header1.caption="物品名"

.column3.header1.caption="规格型号"

.column4.header1.caption="生产厂家"

.column5.header1.caption="数量"

.column6.header1.caption="单价"

endwith

thisform.refresh

thisform.grid1.setfocus

else

k=messageb("该货号无记录,请重新输入!

",1+32+0,"友情提示")

ifk=1

thisform.text1.value=""

thisform.text1.setfocus

endif

endif

**选择按物品名查询代码

casethisform.optiongroup1.value=2

selekcb

locateforalltr(kcb.物品名)==alltr(thisform.text1.value)

iffound()

seleall货号as货号,物品名as物品名,规格型号as规格型号,生产厂家as生产厂家,数量as数量,单价as单价;

fromkcborderby2;

wherealltr(kcb.物品名)==alltr(thisform.text1.value)intocursortemp1

withthisform.grid1

.recordsourcetype=1

.recordsource="temp1"

.columncount=6

.column1.header1.caption="货号"

.column2.header1.caption="物品名"

.column3.header1.caption="规格型号"

.column4.header1.caption="生产厂家"

.column5.header1.caption="数量"

.column6.header1.caption="单价"

endwith

thisform.refresh

thisform.grid1.setfocus

else

k=messageb("该物品名无记录,请重新输入!

",1+32+0,"友情提示")

ifk=1

thisform.text1.value=""

thisform.text1.setfocus

endif

endif

**选择按规格型号查询代码

casethisform.optiongroup1.value=3

selekcb

locateforalltr(kcb.规格型号)==alltr(thisform.text1.value)

iffound()

seleall货号as货号,物品名as物品名,规格型号as规格型号,生产厂家as生产厂家,数量as数量,单价as单价;

fromkcborderby1;

wherealltr(kcb.规格型号)==alltr(thisform.text1.value)intocursortemp2

withthisform.grid1

.recordsourcetype=1

.recordsource="temp2"

.columncount=6

.column1.header1.caption="货号"

.column2.header1.caption="物品名"

.column3.header1.caption="规格型号"

.column4.header1.caption="生产厂家"

.column5.header1.caption="数量"

.column6.header1.caption="单价"

endwith

thisform.refresh

thisform.grid1.setfocus

else

k=messageb("该规格型号无记录,请重新输入!

",1+32+0,"友情提示")

ifk=1

thisform.text1.value=""

thisform.text1.setfocus

endif

endif

**选择按生产厂家查询代码

casethisform.optiongroup1.value=4

selekcb

locateforalltr(kcb.生产厂家)==alltr(thisform.text1.value)

iffound()

seleall货号as货号,物品名as物品名,规格型号as规格型号,生产厂家as生产厂家,数量as数量,单价as单价;

fromkcborderby5;

wherealltr(kcb.生产厂家)==alltr(thisform.text1.value)intocursortemp3

withthisform.grid1

.recordsourcetype=1

.recordsource="temp3"

.columncount=6

.column1.header1.caption="货号"

.column2.header1.caption="物品名"

.column3.header1.caption="规格型号"

.column4.header1.caption="生产厂家"

.column5.header1.caption="数量"

.column6.header1.caption="单价"

endwith

thisform.refresh

thisform.grid1.setfocus

else

k=messageb("该生产厂家无记录,请重新输入!

",1+32+0,"友情提示")

ifk=1

thisform.text1.value=""

thisform.text1.setfocus

endif

endif

endcase

在“返回主界面”按钮中的“click”事件中添加如下代码:

doform主界面.scx

thisform.release

在“退出系统”按钮中的“click”事件中添加如下代码:

thisform.release

clearevent

quit

库存商品添加界面

图-6-5

在“添加”按钮中的“click”事件中添加如下代码:

ifempty(alltrim(thisform.text1.value))

messagebox("货号不能为空",48,"错误")

thisform.text1.setfocus&&如果未填写货号,则出现对话框提醒用户货号不能为空

else

**获取各输入值

货号1=alltrim(thisform.text1.value)

物品名1=alltrim(thisform.text2.value)

规格型号1=alltrim(thisform.text3.value)

生产厂家1=alltrim(thisform.text4.value)

数量1=val(alltrim(thisform.text5.value))

单价1=val(alltrim(thisform.text6.value))

insertintokcbvalue(货号1,物品名1,规格型号1,生产厂家1,数量1,单价1)

messagebox("添加成功!

",48,"信息")

**添加完毕后清空各个文本框

thisform.text1.value=''

thisform.text2.value=''

thisform.text3.value=''

thisform.text4.value=''

thisform.text5.value=''

thisform.text6.value=''

endif

在“取消”按钮中的“click”事件中添加如下代码:

thisform.text1.value=''

thisform.text2.value=''

thisform.text3.value=''

thisform.text4.value=''

thisform.text5.value=''

thisform.text6.value=''

在“返回主界面”按钮中的“click”事件中添加如下代码:

doform主界面.scx

thisform.release

在“退出系统”按钮中的“click”事件中添加如下代码:

thisform.release

clearevent

quit

库存商品修改界面

图-6-6

在“查找”按钮中的“click”事件中添加如下代码:

publichh

hh=trim(thisform.text7.value)

setordertohh

seekalltrim(thisform.text7.value)

if!

found()

messagebox("该货号不存在",48,"错误")

gotop

endif

thisform.text7.value=''

thisform.refresh

在“第一个”按钮中的“click”事件中添加如下代码:

gototop

this.enabled=.f.

mand2.enabled=.f.

mand3.enabled=.t.

mand4.enabled=.t.

thisform.refresh

在“前一个”按钮中的“click”事件中添加如下代码:

skip-1

ifbof()

messagebox("已是第一条记录",48,"信息窗口")

mand1.enabled=.f.

mand2.enabled=.f.

else

mand1.enabled=.t.

mand2.enabled=.t.

endif

mand3.enabled=.t.

mand4.enabled=.t.

thisform.refresh

在“下一个”按钮中的“click”事件中添加如下代码:

skip

ifeof()

messagebox("已是最后一条记录",48,"信息窗口")

skip-1

mand3.enabled=.f.

mand4.enabled=.f.

else

mand3.enabled=.t.

mand4.enabled=.t.

endif

mand1.enabled=.t.

mand2.enabled=.t.

thisform.refresh

在“最后一个”按钮中的“click”事件中添加如下代码:

gotobottom

mand1.enabled=.t.

mand2.enabled=.t.

mand3.enabled=.f.

mand4.enabled=.f.

thisform.refresh

在“删除该记录”按钮中的“click”事件中添加如下代码:

nAnswer=messagebox("确定要删除吗?

",36,"信息")

ifnAnswer=6

thisform.dataenvironment.closetables('kcb')

usekcbexclusive

deletefromkcbwhere货号=alltrim(thisform.text1.value)

pack

use

thisform.dataenvironment.opentables('kcb')

thisform.refresh

endif

在“返回主界面”按钮中的“click”事件中添加如下代码:

doform主界面.scx

thisform.release

在“退出系统”按钮中的“click”事件中添加如下代码:

thisform.release

clearevent

quit

密码修改界面

图-6-7

在“密码保存”按钮中的“click”事件中添加如下代码:

yhm=trim(thisform.text1.value)

ymm=trim(thisform.text2.value)

xmm=trim(thisform.text3.value)

cfmm=trim(thisform.text4.value)

seleyhb

locatfor用户名=yhm

ifempty(alltrim(thisform.text1.value)).or.empty(alltrim(thisform.text2.value));

.or.empty(alltrim(thisform.text3.value)).or.empty(alltrim(thisform.text4.value))

messagebox("用户名或密码不能为空",48,"错误")

thisform.text1.value=""

thisform.text2.value=""

thisform.text3.value=""

thisform.text4.value=""

thisform.text1.setfocus

thisform.refresh

else

iffound()

ifalltr(yhb.密码)<>alltr(thisform.text2.value)

messageb("原密码有误,请重新输入!

")

thisform.text2.value=""

thisform.text3.value=""

thisform.text4.value=""

thisform.text2.setfocus

return

else

ifxmm=cfmm

replace密码withxmm

messagebox("密码修改成功!

",48,"提示")

thisform.release

else

messagebox("密码输入不一致!

",48,"提示")

thisform.text3.value=""

thisform.text4.value=""

endif

endif

else

messagebox("用户名错误!

",48,"提示")

endif

endif

在“返回主界面”按钮中的“click”事件中添加如下代码:

doform主界面.scx

thisform.release

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

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

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