资源描述
将"学生"表添加到表单的数据环境中
右击表单,选择【数据环境】快捷菜单命令,继续在表单数据环境中右击选择【添加】快捷菜单命令,在"添加表或视图"对话框中双击"学生"表,将表添加到数据环境中 (不需要拖动到表单内)
VF1-11
一.修改表单myform,将其背景色改为“蓝色”。
单击工具栏的打开按钮,在【打开】对话框中文件类型列表框中选择“表单”,单击“myform.scx”单击【确定】打开表单。将【属性】窗口中的“BackColor”设置为“0,0,255”,单击工具栏保存按钮。
VF1-6
一.表单文件formtest.scx。
(1)在“属性”窗口中将表单设置为不可移动的
在【属性】窗口将“Movable”设置为“.F.”
(2)为表单新建一个名为method1的方法,方法代码为:wait "method1" window。
步骤1:单击菜单栏【表单】|【新建方法程序】命令,在弹出的【新建方法程序】对话框的【名称】文本框中输入“method1”,单击 【添加】按钮新增方法,关闭对话框。
步骤2: 右击表单选择“代码”,选择“method1”,在代码框中输入代码“wait “method1” window”。
步骤2: 右击表单选择“代码”,选择“method1”,在代码框中输入代码“wait “method1” window”。
(3) 设置“调用”按钮的Click事件代码,其功能是调用表单的method1方法。
右击【调用】命令按钮选择“Click”,编写该按钮的Click事件代码“ThisForm.method1”。
(4) 设置“取消”按钮的Click事件代码,其功能是关闭当前表单。在考生文件夹下,有一表单。
步骤1:右击【取消】命令按钮,编写该按钮的Click事件代码“ThisForm.Release”。
步骤2:单击工具栏保存按钮。 右击表单,选择“执行表单”
先保存,后执行
【解题思路】设置组合框为"下拉列表框",需将其Style属性值改为"2-下拉列表框"。将组合框的RowSource属性设置为"employee.姓名"即可使employee表中的"姓名"字段作为组合框的数据来源。设置Text1的ReadOnly属性为".T. - 真"即可使文本框变为只读。
RowSourceType RowSource Style
RowSourceType RowSource Style
在VF中,绝对引用是指从容器的最高层引用对象,给出对象的绝对地址,如form1.text1.value;相对引用是指在容器层次中相对于某个容器层次的引用,如ThisForm.text1.value。
(1)【操作步骤】
步骤1:打开表单设计器,将题目要求的两个表添加到其数据环境中。然后关闭数据环境设计器。
步骤2:按照题目的要求,在属性窗口中修改控件的相关属性。
步骤3:双击组合框,按照题目的要求修改组合框的相关方法。
***********程序提供的代码***********
* 下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在文本框内。
* 修改所有*** FOUND ***下面的一条语句。
* 不能修改其他语句。不能增加语句,也不能删除语句。
dime a(1,1)
a(1,1)=0
m1=employee.职员号
select avg(金额) from orders where 职员号=m1 into array a
m2=a(1,1)
***FOUND***
Thistext1.value=m2
**********************************
其中,需将命令语句"Text1.Value=m2"改为"ThisForm.Text1.Value=m2"。
步骤4:保存并运行表单。
VF-3-16
TabIndex
打开表单two,按下SHIFT键的同时选中3个命令按钮控件,
通过"布局"工具栏设置其对齐方式。
步骤1:打开程序four.prg,
&&下句有错误
CREATE TABLE 工资表(职工号 C(8) primary KEY,姓名 C(6) ,工资 N(10,2))
&&下句有错误
INSERT INTO TO 工资表 VALUES ("11020034","宣喧",4500)
USE 工资表
APPEND FROM 教师表
&&下句有错误
UPDATE 工资表 BY set工资=工资*1.1 WHERE 工资<3000
&&&&下句有错误
DELETE FROM 工资表 WHILE where 姓名="Thomas"
PACK
修改如下:
*************************
CREATE TABLE 工资表(职工号 C(8) primary KEY,姓名 C(6) ,工资 N(10,2))
INSERT INTO 工资表 VALUES ("11020034","宣喧",4500)
USE 工资表
APPEND FROM 教师表
UPDATE 工资表 set 工资=工资*1.1 WHERE 工资<3000
DELETE FROM 工资表 where 姓名="Thomas"
PACK
*************************
步骤2:保存并运行程序。
新建一个表单,通过表单控件工具栏为表单添加表格控件,
设置其Name属性为 grdCourse
VF3-19
打开表单one,通过表单控件工具栏向表单添加一个组合框,并修改其Style属性为2-下拉列表框。
修改组合框的RowSourceType属性值设置为"1-值",RowSource设置为"上海,北京"。
输入“上海,北京”
(3)通过表单控件工具栏向表单中添加两个命令按钮,分别在属性工具栏中修改两个按钮的Caption属性为"统计"和"退出",双击"退出"按钮编写其Click事件代码为:
ThisForm.Release。
(4)编写"统计"按钮的Click事件代码为:
******"统计"按钮的Click事件代码******
select * from 歌手表.dbf;
where 歌手出生地 = ThisFbo1.list(ThisFbo1.listindex);
INTO TABLE birthplace.dbf
*************************
保存并运行表单。
步骤1:打开考生文件夹下的表单six.scx,"登录"按钮中的代码如下。
**********"登录"按钮的Click事件代码**********
USE 用户表
GO TOP
flag=0
&& 下面语句有错误
WHILE .NOT. EOF()
IF Alltrim(用户名)==Alltrim(Thisform.Text1.Value)
IF Alltrim(口令)==Alltrim(Thisform.Text2.Value)
WAIT "欢迎使用" WINDOW TIMEOUT 2
ELSE
WAIT "口令错误" WINDOW TIMEOUT 2
ENDIF
flag=1
EXIT
ENDIF
&& 下面语句有错误
NEXT
ENDDO
&& 下面语句有错误
CASE FLAG=0
WAIT "用户名错误" WINDOW TIMEOUT 2
ENDIF
****************************************
DO WHILE循环语句的格式是"DO WHILE - ENDDO",而不是"WHILE - ENDDO";
在表中,使记录指针后移一位的命令是"SKIP"而不是"NEXT";
条件语句的格式应为"IF - ENDIF",而不是"case - ENDIF"。
步骤2:保存并运行表单。
USE 用户表
GO TOP
flag=0
&& 下面语句有错误
WHILE .NOT. EOF()
IF Alltrim(用户名)==Alltrim(Thisform.Text1.Value)
IF Alltrim(口令)==Alltrim(Thisform.Text2.Value)
WAIT "欢迎使用" WINDOW TIMEOUT 2
ELSE
WAIT "口令错误" WINDOW TIMEOUT 2
ENDIF
flag=1
EXIT
ENDIF
&& 下面语句有错误
NEXT
ENDDO
&& 下面语句有错误
CASE FLAG=0
WAIT "用户名错误" WINDOW TIMEOUT 2
ENDIF
【解题思路】通过常用工具栏中的"打开"按钮打开表单,右击表单空白处可以为表单添加数据环境。通过查询设计器完成查询的创建。
表单的MultiSelect属性用于指定列表框能否多重选定;
设置组合框为"下拉列表框",需将其Style属性值改为"2-下拉列表框"。
Rowsorcetype属性用来指定表格和列表框的数据类型,
Rowsorce属性用来指定表格和列表框的数据源。
(1)【操作步骤】
步骤1:打开表单formone,在表单的空白处单击右键,将Orders表添加到表单的数据环境中。
步骤2:修改列表框和表格的属性。
步骤3:双击"显示"按钮,修改其Click事件代码如下。
************程序提供的************
*下面代码的功能是根据用户对列表框的选择结果构建字段列表,然后进一步构建select语句并据此为表格的相关属性设值。
*修改所有*** FOUND ***下面的一条语句。
*不能修改其他语句。不能增加语句,也不能删除语句。
s=""
f=.T.
*** FOUND ***
FOR i=1 TO thisform.List1.ColumnCount 容
thisform.List1.ListCount
IF thisform.List1.Selected(i)
IF f
*** FOUND ***
s=thisform.List1.value
thisform.List1.List(i)
f=.F.
ELSE
*** FOUND ***
s=s+thisform.List1.value
s=s+","+thisform.List1.List(i)
ENDIF
ENDIF
ENDFOR
st="select &s from orders into cursor tmp"
thisform.Grid1.RecordSource=st
******************************
错误1:FOR i=1 TO thisform.List1.ColumnCount
修改为:FOR i=1 TO thisform.List1.ListCount
错误2:s=thisform.List1.value
修改为:s=thisform.List1.List(i)
错误3:s=s+thisform.List1.value
修改为:s=s+","+thisform.List1.List(i)
步骤4:保存并运行表单查看结果。
步骤1:在命令窗口输入:Crea Form Time 新建一个名为timer的表单。按题目要求添加
一个标签控件A,一个计时器控件(表单运行时,两者会合并),3个命令按钮控件。
步骤2:在属性窗口设置各控件的属性如下:
表单的Name值为:Timer 表单的Caption值为:时钟 标签的Alignment的值为:2-中央
步骤3:选中标签,然后执行"格式"→"对齐"菜单中的"水平居中"命令。
三个命令按扭的Caption依次为:暂停,继续,退出。计时器的Interval值为500。
步骤4:为各命令按钮编写Click事件的代码:
******"暂停"按钮的Click事件代码******
ThisForm.Timer1.Interval=0
************************************
******"继续"按钮的Click事件代码*****
ThisForm.Timer1.Interval=500
***********************************
******"退出"按钮的Click事件代码*****
ThisForm.Release
***********************************
******"计时器"的timer事件代码*******
ThisForm.Label1.Caption=time()
***********************************
步骤5:保存并运行表单查看结果。
展开阅读全文