VFP课程设计模板1Word文档下载推荐.docx
《VFP课程设计模板1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VFP课程设计模板1Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。
![VFP课程设计模板1Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/31/d81461c6-bbcc-4287-9a9b-155d88f73c35/d81461c6-bbcc-4287-9a9b-155d88f73c351.gif)
(1)图书查询系统
(2)库存商品查询系统
(3)飞机航班查询系统
(4)学生信息查询系统
课程设计工作项目
1、设计任务:
每位同学根据自己学号除以5所得的余数选择相应题号的课题。
换题者不记成绩。
2、不得抄袭他人程序,每个人应体现自己的个性设计。
3、所建数据库中应有足够的用于测试程序的数据记录。
4、各系统设计以查询功能为主,应提供多种方式的查询手段。
同时可具有添加、删除、修改记录信息的功能。
5、各系统数据库应具有的起码内容包括:
(0)姓名、性别、住址、职务、电话、备注等信息;
(1)书号、书名、作者、出版社、关键词、摘要等信息;
(2)货号、物品名、规格型号、生产厂家、数量、单价等信息;
(3)航班号、机型、始发地、目的地、起飞时间、降落时间、票价等信息;
(4)学号、班级、姓名、性别、平均成绩等级、家庭住址、照片、简历等信息。
6、按规定格式完成课程设计报告书打印稿交老师存档。
Visualfoxpro数据库课程设计报告
一、需求分析
(凡括号中内容需用自己的撰写内容替代,字体一律采用宋体5号字。
)
(给出你所设计题目的功能需求和数据需求)
二、概要设计
(提供课题的总体设计,如准备设计几个表单,每个表单要提供的功能等)
三、详细设计
(给出课题的数据库及表的具体设计,依次列出对每个表单及表单所包含对象的属性和方法的主要设计内容。
四、结果分析
(给出表单运行的效果图,对表单的运行结果进行分析,总结自己独到的设计特点和不足之处。
目录
1)问题描叙……………………………………………….....4
2)功能及设计…………………………………………………4
3)程序要求…………………………………………………….4
二、总体设计
1)程序的模块组成……………………………………………5
2)各模块的主要功能………………………………………..5
1)相关数据类型…………………………………………….7
2)设计流程图……………………………………….............8
四、总结与体会……………………………………………………13
1)问题描叙
1)问题描述
库存商品查询系统系统,如何在一个程序中查询库存商品信息。
开发环境
开发工具:
VisualFoxPro6.0
运行环境:
Windows2007、Windows2000、WindowsXP
2)功能及设计
系统数据初始化
进入系统
用户登录
库存商品的查询
库存商品的添加
库存商品的删除
用户信息的修改
密码修改
系统退出
3)程序要求
创建一个库存商品查询系统,要求有输入库存商品信息,库存商品查询功能,库存商品添加功能,库存商品修改及删除,用户登录,用户密码修改等功能。
库存商品的信息在运行时有人输入。
具体实现功能要求如下:
1、要求有输入功能,信息由使用者输入。
2、用户首先通过登录界面进入到查询系统,通过使用合格的用户名和对应的密码。
3、库存商品查询系统有查询功能,通过查询库存商品型号、类型、品牌等,可以得到库存商品的品牌、型号、类型、数量、进货时间、备注等信息。
4、可以根据需要添加新的商品的信息。
5、用户可进行密码修改。
6、查询结束可以选择退出系统或返回主界面。
1)程序的模块组成
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、修改。
在系统功能分析的基础上,考虑VisualFoxPro6.0程序编制的特点,得到如下所示的系统功能模块结构图。
2)各模块的主要功能
1)相关数据类型
1、首先创建项目管理器→数据库(ck)
2、创建库存商品表(spb)
3、创建密码表(mmb)
4、创建表单
3、设计流程图
主要模块的设计说明和程序代码
主程序代码
settalkoff
setstatoff
setdeleon
setsafeoff
screen.windowstate=2
setcenton
opendatabaseck
*doformyh
*readevents
*doxtcd.mpr
clearwindows
closedatabase
setsysmenutodefault
return
setdefaulttoi:
\tj090122
欢迎界面
“进入”按钮的“click”事件中添加代码如下:
thisform.release
DOFORMi:
\tj090122\登陆界面.scx
登录界面
在该表单的数据环境中添加密码表,使其与密码表内设置的用户名和密码联系。
“确定”按钮的“click”事件中添加代码如下:
publicyh
setexacton
x1=allt(thisform.text1用户名.value)
x2=allt(thisform.text2密码.value)
locateforallt(yh.yhm)==x1
if!
found()
k=messageb("
该用户不存在,请重新输入!
"
1+32+0,"
友情提示"
ifk=1
thisform.text1用户名.value="
thisform.text1用户名.setfocus
endif
else
yh=allt(thisform.text1用户名.value)
ifalltr(yh.mm)==alltr(thisform.text2密码.value)
messageb("
登录成功,欢迎使用!
)
thisform.release
doform主界面.scx
k=messageb("
密码有误,请重新输入!
1+32+256,"
警告"
thisform.text2密码.value="
thisform.text2密码.setfocus
“退出”按钮的“click”事件中添加代码如下:
x=messagebox('
确认退出系统吗?
'
1+32+256,'
友情提示'
ifx=1
clearevents
endif
主界面
“退出系统”按钮的“click”事件代码如下:
确认退出'
其余按钮“click”事件代码模板为
doform****.scx
查询
查询记录(以仓库信息查询为例)
对于仓库中的一些货物,有时需要按照型号、类型、品牌、仓库来查找对应的库存。
该表单只需在选项按钮组中选择需要的查找方式,然后在文本框中输入查询条件,单击“查询”按钮就可以在表格中找到对应的记录。
在该表单的数据环境中添加“ck”表。
“查询”按钮的“click”事件中添加的代码如下:
docase
**选择按型号查询后的语句
casethisform.optiongroup1.value=3
selespb
locateforalltr(spb.型号)==alltr(thisform.text1查询条件.value)
iffound()
sele*;
fromspborderby型号;
wherealltr(spb.型号)==alltr(thisform.text1查询条件.value)intocursortemp
withthisform.grdspb
.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.grdspb.setfocus
该型号无记录,请重新输入!
thisform.text1查询条件.value="
thisform.text1查询条件.setfocus
**选择按类型查找代码
casethisform.optiongroup1.value=2
selespb
locateforalltr(spb.类型)==alltr(thisform.text1查询条件.value)
fromspborderby类型;
wherealltr(spb.类型)==alltr(thisform.text1查询条件.value)intocursortemp1
temp1"
该类型无记录,请重新输入!
**选择按品牌查找的代码
casethisform.optiongroup1.value=1
locateforalltr(spb.品牌)==alltr(thisform.text1查询条件.value)
fromspborderby品牌;
wherealltr(spb.品牌)==alltr(thisform.text1查询条件.value)intocursortemp2
temp2"
该品牌无记录,请重新输入!
endcase
添加记录(以库存商品记录添加为例)
商家在进货后需要在系统中添加记录,该表单用于向仓库表中添加新的内容,使仓库表可以随着进货的产品不断添加。
表单中“添加”按钮的“click”事件添加代码如下:
ifempty(alltrim(thisform.text2.value))
messagebox("
型号不能为空"
48,"
错误"
thisform.text2.setfocus&
&
如果未填写型号,则出现对话框提醒用户型号不能为空
else
**获取各输入值
pp1=alltrim(thisform.text1.value)
lx1=alltrim(thisform.text6.value)
xh1=alltrim(thisform.text2.value)
sl1=val(alltrim(thisform.text3.value))
jhrq1=ctod(alltrim(thisform.text4.value))
bz1=alltrim(thisform.text5.value)
insertintospbvalue(pp1,lx1,xh1,sl1,jhrq1,bz1)
messagebox("
添加成功!
信息"
**添加完毕后清空各个文本框
thisform.text1.value='
thisform.text6.value='
thisform.text2.value='
thisform.text3.value='
thisform.text4.value='
thisform.text5.value='
endif
“取消”命令按钮的“click”事件中添加代码如下:
thisform.text1.value='
thisform.text5.value='
thisform.text6.value='
记录修改(以库存商品记录修改为例)
密码修改
“密码修改”按钮的“click”事件代码如下
selemmb
locateforalltr(mmb.yhm)=yh&
yh是一个全局变量,系统登录时保存了当前用户名
ifalltr(mmb.mm)<
>
alltr(thisform.text1.value)
原密码有误,请重新输入!
thisform.text1.value="
thisform.text1.setfocus
return
ifalltr(thisform.text2.value)<
alltr(thisform.text3.value)
新密码输入不一致,请重新输入!
thisform.text2.value="
thisform.text3.value="
thisform.text2.setfocus
replacemmb.mmwithalltr(thisform.text2.value)
密码修改成功,请您记好新密码!
四、总结与心得
在VFP课程设计的整个过程中,经历了很多失败,也尝试了很多。
从开始的一窍不通到后来的一个简单的库存商品查询系统的建立,心中感慨颇多,收获也不小。
在最初,我是对着课本知识一点一点的去仿着做。
由于没有一个整体的概念,所以做起来还是非常困难。
后来我们几个同学一起去机房边做边讨论。
然后渐渐的从整体上把握了其轮廓,从而懂得了怎么去简历扁担及其之间的连接。
做好这个项目并运行之后,我学会了去润色它。
字体、背景图片、文本框里的字体色彩等。
当一个出自自己手里的美观的项目能自如的运行时,我的心理充满了喜悦。
把学到的知识运用到实际中,还有什么比这更令人开心的呢?
计算机与通信学院课程设计评分表
课程名称:
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:
(注:
1.此页附在课程设计报告之后;
2.综合成绩按优、良、中、及格和不及格五级评定。