实验八 表单设计VF

合集下载

VF表格设计

VF表格设计

表单设计与应用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)项目管理器:选择要运行的表单,单击¡°运行¡±按钮。

VFP课件第八章表单设计及其应用

VFP课件第八章表单设计及其应用
if thisform.t1.value=7.or.thisform.t2.value=7.or.thisform.t3.value=7
thisform.lbl1.caption="赢" else thisform.lbl1.caption="输" endif
例2幸运七游戏结束。
2020/7/3
[例3]:密码判断
endcase
2020/7/3
[步骤8] 编写组合框(combo1)的click事件代码:
do case case this.value="红"
bel1.forecolor=rgb(255,0,0) case this.value="黄"
bel1.forecolor=rgb(255,255,0) case this.value="绿"
设计一个名为 mima.scx的表单。如图所示:单 击确认按钮判断密码是否为aaa,是执行幸运七 游戏,否则释放。要求:text1的最大长度为8。 密码输入时显示为* .
2020/7/3
确认的单击事件代码如下:
if thisform.text1.value="aaa" Do form my_formxy7 else thisform.release Endif
第八章
表单设计及其应用
8.2 表单设计器
1.表单设计器环境 2.表单控件工具栏 3.属性窗口
2020/7/3
8.3 表单的数据环境
1.数据环境设计器
(1)选择显示|数据环境命令 (2)右击表单界面,选数据环境
2.数据环境中数据表和字段的处理方法
2020/7/3

VF08表单设计

VF08表单设计

(2)创建一对多表表单 选择“文件”菜单中“新建”命令,打开“新建”窗口。 在“新建”窗口中选择“表单”,单击“向导”按钮,打 开“向导选取”对话框。 在“向导选取”窗口,选择“一对多表单向导”,进入 “一对多表单向导”各分步骤窗口。 在“步骤1”窗口,选择作为表单数据源的数据库,再选择 父表中可用字段。 在“步骤2”窗口,选择子表中可用字段。 在“步骤3”窗口,选择父表与子表的关联字段。 在“步骤4”窗口,选择表单样式。 在“步骤5”窗口,选择指定字段确定记录的输出顺序。 在“步骤6”窗口,输入表单标题,再选择表单保存方式, 再按“完成”按钮,保存表单并结束操作。 无论利用上述哪种方法创建表单,在将表单存盘时,将会 产生扩展名为SCX和SCT的两个文件。
8.3 表单的编辑与修改
8.3.1 添加控件 单击“表单设计器”工具栏上的“表单控件”按 钮,屏幕出现“表单控件”工具栏。 单击工具栏上的相应工具按钮,在表单上单击或 拖动即在相应位置添加了指定的对象。
(1)标签(Label)控件——用于保存不希望用户修改的信 息,如文本框上面或图形下面的标题。 (2)文本框(Text Box)控件——获取用户输入和保存单 行文本,用户可以在其中输入或更改文本。 (3)编辑框(Edit Box)控件——获取用户输入和保存多 行文本,用户可以在其中输入或更改文本。 (4)命令按钮(ommand Button)控件——通过单击按钮, 用户可以执行一些命令。 (5)命令按钮组(Command Group)控件——用于把相 关的命令按钮编成组,以完成相关的操作。 (6)选项按钮(Option Group)控件——用于显示多个选 项,但用户只能从中选择一项。 (7)复选框(Check Box)控件——用于显示多个选项, 用户可以选择一个或多个选项。

VFP8 表单设计

VFP8  表单设计

(2)类的特性
类具有继承性、封装性和多态性等特性。
1) 继承性
继承性指通过继承关系利用已有的类构造新类。 任何一个基类都有它的属性。即使用户没有定 义,Visual FoxPro系统也赋给基类相应的缺省值。 在创造对象时,可以利用基类派生出另一个新类。 通常把从已有的类派生出的新类称为子类,已有 的类称为父类。子类不但具有父类的全部属性和 方法,而且还允许用户根据需要修改对已有的属 性和方法进行修改或添加新的属性和方法。
对象把事物的属性和行为封装在一起,是一个 动态的概念。 对象是面向对象编程的基本元素,是“类”的 具体实例。
(2)对象的三要素
1)属性
属性(Attribute)是用来描述和反映对象特征 的参数。对象的每一种属性,都有与其它对象 加以区别的特性,都具有一定的含义,并赋予 一定的值。
对象的属性窗口及常用属性 属性窗口用于显示、修改当前对象的属性,定 义事件代码,修改方法程序。 属性窗口的组成:对象列表框(用于选择对 象);选项卡;属性设置框(用于更改属性); 属性列表框;属性说明信息。
方法二:命令方式
命令格式如下: 新建表单:CREATE FORM <表单> 修改表单: MODIFY FORM <表单>
“表单”菜单 “表单设计器
”窗口 空白表单 “ 表单设计器 ” 工具栏
“属性”窗口
“表单控件 ”工具栏
表单设计器窗口
2.表单的修改与运行
表单一旦建立完成,表单及表单中 对象的属性、方法和事件就已确定。 用户可以运行查看效果,如果对已有 的对象的属性、方法和事件不满意, 可以进行修改。
3)事件 事件 (Event) 是每个对象可能用以识别和响 应的某些行为和动作。它发生在用户与应用程 序交互时。如单击控件、鼠标移动、键盘按下 等。 事件驱动编程机制

