VF课程设计实验报告

秦皇岛旅游信息查询系统

东北大学秦皇岛分校

姓名:

学号:

指导教师:

日期:  20##  06    17 

一、总体说明

 总体功能介绍:

 此系统为秦皇岛旅游信息查询系统,为用户提供旅游信息的查询及修改功能。

此系统通过密码登录来给用户提供,此系统对不同旅游景点提供数据查询功能精确查找,提供景点名称,景点票价,景点星级,景点位置,景点简介等信息,使用户可以全方位了解各个景点,以便明确地锁定自己的旅游目标及方便用户的旅游过程。此系统还提供数据维护功能,包括对数据的添加,修改和删除。针对精确查询,还可以提供给用户打印报表的功能,以保证输出的可行性。

二、功能模块结构图

文本框: 打 印,文本框: 景点精确查询,文本框: 数据录入,文本框: 数据编辑,文本框: 数据删除 


三、数据库、表的设计及描述

数据库

相关表:users  旅游景点

数据库表

旅游景点:creat table 旅游景点(景点名称 c(18),景点票价 n(3),,景点简介 m,景点星级 c(2),景点预览 g,景点位置 c(11))

users:creat table users (用户代码 c(7),用户密码 c(10))

四、操作说明

    点击vf文件夹里的main.prg,进入封面主界面点击进入,进入登陆界面,选择用户名登录,用户名(用户名为1234,密码为1111),登陆成功后,点击菜单下的各个子菜单,可以在各相应表单上进行对应操作。进入相应的界面后便可以进行数据(数据录入、数据编辑、数据删除)查询、退出(注:如不登录,则不能进行以上功能)。在景点查询中,使用者可以通过上一条,下一条命令对景点信息进行浏览。精确查询可以精确显示每个景点的信息,并打印显示的结果。系统维护中可以对景点信息进行修改、添加、删除。使用结束后点击菜单栏的退出按钮,退出系统。

六、各模块代码及结果图

(一)封面:

Timer1:    thisform.release

do form 登录表单.scx

属性窗口:Enabled改为  .T.-真(默认)interval 4000

Timer2: thisform.shape1.left=100*rand()

thisform.shape1.top=100*rand()

thisform.shape1.height=100*rand()

thisform.shape1.width=100*rand()

属性窗口:Enabled改为  .T.-真(默认)interval 100

Shape1:backcolor:255,255,255 bordercolor:128,255,255 curvature 99

Label1 autosize: .T.-真 backstyle 0-透明 caption 秦皇岛旅游景点

封面的click: thisform.release

do form 登录表单.scx

       init: public a,b

a=5

b=5

     keypress: thisform.release

do form 登录表单.scx

(二)登录界面

界面设置:

添加代码:

①  确定”的click event:

i=i=1

uid=alltrim(thisform.TxtUserCode.value)

pwd=alltrim(thisform.TxtPassword.value)

loca for 用户代码=uid

if not found()

  messagebox("无此用户",0,"秦皇岛旅游点查询系统")

  thisform.TxtUserCode.selstart=0

  thisform.TxtPassword.sellength=len(thisform.TxtUserCode.text)

  thisform.TxtUserCode.setfous

  return

endif

if alltrim(用户密码)==pwd

  thisform.release

  do form frmmain.scx

else

  if i>3

    messagebox("三次密码输入不对,系统将退出!")

    thisform.release

endif

messagebox("密码不正确,请重新输入!"+ "你还有" + alltrim(sta(3-i))+"次机会。")

thisform.TxtPassword.selstart =0

thisform.TxtPassword.sellength =len(thisform.txtpassword.tex)

thisform.TxtPassword.setfocus

endif

②  退出”的click event:quit。退出VF系统。

(三)欢迎界面

界面设置:

表单 frmmain  init: do mnumain.mpr with this,.t.

public a,b

a=5

 b=6

 load: thisform.width =_screen.width/2

thisform.height=_screen.height/2

thisform.left=(_screen.width-this.width)/2

thisform.top=(_screen.height-this.height)/2

 unload: quit

添加代码:

①  Timer1”的timer event:

if thisform.label1.left+thisform.label1.width<0

thisform.label1.left=thisform.width

else

thisform.label1.left=thisform.label1.left-100

endif

属性窗口:Enabled改为  .T.-真(默认)interval 270

②  Timer3的timer event:

thisform.label1.left=thisform.label1.left+a

thisform.label1.top=thisform.label1.top+b

if thisform.label1.left<0 or thisform.label1.left+thisform.label1.width>thisform.width

  a=-a

endif

if thisform.label1.top<0 or thisform.label1.top+thisform.label1.height>thisform.height

  b=-b

