实验八 表单设计VF
- 格式:doc
- 大小:189.21 KB
- 文档页数:9
表单设计与应用8.1 创建表单表单(FORM)是VFP应用程序的用户界面,各种对话框和窗口都是表单不同的外观表现形式。
在表单上拥有各种控件对象,可以响应用户或系统事件,使用户尽可能方便而直观地完成信息管理工作。
在VFP中可以利用表单设计器或表单向导可视化地创建表单文件,并通过运行表单文件来生成表单对象。
8.1.1 使用表单向导创建表单使用向导创建表单时,用户只要按照向导提供的操作步骤和屏幕提示一步一步地进行就能完成。
在项目管理器中选择“表单”项,单击“新建”按钮,出现“新建表单”对话框,再单击“表单向导”按钮,可打开“向导选取”对话框。
1. 表单向导用于创建基于一个表或视图的简单表单。
2. 一对多表单向导用于创建基于两个具有一对多关系的表的表单。
字段既要从主(父)表中选取,也要从子表中选取,还要建立两表之间的联接关系。
一对多表单一般使用文本框来表达父表,使用表格来表达子表。
8.1.2 使用表单设计器创建表单1.启动表单设计器(1)项目管理器中选择“表单”项,单击“新建”按钮,在“新建表单”对话框中,选择¡°新建表单¡±。
(2)菜单:选择¡°文件|新建¡±命令,在¡°新建¡±对话框中选择¡°表单¡±文件类型,然后单击¡°新建文件¡±按钮。
(3)命令:CREATE FORM2.快速创建表单启动表单设计器后,选择¡°表单|快速表单¡±命令,可打开表单生成器窗口制作表单。
8.1.3 表单的保存与运行1. 保存表单文件选择¡°文件|保存¡±命令。
2. 运行表单运行表单文件生成表单对象。
(1)项目管理器:选择要运行的表单,单击¡°运行¡±按钮。
《Visual FoxPro 6.0》实验报告书专业工程管理 __班级____B110804________学号____B11080408______姓名____张春雷_________实验一报告书理实验日期2012/09/11(一)、实验内容:一、VFP的启动与退出基本了解了VFP的工作环境以及使用VFP时的启动与退出。
二、工具栏VFP提供了11种工具栏。
其打开与关闭有两种方法。
工具栏中的工具为编辑程序提供了很大的方便。
三、命令窗口1、命令窗口是一个浮动型窗口,其打开和关闭有多种方法。
2、命令窗口是用来输入命令从而实现编程目的的重要窗口。
3、在命令窗口中输入命令后按下回车键便可执行所输入的命令。
4、以*、&&开头的命令是注释处理部分。
5、通过对命令窗口的学习,简单了解了下一些命令:如1+2+3与”1”+”2”+”3”所达到的目的是不一样的。
CLEAR是用于清除VFP主窗口中等所有显示信息。
6、在命令窗口中还可以实现对windows中的应用程序的调用,如运行计算器的命令是:RUN /N CALC。
7、在VFP中重复执行命令是很方便的,只需要选中所需再次执行的命令,按下回车即可,当然还有好几种方式。
四、选项对话框选项对话框是用于对VFP工作环境的设置,对话框中有很多的选项卡,可用于各种要求的设置。
五、创建项目文件1、项目文件保存时需要使用拓展名PJX(相关的备注文件PJT)。
2、对于文件的保存也可以在命令窗口中实现。
例如需将“d:\vfp\实验01”设置成当前文件夹,只需输入“SET DEFZULT TO d:\vfp\实验01”再按下回车即可。
3、保存文件时项目文件名为jxgl。
4、根据实验课本的讲解操作,简单了解了下项目管理器和选项卡,以及利用项目管理器进行添加文件,移去文件。
(二)问题与收获问题:1、对于项目文件的打开,不知道如何打开多个项目文件。
2、对于命令列表中以前执行的命令的清除工作不是很了解。
实验8:表数据的计算统计1.实验目的:掌握按条件统计记录数掌握按条件求和掌握按条件求平均值掌握按条件分类汇总掌握通过函数进行计算的方法。
2.实验内容:(1) 利用命令统计表学生.dbf中物理系的女生人数。
(2) 利用命令统计学生成绩表中成绩的和。
(3) 利用命令统计学生成绩.dbf中所有学生的平均成绩。
(4) 利用命令对学生成绩.dbf中所有学生,计算每个学生的总成绩,并将结果存入tabel1.dbf。
(5) 利用命令求学生成绩表中课程编号为“C106”的人数、最高成绩、最低成绩、平均成绩,并将结果存入相应变量中,然后显示变量的值。
实验9:多表操作1.实验目的:掌握在不同工作区打开不同的表文件并显示的方法。
掌握利用命令建立表间临时关联掌握使用数据库工作期,建立表间临时关联掌握实现表间的物理连接掌握实现表间的数据更新的方法。
2.实验内容:(1) 分别利用命令和数据工作期两种方法,分别在1,2,3号工作区打开表文件:学生.dbf,课程.dbf,学生成绩.dbf。
并在1号工作区显示课程.dbf的课程名称字段,在2号工作区显示学生成绩.dbf中的课程编号和成绩字段。
○1使用命令○2使用数据工作期(2) 根据表文件学生.dbf、课程.dbf、学生成绩.dbf,使用命令序列建立关联,显示每个学生的选课情况及成绩。
要求显示该学生的学号、姓名、课程编号、课程名称、成绩。
(3) 根据表文件学生.dbf、课程.dbf、学生成绩.dbf,使用数据工作期实现查询选修了大学英语的学生情况。
要求显示该课程的课程编号、课程名称、学生的学号、姓名、成绩。
(4) 查询各个院系开设课程的学生选课情况及成绩,并存入一个新的表文件kaike.dbf。
要求显示开课院系、学生学号、课程名称、成绩。
(5) 按下面的表建立学生年龄.dbf,而年龄字段要求利用学生表中的出生日期字段的值每年更新一次,写出相应的命令。
实验10:数据库的创建与管理1.实验目的:熟练掌握创建数据库的方法。
实验81.实验目的(1)掌握一种多表单数据维护系统的方案(2)掌握在表单上建立菜单的方法2.实验要求从“订单”表单复制出“订货系统.SCX”,然后在此表单创建一个菜单,用于分别打开维护“货物”、“客户”和“员工”数据的3个表单。
3.实验准备(1)阅读主教材8.1.1节。
(2)设计好如图2.7.1所示的“订货”表单,或如图2.6.2所示的“订单”表单(不影响本实验的效果)。
4.实验步骤(1)复制表单;打开“订货”表单的表单设计器,选定文件菜单的另存为命令生成“订货系统.SCX”表单。
(2)创建表单;使用表单向导并选取“货物”表的所有字段来创建“货物.SCX”表单。
然后类似地创建“客户”表单和“员工”表单。
(3)创建菜单①菜单设计;向命令窗口输入命令MODIFY MENU基础数据,就会出现如主教材图5.1所示的“新建菜单”对话框。
选定“菜单”按钮,即出现“菜单设计器”窗口,然后按照下图设计“货物”、“客户”和“员工”菜单。
②将菜单设置在顶层表单;选定“显示”菜单的“常规选项”命令,在“常规选项”对话框中选定“顶层表单”复选框。
③生成菜单程序;选定“菜单”菜单的“生成”命令,然后选定“生成菜单”对话框的“生成”按钮,即生成菜单程序“基础数据.MPR”。
(4)属性设置:如下对象属性属性直说明Caption 订货系统订货系统.scx的FormlAutoCenter .T.2 自动居中显示ShowWindow货物.scx的Forml desktop .T. 作为顶层表单显示在桌面客户.scx的Forml desktop .T. 使该表单可浮动员工.scx的Forml desktop .T.(5)为“订货系统.SCX”的Forml的Init事件增加如下代码;DO 基础数据.MPR WITH THIS5思考与操作(1)当“订货系统”表单关闭时,所有显示的其他表单将会同时关闭。
这是为什么?(2)本实验中表单的数据环境是什么?。
1. 表单设计:请设计一个表单,如图,有三个标签,三个文本框,一个命令按钮。
在前两要求设置下列属性:表单的标题(Caption)、表单运行时自动居中(AutoCenter);三个标签的标题(Caption)、字体大小(FontSize)和粗体(ReadOnly)2. 3. 设计下面的表单。
要求修改:表单标题,表单运行时自动居中;上面的标签的标题、字体大小、字体加粗、并设置其WordWrap 【自动分行】为.t.;下面两个标签的字体、字体大小、字体加粗、字体斜体、自动调整大小、forecolor ;添加两个文本框;命令按钮中标题、字体大小、并添加图片【picture 属性、图片内容自定】。
命令按钮中click 事件的代码为:【直接从这里复制】x=thisform.text1.valuey=thisform.text2.valueif x="abc" and y="123"messagebox("西华大学欢迎您!",0+64,"您好!")elsemessagebox("用户名或密码错误",2+48+256,"错误!")endif4. 按照下面的表单设计一个表单界面:(学生表的显示)注意: 修改每个文本框的controlscource 属性以及使用文本框的生成器!【两种方法都要灵活掌握!】点击上一条,显示上一条的记录,点击下一条,显示下一条的记录【忽略文件指针到文件头和文件末尾的出错】,点击退出,则退出表单。
5. 将上题中的标签和文本框删除。
使用设置数据环境,再从数据环境中的字段拖动到表单中的方法来设置控件:【这种方法简单实用】6. 多表的显示:显示学生表、成绩、课程表中的不同字段:【注意:数据环境中三个表文件建立关联】7. 命令按钮组:将第5题中的三个命令按钮删除,修改为一个命令按钮组,并在命令按钮组的click 事件中添加程序代码,实现相应的操作【使用Do Case 语句】。
实验八表单设计一、实验目的1.熟悉表单设计器的使用。
2.掌握表单设计的基本过程和方法。
3.掌握表单的常用属性,方法和事件。
4.掌握标签、编辑框、命令按钮、组合框、列表框、表格、等常用控件的使用。
二、实验内容和步骤1.建立一个如下图所示表单:图1 学生登录窗口要求实现:(1)系统初次载入时,不显示文字“学生成绩登录系统”,单击窗体右键时,显示文字“学生成绩登录系统”。
(2)单击“登录”按钮时,用户名所对应的文本框的背景色为红色。
(3)单击“退出”按钮时,密码所对应的文本框消失。
(4)双击窗体时,两文本框恢复正常。
设计步骤:①选择“文件/表单/新建文件”,打开表单设计器。
②在表单上添加三个标签(Label1、Label2、Label3)、两个文本框(Text1、Text2)和一个命令按纽(Command1)。
③设置表单、控件属性如下表所示。
表1 属性设置④编写相应事件过程代码。
●表单Form1的Init事件过程代码:bel1.visible=.F.●表单Form1的Rightclick事件过程代码:bel1.visible=.T.●命令按钮Command1的Click事件过程代码:Thisform.text1.backcolor=RGB(255,0,0)●命令按钮Command2的Click事件过程代码:Thisform.Text2.visible=.F.●表单Form1的dblclick事件过程代码:Thisform.text1.backcolor=rgb(255,255,255)Thisform.text2.visible=.T.⑤保存表单,命名为“表单01”。
⑥运行该表单,验证是否达到要求。
2.设计一个登录表单,当用户输入用户名和口令并按确认键后,检验其输入是否正确,若正确(假定用户名为“USER”,口令为“123”),就显示“欢迎使用”字样并关闭表单;若不正确,显示“用户名或口令不对,请重输…”字样(要求口令输入时显示星号*),连续三次都输入不正确,显示“输入次数超过三次,你无权使用本系统”。
图2 用户登录界面设计步骤:①新建一表单,在表单上添加两个标签、两个文本框、一个命令按纽。
②设置两个标签和一个命令按纽的Caption属性如上图所示。
设置文本框Text1、Text2的InputMask属性值分别为xxxx和xxx;设置Text2的PasswordChar属性值为*。
③编写相应对象的相应事件过程代码。
●表单Form1的Load事件代码:public numnum=0●命令按钮Command1的Click事件代码:if upper(thisform.text1.value)="USER".and.;thisform.text2.value="123"wait "欢迎登录" window at 25,80thisform.releaseelsenum=num+1if num<3thisform.text1.value=""thisform.text2.value=""thisform.text1.setfocuselsemessagebox("输入次数超过三次,你无权使用本系统",48,"提示") thisform.releaseendifendif④保存表单,命名为“表单02”,运行表单。
3.设计一个选项按钮组表单,能改变文本框内文字的字体格式,如下图所示。
图3 字体设置界面设计步骤:①新建一表单,在表单上添加一个文本框Text1和一个选项按钮OptionGroup1。
②设置文本框Text1的Value属性为“设置字体格式”,Fontsize属性为20,选项按纽OptionGroup1的ButtonCount属性为4、Caption属性如上图所示。
③编写选项按钮OptionGroup1的Click事件过程代码:④保存表单,命名为“表单03”,运行表单。
4.设计一个运行结果如下图所示的表单,可用命令按钮组中命令按钮来调整标签控件的位置及大小。
图5 命令按钮组的使用界面设计步骤:①新建一表单,在表单上添加一个标签label1和一个命令按钮组CommandGroup1。
②设置标签label1和命令按钮组CommandGroup1的属性如上图所示。
③编写命令按钮组的Click事件过程代码:④保存表单,命名为“表单04”,运行表单。
5.编制一个浏览记录的表单(浏览记录.scx),要求具有前后翻页、插入记录、删除当前记录的功能,并能对当前记录进行编辑修改(其中“性别”字段的内容可用单选按钮组控件来控制)。
运行结果如下:图7 浏览记录窗口设计步骤:①新建一表单,将学生情况表(xsqk.dbf)添加到数据环境中。
②用鼠标将有关字段逐个拖到表单中的合适位置形成相应的标签、文本框、复选框、OLE帮定对象及编辑控件。
③添加一个单选按钮组控件“optiongroup1”取代原来的“txt性别”文本框,并设置其buttoncount属性为2,controlsource 属性为xsqk.性别,将其中的option1的caption属性设置为“男”,option2的caption 属性设置为“女”。
④设置OLE照片控件的stretch属性为“1--等比填充”。
⑤在表单中添加6个命令按钮控件commond1~command6,并将它们的caption属性分别设置为:“首记录”、“上一个记录”、“下一个记录”、“尾记录”、“添加记录”、“删除记录”。
⑥编写相应事件过程代码。
表单对象的init事件过程代码:set deleted onselect xsqkgo topmand1.enabled=.f.mand2.enabled=.f.●“首记录”Command1按钮的click事件过程代码:go topmand3.enabled=.t.mand4.enabled=.t.mand2.enabled=.f.this.enabled=.f.thisform.refresh●“上一个记录”Command2按钮的click事件过程代码:mand3.enabled=.t.mand4.enabled=.t.skip -1if bof()go topmand1.enabled=.f.this.enabled=.f.endifthisform.refresh●“下一个记录”Command3按钮的click事件过程代码:mand1.enabled=.t.mand2.enabled=.t.skipif eof()go bottommand4.enabled=.f.this.enabled=.f.endifthisform.refresh●“尾记录”Command4按钮的click事件过程代码:go bottommand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.f.this.enabled=.f.thisform.refresh●“添加记录”Command5按钮的click事件过程代码:append blankthisform.txt学号.setfocusthisform.refresh●“删除当前记录”Command6按钮的click事件过程代码:ts=messagebox("确实要删除此记录吗?",4+48)if ts=6deleteskip -1if bof()go topendifthisform.refreshendif⑦保存表单,命名为“表单05”,运行表单。
6.利用学生管理数据库中的xsqk表和cj表,设计一个能进行查询统计的表单,其界面如下图所示。
当输入一个学生姓名并单击“查询统计”按钮时,会在右侧表格内显示该同学所选的各门课程的成绩,并在左边相应的文本框内显示其中的最高分、最低分和平均分,单击“退出”按钮将关闭表单。
图8 成绩查询窗口表单设计步骤如下:①新建一表单,打开数据环境设计器窗口,添加表xsqk和cj。
②在表单上添加四个个标签、四个文本框、两个命令按钮和一个表格控件,设置标签、命令按钮和表单的属性如上图所示。
③设置表格的ColumnCount属性值为2、RecordsourceType属性值为“4—SQL说明”。
④设置表格两列标头的Caption属性分别为“课程号”和“成绩”,并适当调整两列的宽度。
⑤编写相应事件过程代码。
●表单对象的init事件过程代码:this.grid1.visible=.f.●“查询统计”命令按钮Command1的Click事件过程代码:thisform.Grid1.Recordsource="select 课程号,成绩 ;from cj,xsqk where cj.学号=xsqk.学号 and ;姓名=alltrim(thisform.text1.value) into cursor lsb"thisform.grid1.visible=.t.select max(成绩) as maxcj,min(成绩) as mincj, ;avg(成绩) as avgcj from lsb into cursor lsb1 thisform.text2.value=maxcjthisform.text3.value=mincjthisform.text4.value=avgcj●“退出”命令按钮Command2的Click事件过程代码:thisform.release⑥保存表单,命名为“表单06”,运行表单。