实验报告书(Visual FoxPro 8) (1)

实验报告书(Visual FoxPro 8) (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、对于命令列表中以前执行的命令的清除工作不是很了解。

Visual FoxPro数据库程序设计实训指导实验8 表单设计

Visual FoxPro数据库程序设计实训指导实验8 表单设计

单击“确定”按钮。
(2)在步骤 1-从父表中选定字段中,选择学生表的学号、姓名、 性别、院系字段,单击“下一步”。
8.2 实验内容
8.2.2 通过表单向导创建数据表单 (3)在步骤 2-从子表中选定字段中,选择选课表的课程号、成绩字 段,单击“下一步”。 (4)在步骤 3-建立表之间的关系中,按学号设置两表之间的关联关 系,单击“下一步”。 (5)在步骤 4-选择表单样式中,选择表单样式为“标准式”,按钮 类型为“文本按钮”,单击“下一步”。 (6)在步骤 5-排序次序中,选学号的升序作为父表的排序方式,单 击“下一步”。 (7)在步骤 6-完成中,设置表单标题为“学生选课”,单击“预览” 按钮,可预览表单运行后的效果。再单击“完成”按钮,打开“另存为” 对话框,输入表单文件名“xsxk.scx”,单击“保存”按钮。
8.2 实验内容
8.2.3 通过表单设计器创建或修改表单
2
用表单设计器修改表单 (1)打开表单,进入“表单设计器”窗口 (2)设置表单标题 (3)改变表单背景颜色
(4)改变标签颜色
(5)设置信息对话框 (6)保存、运行表单
8.2 实验内容
8.2.4 表单控件的使用
1
命令按钮的使用 【例8-5】创建一个名为mlan.scx
为”对话框,输入表单文件名“xsdata.scx”,单击“保存”按钮。
8.2 实验内容
8.2.2 通过表单向导创建数据表单
(6)运行表单。执行命令DO FORM xsdata,表单运行后,窗口。
8.2 实验内容
8.2.2 通过表单向导创建数据表单
【例8-2】以学生表和选课表为数据源,利用表单向导建立一个 一对多表单。要求表单中输出:学生表的学号、姓名、性别、院系 字段;选课表的课程号、成绩字段。 操作步骤如下: (1)执行【文件】|【新建】命令,选择“表单”,单击“向导” 按钮,在弹出的“向导选取”对话框中选择“一对多表单向导”,

vf 实验报告 表单综合实验

vf 实验报告 表单综合实验
0090201李平平女07/15/90.F. EFC0901沈阳601.0 memo gen
0090202赵海峰男06/11/89.F. EFC0901山东烟台589.0 memo gen
0100010刘翔男10/21/90.F. ICS1001上海623.0 memo gen
0100011阿木旦男12/04/88.T. ICS1001西藏拉萨563.0 memo gen
0081273 A0101 73.0
0092159 B1002 98.0
0081189 B1001 80.0
0070678 C3004 77.0
0090214 C3004 78.0
0080111 B1001 77.0
0081766 B1002 87.0
0070001 A0101 89.0
0070002 B1001 91.0
insert into student(sno,sname,sex,birthday,ifnation,classno,native,enrollment);
values("0100025","林博","女",;
{^1992/12/03}, .F.,"ICS1001","上海",585)
SNO SNAME SEX BIRTHDAY IFNATION CLASSNO NATIVE ENROLLMENT RESUME PHOTO
0080002 C3004 81.0
0.0
0081271 B1001 66.0
0081271 B1002 78.0
0092161 C3004 45.0
0092161 A0101 66.0

VF实验8—11要点

VF实验8—11要点

实验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.实验目的:熟练掌握创建数据库的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验八表单设计一、实验目的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”,运行表单。

相关文档
最新文档