endif

属性窗口:Enabled改为  .T.-真(默认)interval 100

(四)查询

精确查询 

添加代码:

①  “combo2”的controlsouce改为“旅游景点.景点名称”

“form1”的数据环境设为“旅游景点”

“确认”的click event:

sele * from 旅游景点 where 景点名称=thisform.combo1.value into cursor a

thisform.text1.value=a.景点票价

thisform.text2.value=a.景点星级

thisform.text3.value=a.景点位置

thisform.edit1.value=a.景点简介

②  打印”的click event:

sele * from 旅游景点 where 景点名称=thisform.combo1.value into dbf baobiao

report form baobiao preview

baobiao:

设计图,数据环境设为“baobian.dbf”

③  “退出”的click event:thisform.release

报表打印效果:

(五)数据维护

子模块1:数据录入

界面设置

添加代码:

①“确定”的click event:

dimension xx(5)

xx(1)=thisform.text1.value

xx(2)=thisform.text2.value

xx(3)=thisform.text3.value

xx(4)=thisform.text4.value

xx(5)=thisform.text5.value

use 旅游景点

append blank

gather from xx fields 景点名称,景点票价,景点简介,景点星级,景点位置

thisform.旅游景点.recordsource="旅游景点"

②“退出”的click event:thisform.release

效果如图:

子模块2数据编辑

界面设置

添加代码:

①  combo1”的click event:

sele * from 旅游景点 where 景点名称= thisform.combo1.value into cursor temp1

thisform.grd旅游景点.recordsource = 'temp1'

thisform.refresh

②  确定”的click event:

replace 旅游景点.景点名称 with thisform.text1.value

replace 旅游景点.景点票价 with thisform.text2.value

replace 旅游景点.景点简介 with thisform.edit1.value

replace 旅游景点.景点星级 with thisform.text4.value

replace 旅游景点.景点位置 with thisform.text5.value

thisform.grd旅游景点.recordsource ="旅游景点"

thisform.refresh

thisform.text1.value=""

thisform.text2.value=""

thisform.edit1.value=""

thisform.text4.value=""

thisform.text5.value=""

③“退出”的click event:thisform.release

子模块3 删除

界面设计:

添加代码:

①“确定”的click event:

set deleted on

delete

pack

thisform.grd旅游景点.recordsource="旅游景点"

②“退出”的click event:thisform.release

效果如图:

七、体会(重点是学习中收获和存在的问题)

     通过这段时间对VF 的学习,我学到了很多,从最开始连插入背景图片都困难的我,最后做出了这个系统,还通过网络加入了一些动态的字幕、大小不定、路径不定的圆圈,特别是最后阶段的课程设计,更让我受益非浅,做后觉得VF 并没有想象中的那么难、那么恐怖。这个课程设计是对我们这学期所学知识的综合测试,同时也提供了查漏补缺的机会,一些在课堂上不清楚或听不懂的问题都通过这次的实际操作得到了很好的解决。这项作业需要我们认真对待,多动手实践,在实践中发现问题。在操作中,每一步都必须细心谨慎,即使是一个小小的标点也,马虎不得。每一个字码都不能错,一个名字也不能随便改动。

 

第二篇:vf课程设计实验报告模板

经济管理学院

 

课程设计题目

专 业 班 级      会计0904        

学 生 姓 名        李彦春         

学        号         11           

指 导 教 师         丁胜峰         

 

年   月   日

 


一、课程设计的目的和意义

(字体:宋体;字号:小四)

目的:根据《数据库管理系统》课程讲授内容,自主完成一个管理系统的设计,掌握课堂所讲的内容,熟悉VF软件的使用,提高用计算机解决实际问题的能力。

意义:通过本课程的设计,熟悉掌握了数据库的设计、表单的设计、表单与数据库的连接、SQL语言的使用以及简单VF程序的编写。还可以进一步清楚数据库表单设计是如何实现的,掌握它可以设计出自己满意的应用程序。


二、系统功能设计

要求:(字体:宋体;字号:小四)

1.说明该系统能够实现哪些功能

基本实现仓库材料的管理,包括系统的登录、材料入库信息的录入、材料出库信息的录入、材料入库信息的查询、材料出库信息的查询、库存材料信息的查询、库存材料信息的修改、库存材料信息的删除以及库存材料信息的统计。

2.画出系统功能模块图


三、系统设计内容及步骤

数据库表结构

1.学生信息表结构

3.1在项目管理器中新建一个项目:

文件—新建—项目,如下所示:

3.2登录界面设计

3.3主界面设计

3.4学生信息查询

3.5学生信息录入

3.6学生信息浏览

3.7学生信息修改

