VFP课程设计.docx
- 文档编号:3089588
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:12
- 大小:1.61MB
VFP课程设计.docx
《VFP课程设计.docx》由会员分享,可在线阅读,更多相关《VFP课程设计.docx(12页珍藏版)》请在冰点文库上搜索。
VFP课程设计
专业测绘工程
班级学号1802090110
姓名张楠
指导老师董有福
设计题目DNF管理系统
目录
1.需求分析
2.建库结果
3.系统开发流程
4.关键和难点
5.设计小结
需求分析
针对DNF管理系统,进行详细的调研和分析,总结出如下的需求信息:
职业按类管理,所以需要有一职业信息。
武器,防具,觉醒必须属于一个职业。
武器,防具,觉醒都有各自的基本属性,
职业,武器,防具,觉醒操作要有相应操作员信息。
只有管理员登录之后才可以使用系统。
默认的管理员不可以删除。
武器种类,防具种类,觉醒都要可以添加、修改、删除、分类查找。
当进行上述操作后,能相应更新资料库。
2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项和数据结构:
职业类型信息,包括数据项有:
编号、职业、性别、武器种类、防具种类、上手难度等。
武器种类信息,包括数据项有:
武器种类、重量、速度指数、耐久度等。
防具种类信息,包括数据项有:
防具种类、材料、重量指数、防御指数等。
觉醒信息,包括数据项有:
编号、职业、觉醒、觉醒技能等。
管理员信息,包括管理员账号、密码、是否是默认账号等。
建库结果
1.数据关系E-R
2.数据表结构
系统开发流程
1.设置登陆界面
Command1
setexacton
select口令
locateforthisform.text1.value=操作员andthisform.text2.value=口令
if!
eof()
messagebox("欢迎来到阿拉德大陆!
",48)
thisform.release
doform表单1.scx
else
ifthisform.InputNo<2
messagebox("你输入的内容有错误,请重新输入!
",48)
thisform.InputNo=thisform.InputNo+1
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
else
messagebox("报歉,你爸不是李刚!
",48)
thisform.release
closeall
endif
endif
2.设计录入DNF信息录入表单
Command1
setexacton
select职业zn
locatefor编号=thisform.text1.value
if!
eof()
messagebox("你输入的编号在表中已经存在,请重输!
",48)
thisform.text1.setfocus
return
endif
ifempty(thisform.text2.value)
messagebox("职业不可为空,请输入职业名!
",48)
thisform.text2.setfocus
return
endif
ifempty(thisform.text3.value)
messagebox("武器不可为空,请输入武器名!
",48)
thisform.text2.setfocus
return
endif
Insertinto职业zn(编号,职业,性别,武器种类,防具种类,上手难度);
Values(thisform.text1.value,thisform.text2.value,thisform.text3.value,;
iif(thisform.Optiongroup1.value=1,"男","女"),bo1.value,bo2.value)
thisform.grid1.refresh
command3
Locala1,a2,a3,a4,a5,a6,n
n=recno()
withthisform
a1=.text1.value
a2=.text2.value
a3=.text3.value
a4=iif(thisform.optiongroup1.value=1,"男","女")
a5=.combo1.value
a6=.combo2.value
endwith
update职业znset职业=a1,编号=a2,武器种类=a3,性别=a4,防具种类=a5,上手难度=a6;
whererecno()=n
thisform.grid1.refresh
3.设计DNF信息查询表单
Command1
Insertinto职业zn(编号,职业,性别,武器种类,防具种类,上手难度);
Values(thisform.text1.value,thisform.text2.value,;
iif(thisform.Optiongroup1.value=1,"男","女"),bo1.value,bo2.value)
thisform.grid1.refresh
setexacton
select职业zn
locatefor学号=thisform.text1.value
if!
eof()
messagebox("你输入的编号在表中已经存在,请重输!
",48)
thisform.text1.setfocus
return
endif
ifempty(thisform.text2.value)
messagebox("职业名不可为空,请输入职业名!
",48)
thisform.text2.setfocus
return
endif
commend2
Locala1,a2,a3,a4,a5,n
n=recno()
withthisform
a1=.text1.value
a2=.text2.value
a3=iif(thisform.optiongroup1.value=1,"男","女")
a4=.combo1.value
a5=.combo2.value
endwith
update职业znset编号=a1,职业=a2,性别=a3,防具种类=a4,上手难度=a5;
whererecno()=n
thisform.grid1.refresh
4.设计系统功能表单
Command1
reportform职业-武器ZN.frxnoconsolepreview
command2
reportform职业-防具ZN.frxnoconsolepreview
command3
reportform职业-觉醒ZN.frxnoconsolepreview
5.设计资料表单
6.设置退出
关键和难点
此次课程设计中遇到的的问题还是蛮多的,前面几次仓促的制作无一避免了惨痛的失败。
程序设计中的任何一个小小的细节都会决定最终结果的成败。
前面几次失败多数都出现在连编的失败上,而一旦出现连编失败我又没有能力找出问题的症结所在,只好无奈的推倒重来,为此耗费了很多的时间和精力。
经过几次失败的教训,还是总结到了几个所谓的关键点和难点,也算是这次并不成功的课程设计中的小小收获吧。
首先,要设计出明确的关系图,前面都在摸索中前进,因而很多问题都没有考虑就贸然前进,因而遇到棘手的问题在所难免。
只有对关系图深思熟虑,才能有条不紊的进行设计,才能不至于陷入混乱而难以自拔。
其次,要严格的按照VFP指导书中的步骤,细致而有序的进行设计。
不知道老师会如何鄙夷我这种墨守成规和缺乏创新。
作为一个菜鸟,前进的每一部都战战兢兢,而且任何与指导书中发生偏差的地方都毫无疑问的错掉了,惨痛的经验告诉我:
照着书上说的做吧!
当然,还有一些细枝末节,看上去差之毫厘,实则谬以千里。
例如,当我生成程序的时候,开始出现的不是登陆界面,而是菜单程序,为此我们苦恼了好久。
最后查到问题竟然仅仅是程序代码中几个单词错掉了;还有资料无法录入,查询不了结果,登陆后进入不了界面。
。
。
。
。
。
太多太多的问题,甚至还有那么多万恶的报错,一一解决真的很耗时间和精力。
因此,处处留心,随时备份才是王道!
设计小结
记得老师布置这个课程设计的时候,大家都是一百个不愿意,现在费劲九牛二虎之力把设计做好后,除了感到小小的成就感,还有一点对老师的感激。
坦率的说,这两天学习的内容,甚至要超过我这整整一学期所学的数据库知识。
前面由于学的并不扎实,而且上机时间很少,各个知识点都断断续的无法串联,导致一种强烈的感觉:
我什么也学到。
而通过课程设计中的步步累计,我还是慢慢的领会了书中的内容。
而且,课程设计使我对VFP有了更深的理解,对今后的计算机学习,我也增添了不少的信心。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 课程设计