3.8学生信息删除

3.9学生信息管理


四、测试及分析

对本系统作一个全面的评价:包括有何特点、存在的问题、改进意见等。

  特点:

(1)方便简单。使用代码进行设计,该系统同可以使我们方便的登录学生

信息管理系统,进行学生基本信息的查询,以及可以随意的浏览学生的每一条记录,也可以进行学生基本信息的修改,或删除,也可以录入,统计。

(2)减少数据冗余实现数据共享。在数据库系统中,对数据的定义和描述已经从程序中分离出来,通过数据库管理系统来统一管理。数据的最小访问单位是字段,既可以按字段的名称存取库中某一个或某一组字段,亦可存取一条记录或一组记录。在建立数据库时,应可以面向全局的观点组织数据库中的数据,而考虑某一部门的局部应用,这样才会发挥数据共享的优势。

  (3)各控件的设计,如标签、文本框、列表框、表格等可以实现特定的交互功能,随意进入想要进入的表单。

问题:1.写代码可能比较复杂,而且有些代码比较容易写错。

        2.应注意存储路径,若路径错误,可能发生命令的错误或不能执行。

        3.同时应注意个表单之间的关联性,以方便进入。

        4.数据类型应匹配,若不匹配,程序将无法运行。

        5.表单的Caption属性,数据源等都应注意是否填写正确。

6.所有的Controlsource都是表中字段,因而在屏幕上改变数据,立即会对表中记录进行修改,修改操作虽然方便,但难以保证数据安全,查询时,先要点击文本框。

        7.在text中输入查找内容,麻烦且容易出错。

改进意见:将各控件绑定数据源改为内存变量。VF的程序命令还是有些繁琐,而且容易出错,最好是用一种简单便捷的方式,利用更加简单的语言进行设计。运用“布局”实现各控件的上下左右的对齐,以及大小的设置一致,让其美观大方,交互功能强。

五、结束语

通过做课程设计,你有何感想,学到了什么?

感想:通过课程的设计,和同学老师一起讨论作出属于自己的一个材料管理系统,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过积极努力,请教老师,不仅培养了对立思考、动手操作的能力,在各种其他能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的受益匪浅。要面对社会的挑战,只有不断地学习、实践,再学习、再实践。之所以做课程设计,不仅是因为他是教学内容的一部分,同时也可以锻炼自己的VF语言编程能力,养成良好的VF语言编程风格。不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。完全可以不这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。很少会有人一步登天吧 。永不言弃才是最重要的。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变得更加成熟,会面对需要面对的事情。但还是觉得有很多地方还需进一步学习,比如有代码错误自己却找不出原因何在。

学习:通过本次的课程实践我学会很多东西如简单的编程,使用VF语言,运用代码相当于一种语言可以实现数据信息的管理等以及各控件的使用,如:文本框等。在实践过程中,明白要特别注意控件的属性以及各代码的编写。


附录:源代码清单

登录源代码:

用户名=alltrim(thisform.text1.value)

密码=alltrim(thisform.text2.value)

if 用户名="111111" and 密码="111111"

do form 主界面

thisform.release

else

wait "用户名或密码错误" window timeout 3

thisform.num=thisform.num+1

if thisform.num=3

wait "错误的次数已超过3次" window timeout 5

thisform.release

else

thisform.text1.value=""

thisform.text2.value=""

wait "继续输入" window timeout 5

endif

endif

学生信息查询源代码:

thisform.grid1.recordsource = "select * from 学生信息  where 学号=alltrim(thisform.text1.value) into cursor lsb"

学生信息录入源代码:

insert into 学生信息 values(thisform.text1.value,thisform.text2.value,thisform.text3.value,thisform.text4.value,

学生信息修改源代码:

xh=thisform.text1.value

xm=thisform.text2.value

xb=thisform.text3.value

mz=thisform.text4.value

csrq=thisform.text5.value

jtzz=thisform.text6.value

szbj=thisform.text7.value

zymc=thisform.text8.value

rxrq=thisform.text9.value

zzmm=thisform.text10.value

update 学生信息 set 学号=xh,姓名=xm,民族=mz,出生日期=csrq,家庭住址=jtzz,所在班级=szbj,专业名称=zymc,入学日期=rxrq,政治面貌=zzmm where 学号=xh

学生信息删除源代码:

xh=thisform.text1.value

delete from 学生信息 where 学号=xh

学生信息管理源代码:

select count(*) as 学生人数 from 学生信息 where 专业名称 = alltrim(thisform.text1.value) into cursor lsb

select lsb

go top

thisform.text2.value = 学生人数

指导教师评语及成绩



指导教师评语及成绩

相关推荐