第6章表单与控件创建与使用答案

第6章表单与控件创建与使用答案
第6章表单与控件创建与使用答案

一.选择题

1.在下列有关表单及其控件的叙述中,错误的是____A_________ 。

A.从容器层次来看,表单是最高层的容器类,它不可能成为其他对象的集成部分

B.表格控件包含列控件,而列控件本身又是一个容器类控件

C.页控件的PageCount 属性值可以为0

D.表格控件可以添加到表单中,但不可以添加到工具栏中

2.对于许多控件来说,可以通过ControlSource 属性与数据绑定。在下列VFP 对象中,无ControlSource 属性的是

_____A________ 。

A.标签(Label )B.复选框(CheckBox )C.选项按钮组(OptionGroup )D.列表框(ListBox )

3.若要将当前工作区中打开的表文件GZB.DBF 复制到GZB1.DBF 文件,则可以使用命令_____________ 。

A.COPY GZB.DBF GZB1.DBF B.COPY TO GZB1 REST C.COPY TO GZB1 STRU D.COPY TO GZB1

4.在下列有关VFP的类、对象和事件的叙述中,错误的是__B___。

A.对象是基于某种类所创建的实例,它继承了类的属性、事件和方法

B.基类的最小事件集包含Click事件、Load事件和Destory事件(init事件、destroy事件,error事件)

C.事件的触发可以由用户的行为产生,也可以由系统产生

D.用户可以为对象添加新的属性和方法,但不能添加新的事件

5.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的___C____属性值也随之发生变化。

https://www.360docs.net/doc/2718083910.html,

B.ControlSource

C.Value

D.Caption

6. 在下列几组 VFP 基类中,均具有ControlSource 属性的是 D 。

A.ListBox ,Lable ,OptionButton

B.ComboBox ,EditBox ,Grid (表格具有recordsource和recordsourcetype属性,但不具有controlsource属性) C.ComboBox ,Grid ,Timer

D.EditBox ,CheckBox ,OptionButton

7.下列关于表单数据环境的叙述中,错误的是 B 。

A.表单运行时自动打开其数据环境中的表

B.数据环境是表单的容器 (是表单中数据来源)

C.可以在数据环境中建立表之间的关系

D.可以在数据环境中加入视图

8.在默认的情况下利用表单设计器设计表单时,若从数据环境里将某个表的一个逻辑型字段用鼠标拖放到表单上,则在表单上添加的控件个数和控件类型分别是 D 。

A.2,标签和文本框B.2,标签和复选框C.1,文本框D.1,复选框

9.在下列各组控件中,均可与表中的数据绑定的控件是。

A.Combox、Grid和TextBox B.EditBox、Grid和Line

C.ListBox、Shape和OptionButton D.CheckBox、Separator和Command

10、在下列VFP基类中,无Caption属性的基类是________D______。

A、Lable

B、Optiongroup

C、Check

D、Editbox

11、在下列有关控件及其属性的叙述中,错误的是______A________。

A、一个标签控件最多可以显示128个字符(最多256个,如果是字符型常量,则不需要加定界符)

B、计时器控件的Interval属性的单位为毫秒

C当形状控件Curvature属性值为99时,其曲率最大(圆或椭圆)

D组合框控件Style属性控制其为下列表框还是(下拉组合框style属性为0时和下拉列表框style属性为2)

12、在下列有关控件的叙述中,错误的是______________。

A、对于标签控件(Label)的Caption属性值来说,其长度(即字符个数))没有限制

B、复选框(CheckBox)的Value属性值可以设置为0,或1(也可写作.T.或.f.),或2(只在设计时使用,键盘无法设置为2)

C、有些控件无Caption属性,例如文本框(TextBox)

D、有些控件可通过相应的生成器设置其部分属性,例如命令按钮组(CommandGroup)

13、在下列几组控件中,均有SetAll()方法的是_______D_______。

A、表单(Form)、命令按钮(CommandButton)、命令按钮组(CommandGroup)

B、表单集(FormSet)、列(Column)、组合框(ComBox)

C、表格(Grid)、列(Column)、文本框(TextBox)

D、表单(Form)、页框(PageFrame)、命令按钮组(CommandGroup)

14、下列几组控件中,都有ControlCount属性的是______B________。(容器对象中控件个数)

A、表单(Form)、文本框(TextBox)、列表框(ListBox)

B、表单集(FormSet)、表单(Form)、页框(PageFrame)

C、表单(Form)、页面(Page)、列(Column)

D、列(Column)、选项按钮组(OptionGroup)、命令按钮组(CommandGroup)

15、对表单中的一个文本框控件来说,下列事件中最后发生的事件是__b_______。

A、Valid b、Init

B、Destroy D、Lostfocus init-valid-lostfocus-destroy

16、将表单中的所有文本框的Enabled属性设置为假,可在表单的Init事件处理代码中用SetAll方法进行设置。下列表述中,命令正确的是____C__________。

A、THISFORM.SetAll(“Enabled”, .F., “Text”)

B、THISFORM.SetAll(Enabled, .F., Text)

C、THISFORM.SetAll(“Enabled”, .F., “TextBox”)

D、THISFORM.SetAll(“Enabled”, .F.)。

17、在下列几种控件中,无Value属性的是______________。

A、命令按钮(Command)

B、复选框(CheckBox)

C、选项按钮(OptionButton)

D、编辑框(EditBox)

18.在下列关于表格控件的叙述中,错误的是B。

A.表格是容器型控件,它包含列对象 .

B.表格的数据源若是表,则该表必须在表单的数据环境中

C.表格的数据源可以是表、别名、查询文件或SELECT-SQL命令

D.表格滚动条可以设置为不同类型

19、在下列几组控件中,均可直接添加到表单中的是C。

https://www.360docs.net/doc/2718083910.html,mandGroup、OptionButton、TextBox

B.Page、PageFrame、Grid

https://www.360docs.net/doc/2718083910.html,mandButton、PageFrame、EditBox

D.TextBox、Column、Header

20、设表单Form1上有一个命令按钮组CommandGroup1,命令按钮组中有两个命令按钮(分别:cmdl和cmd2)。若单击命令按钮Cmdl,可以将命令按钮Cmd2设置为废止状态,则在命令按Cmdl的Click事件中,应包含 A 命令(或功能与之等价的命令)。

A.This.Parent.Cmd2.Enabled=.F.

B.ThisForm.Cmd2.Enabled=.F.

https://www.360docs.net/doc/2718083910.html,mandGroup1.cmd2.Enabled=.F.

D.THIS.Cmd2.Enabled=.F.

21、在下列几组控件中,均具有ControlSource属性和Value属性的是 D 。

A.Pageframe、EditBox、OptionGroup C.TextBox、Label、CommandButton

B.ListBox、Grid、ComboBox D.CheckBox、Spinner、ComboBox

二.填空题

1.图1 所示的表单用于浏览教师(JS )信息。为了在表格控件中以不同的背景色显示男、女教师的信息,则在表格控件的Init 事件代码中,可使用如下形式的语句:

This._Setall__("DynamicBackcolor","IIF(xb='女',RGB(125,125,125),;RGB(125,125,125))","Column")

2.表单中下拉列表框的RowSourceType 属性为“ 6- 字段”,数据源为系名代码表(表的文件名为xmdm.dbf, 含系代码(xdm )和系名(xim )两个字段),为了使下拉列表中显示系代码和系名两列数据,则RowSource 属性值为:xmdm.xdm ,____xim____。

图1

3.设某表单上有一个页框控件,该页框控件的PageCount 属性值在表单的运行过程中可变(即页数会变化)。如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的Refresh 事件代码中使用语句:This.ActivePage= PageCount 。4.在某类库中,基于CommandButton 基类新建了一个子类cmd ,基于cmd 类又派生了cmdClose 子类。若利用cmdClose 类为一个表单添加控件cmdCloseA ,则cmdCloseA 的BaseClsss 属性值为__CommandButton____。

5.某数据库中包含课程(KC )表和成绩(CJ )表,课程表中含有课程代号(kcdh )、课程名(kcm )和学分(xf )等字段,成绩表中含有学号(xh )、课程代号(kcdh )和成绩(cj )等字段。已创建一个按课程代号查询学生成绩的表单如图 2 所示。

图2

表单中下拉列表框(Combo1)的数据源设置如下:

RowSource Type 属性为:6-字段

RowSource 属性为:kc.kcdh。

在下拉列表框中选择某一课程代号后,表格控件(Grid1 )立即显示该课程所有学生的成绩,且在文本框(Text1 )中显示该课程的课程名,则应在下拉列表框的___InteractiveChange____事件中编写如下代码:

SELECT KC

ThisForm.Text1.Value=kc.kcm

ThisForm.Grid1.RecordSource=;

"SELECT cj.xh,cj.cj FROM cj WHERE cj.kcdh=ALLT(THIS.Vale)INTO CURStmp"(应为allt(cj.kcdh)=allt(this.value))

ThisForm.Refresh

根据以上代码可判定,表格控件(Grid1 )的RecordSourceType 属性为___4 或SQL___。

6.设某命令按钮的标题为“确定(Y )”(该按钮访问键位“ ALT+Y ”),则其Caption 属性值应设置为___确定(\

8.文本框控件的__PasswordChar_____属性设置为“ * ”时,用户键入的字符在文本框内显示为“ * ”,但Value 属性中仍保存键入的字符串。

9.已知有三张表:学生表(XS )、课程表(KC )和成绩表(CJ ),其表结构如表3 所示。(调试根本通不过)

有一个表单如图 3 所示,其左边是一个选项按钮组(Optiongroup1 ),右边是列表框(List1 )。该表单的功能是:在选项按钮组中选择一个年级(学号的前两位表示年级),列表框将显示出该年级所有课程不及格的学生的学号、姓名、课程名称和成绩。

图3

下列是选项按钮组的相关事件的事件代码,试完善下面的程序。

DO CASE

CASE This.Value=1

nJ="99"

CASE This.Value=2

nJ="00"

CASE This.Value=3

nJ="01"

CASE This.Value=4

nJ="02"

_______Endcase_______

SQL1='SELECT xs.xh,xm,kcm,cj'

SQL2='FROM xs,cj,kc'

SQL3='WHERE xs.xh=cj.xh AND cj.kcdh=kc.kcdh AND cj<60 '

SQL4='__and subs(xs.xh,1,2)=nj__'

SQL5='ORDER BY 4'

SQL6='INTO CURSOR temp'

SQLSELECT =SQL1+SQL2+SQL3+SQL4+SQL5+SQL6

ThisForm.List1.RowSourceType=3

ThisForm.List1.RowSource=_SQLSELECT__

ThisForm.List1.Requery

10.类(class)是面向对象程序设计的核心。类具有许多特点,如多态性、抽象性、封装性、继承性等,其中__多态性___是指一些关联的类包含同名的方法程序,但方法程序的内容可以不同。

11.设Labell 是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,可以在该表单的Init事件代码中使用语句THISFORM. __Label1.Caption___=TTOC(DATETIME())来实现。

12.学生注册表单(forml)如图1所示,该表单中含有3个标签、2个文本框(Text1和Text2),1个命令按钮组(包含3个按钮),其功能是对学生信息进行注册:(此题可调通)

1)如在学生注册(ZC)表中已存在某学生的记录(学号已经存在),说明该学生已注册过;若没有,则进行注册,即将该学生信息存入学生注册表;

2)进行注册时(即按“确认”按钮时),学生和姓名不能为空。

图1 学生注册表单

表单是一个容器型控件,其集合属性为Controls,计数属性为ControlCount。此表单的ControlCount 属性值为 6 。

根据表单的功能要求,完善下列命令按钮组的Click事件代码:

ch1=ALLT(THISFORM.Text1.Value)

ch2=ALLT(THISFORM.Text2.Value)

DO CASE

CASE THIS.Value =1

IF LEN(ch1)=0 OR LEN(ch2)=0

=MESSAGEBOX (“学号、姓名必须填写!”)

ELSE

Locate for zc.xh=ch1

IF !EOF()

=MESSAGEBOX (“此学生已注册,请重新输入!”)

ESLE

INSERT INTO zc(xh, xm) Values(ch1, ch2)

ENDIF

ENDIF

CASE THIS.Value=2

THISFORM.Text1.Value=“”

THISFORM.Text2.Value=“”

Thisform.text1.setfocus_ && 使Text1 文本框得到输入焦点

CASE THIS.Value=3

THISFORM.RELEASE

ENDCASE

13.在VFP中,利用可是化开发工具(表单设计器)创建表单和对象。通过对对象属性的修改、方法程序的调用来处理对象。相对引用对象时,所设计的关键字THIS、THISFORM、THISFORMSET只能在方法程序或_事件__处理代码中使用

13.对于图2所示的表单,当表单运行时,利用微调框(Spinnerl)Curvature来调节形状控件(Shapel)的Curvature属性,使形状控件的角的曲率发生变化。根据Curvature属性的取值范围的限定,微调框(Spinner1)的SpinnerLowValue属性值和SpinnerHighvalue 属性值应该分别为0和99 。当形状控件(Shape1)为椭圆时,微调框(Spinner1)的Value值应为99 .(在spinner的interactivechange事件中写:thisform.shape1.curvature=this.value)

图2 形状控件的曲率实验

14.类(class )是面向对象程序设计的核心。类具有许多特点,如抽象性、封装性、继承性等,其中___封装性____ 是指包含和隐藏对象信息(如内部数据结构和代码)的能力,是操作对象的内部复杂性与应用程序隔离开来。

15.一个应用程序的模型可以设计得很合理很整洁,代码很精致,解决问题的方法和算法很巧妙但这些对用户来说是很透明的,用户看不到、也无须知道,用户看到的是应用系统提供的用户界面。从利用VFP开发应用程序来说,创建的菜单表单文件是用作应用程序的主要界面。

16.表格(gird)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似,表格最常见的用途之一是显示一对多关系中的的子表。在默认情况下,表格控件包含列控件,列空件又包含列标头控件和文本框控件。

17.在 VFP 中,每个对象都具有属性,以及与之相关的事件和方法.其中,属性是定义对象的特征或某一方面的行为.

18. 在 VFP 中,组合框控件具有列表框控件和和文本框控件的组合功能.根据是否可以输入数据值,组合框可设置为下

拉组合框或下拉列表框.(下拉组合框为0,可以输入字符。下拉组合框为2,只能直接选择)

19. 某表单如图1所示,用于用户登录(需要输入用户名和口令信息).该表单无控制图标和控制按钮,则表单的Controlbox

属性值必定为 .F.。

图1 用户登录表单

设所有的用户名和口令信息均已存储在自由表 KLB 表(含有两个字符型字段"用户名"和"口令")中.完善命令

按钮组(含两个命令按钮) Click 事件代码,以实现:当用户输入用户名和口令并单击"确定"按钮时,若用户名输入

错误,则提示"用户名错误";若用户名输入正确而口令输入错误,则提示"口令错误";单击"取消"按钮则释放表单.

IF this.value=1&&单击"确定"命令按钮(此题中THISFROM应写成THISFORM)

IF NOT used(“klb”)

SELECT 0

USE klb

ELSE

SELECT klb

ENDIF

LOCATE FOR ALLTRIM (用户名)== ALLTRIM ( THISFROM . Text 1 . Value )

IF FOUND ()

IF ALLTRIM (口令)== ALLTRIM ( THISFROM . Text 2 . Value )

WAIT "欢迎使用!"

THISFROM . Release

ELSE

WAIT "口令错误!"

ENDIF

else

WAIT "用户名错误!"

ENDIF

ELSE

THISFROM . Release

ENDIF

20. 对于图2所示的表单,当表单运行时,利用微调框( Spinner 1)来调节形状控件( Shape 1)的 Curvature 属

性值,使形状控件的角的曲率发生变化.该表单上的标签控件显示为"曲率(R)",其 Caption 属性值应为曲率(\

了实现表单中"微调框控件的值发生变化时形状控件的角的曲率也随之变化"的功能,微调框控件( Spinner1 )的Interactivechange 事件代码为:

THISForM.Shape1.Curvature=THIS.Value

图2形状控件的曲率实验

21. 页框对象是包含页面的容器对象.在默认情况下,一个页框对象包含两个页面对象,如果要修改页框对象所包含的页

面对象数,则应该修改页框的pagecount属性值.

22.某表单运行时界面如图2所示,表单上有一个组合框控件combo1和表格控件grid1。其中,组合框控件combo1的数据源类型是“文件”,数据源是”*.dbf“,运行时该组合框中显示当前路径下所有的表文件名。

图2

完善下列组合框控件combo1的InterActiveChange事件代码,其功能是:当选中组合框中的某个表文件时,在表格中显示该表的所有记录。(表头会出现一些问题,比如不能显示字段名,但将表格重调后,可以显示)

PUBLIC x

x=ALLTRIM(THIS.Value)

CLOSE TABLES ALL

Use &x

WITH THISFORM.Grid1

.ColumnCount=fcount()

.RecordSourceType=2

.RecordSource=x

ENDWITH

23.已知教师表(JS.DBF)含有工号(gh, C, 6)、姓名(xm, C, 8)、性别(xb, C, 2)、职称(zc, C, 20)、系代号(xdh, C, 2)等字段,系名表(XIM.DBF)含有系代号(xdh, C, 2)、系名(ximing, C, 20)等字段。某表单运行时如图3所示,该表单的功能是查看各个系教师的名单,在列表框(List1)中选择一个系时,表格(Grid1)中显示出该系教师的工号、姓名、性别、职称,且表格中数据只读。

图3

根据图3所示的表单,填写表单、列表框和表格控件的下列有关属性值:

表单:Caption=教师名单

列表框:ColumnCount= 2

表格:RecordSourceType=1-别名

RecordSource=js

ReadOnly=.t.

24.某表单上有一个命令按钮控件,若单击该命令可以将表单的背景修改为绿色,则命令按钮的Click事件代码中包含命令:THIS.parent.BackColor=RGB(0,255,0)。

25.在属性窗口中,有些属性的默认值以斜体显示,说明这些属性在设计时是只读的。

26、某表单中有一个列表控件list1和一个命令按钮控件cmd1,且该列表框已与成绩表(CJ.DBF)的成绩字段(cj, N, 3)绑定,表单运行时如图2所示。若命令按钮cmd1的Click事件代码如下:

PUBLIC x

x=THISFORM.List1.LIST(4)

?x ?TYPE(“X”)

则表单运行时单击该命令按钮,输出结果为___73___和____c______。(为什么是C)

图2

27、某表单中有一个列表框控件list1和一个命令按钮控件cmd1,表单运行时如图3所示。列表框显示的内容分别是学生的学号、姓名、选课数以及平均成绩。命令按钮cmd1的Click事件代码如下:

THISFORM.Caption = THISFORM.List1.value

在表单运行时,若单击该命令按钮后表单的标题显示学生的姓名(例如显示“吴云”),则列表框控件list1的BoundColumn 属性值为__2____。

图3

28、已知XS(学生)表、KC(课程)表、CJ(成绩)表的表结构如下:

(1)XS.DBF:学号(xh, C, 8)、姓名(xm, C, 8)、性别(xb, C, 2)

(2)KC.DBF:课程代号(kcdh, C, 3)、课程名称(kcmc, C, 20)、学分(xf, N, 2)

(3)CJ.DBF:学号(xh, C, 8)、课程代号(kcdh, C, 3)、成绩(cj, N, 3)

某表单运行时如图4所示,其功能是查看01~04年级学生需要补考的情况。当用户利用选项按钮组(opt1)选择一个年级时,列表框(list1)中显示出该年级所有课程不及格的学生的学号、姓名、课程名称和成绩(xh字段的前两位表示年级)。

图4

根据图4所示表单,填写表单、列表框和选项按钮组控件的下列属性值:

表单:ControlBox = ___.F._____。

列表框:ColumnCount = ___4_____。

选项按钮组:Value = ____1______________。

29、某表单运行时如图5所示,表单上有一个页框控件PageFrame1和一个微调框控件Spinner1。微调框控件Spinner1的Init事件代码如下:

THIS.Value=1

THIS.KeyboardLowValue=1

THIS.Spinner1LowValue=1

THIS.KeyboardHighValue=10

THIS.SpinnerHighValue=10

在表单运行时,若要页框中页面的个数由微微框的值决定,则微调框控件Spinner1的InteractiveChange事件代码应包含下列命令:

THISFORM.PageFrame1._pagecount_ = THIS.Value

图4

30、所有的容器对象都具有与之相关的计数属性和___集合_属性。其中,前者是一个数值型属性,它表明了所包含对象的数目;后者是一个数组,用以引用每个包含在其中的对象。

31、利用ShowWindows属性和Desktop属性,可以将表单设置为_ 顶层表单_、浮动表单或子表单。

32、形状控件(Shape)的Curvature属性用于控制其曲率,其取值范围为__0~99__。

33、对于表单的Load、Activate和Init这三个事件来说,___Load___事件的处理代码中不能引用表单中的对象,____Activate____

事件最后一个被触发。

34、若某表单上包含一个页框控件,页框上包含的页面数是未知的(或者说是动态变化的),则在刷新表单时为了刷新页框中的所有页面,可在面框的Refresh方法中包含如下代码:

FOR I=1 TO THIS._pagecount_

THIS.Pages[I].Refresh

ENDFOR

35、某表单上分别有一个标签Label1、文本框Text1、命令按钮组CommandGroup1和计时器Timer1控件(运行时如下图所示)。

在设计时,计时器的Interval属性值已设置为500、Enabled属性值已设置为.F.(即不启用),且已为计时器的Timer事件设置了事件处理代码,其功能是使文本框显示当前的系统时期与日间。命令按钮组中包含3个命令按钮,依次为“启用”、“暂停”和“退出”,其功能分别是为启用计时器控件、不启用计时器控件和关闭表单,完善如下的命令按钮组的Click事件处理代码:DO CASE

CASE THIS.Value=1

THIS.__parent__.Timer1.Enabled=.T.

CASE THIS.Value=2

THISFORM.Timer1.Enabled=.F.

CASE THIS.Value=3

___thisform.release___

ENDCASE

36、某表单上有一个表格控件,其列数为7。若要使其第3~7列的标头(Header)的标题依次显示为:成绩1、成绩2、成绩3、成绩4、成绩5,则可在表格的Init事件处理代码中包含下列程序段:

FOR I=3 TO 7

THIS._columns(i)_.Header1.Caption=”成绩”+str(I,1)

ENDFOR

37、设某表单上包含一个文本框控件,若要使该文本框获得焦点时能自动选中其中的所有文本,可在文本框的GotFoucs事件中包含下面几行代码:

TextBox::GotFocus && 操作符::用来从子类方法中执行父类的方法

THIS.SelStart=___0__

THIS.SelLength=Len(ALLTRIM(THIS.Value))

注:SelStart属性指定选定文本的起始点,若没有选定文本则表示插入点(即光标)的位置(该设置的有效范围是从0到控件编辑区域中字符的总数);SelLength属性指定被选择的字符数(该设置的有效范围从0到控件中字符的总数,小于0将导致运行错误)。

38、若已设计并生成了单文档界面(SDI)的菜单程序文件menua。现要求将该SDI菜单附加到某表单上,除了将表单设置为“作为顶层表单”外,还应该在表单的INIT事件中包含下列命令以运行菜单程序:

__do menua.mpr_____ WITH THIS, .T.

39、在面向对象的程序设计中,通过类可以简化应用程序的设计,因为类具有__继承性________、多态性和抽象性等特点。

40、在VFP命令窗口中输入并执行命令_____screen_____________.Font.Size=20,可使VFP主窗口中输出的文本的字号设置为20。

41、某单位人力资源管理系统中有人员档案表RYB.DBF和员工收入表SRB.DBF,其结构分别如下:

某表单运行后如下图所示,其数据环境包含RYB.DBF和SRB.DBF。表单上有3个文本框,其对象名分别为Text1、Text2和Text3,分别用于显示总收入、所得税收入和实际收入。

列表框(List1)的InterActiveChange事件代码的功能是:当选中列表框中一名员工时,表格(Grid1)中显示出该员工的收入项目、收入日期、金额和备注,且表格中数据只读,文本框Text1、Text2和Text3分别显示该员工的总收入、所税和实际收入。

(1)根据以上所示的表单,填写列表框、表格和“退出”命令按钮的有关属性性:

●列表框的RowSourceType属性值为"2-别名"

RowSource属性值为____ryb______________

ColumnCount属性值为______2__________

●表格的_____readonly_______________属性值为.T.(实现数据只读)

●命令按钮的Caption属性值为____退出________________;

(2)列表框List1的InterActiveChange事件代码如下:

cGh=ALLTRIM(THIS.Value) && 变量cGH已在表单的Init事件代码中设置为公共变量

SELECT SUM(je) FROM srb WHERE gh=cGh INTO ___array________ m && 变量m为数组

DO CASE

CASE m(1)>1600 AND m(1)<2101

nse=(m(1)-1600)*0.05

CASE m(1)>2100 AND m(1)<3601

nse=500*0.05 +( m(1)-2100)*0.1

CASE m(1)>3600 AND m(1)<6601

nse=500*0.05 + 1500*0.1 + (m(1)-3600)*0.15

CASE m(1)>6601

nse=500*0.05 + 1500*0.1 +3000*0.15 +(m(1)-6600)*0.2

ENDCASE

THISFORM.Text1.Value=m(1)

THISFORM.Text2.Value=______nse__________________

THISFORM.Text3.Value=THISFORM.Text1.Value-THISFORM.Text2.Value

SELECT _____srb__________________

SET FILTER TO gh=cGh

GO TOP

THISFORM.REFRESH

42、在Visual FoxPro系统中,建立事件循环的命令为__read event____________。

43.某表单上有一个文本框(text1)和一个命令按钮。单击命令按钮后,将随机产生12个2位的正整数,这些数存储在一个二维数组中,并且在文本框中显示(显示格式为3行4列,如图2所示)。

完善该命令按钮的Click事件代码:

DIMENSION x(3,4)

s=SPACE(0)

FoR i= 1T0 3

FOR j=1 T0 4

n=INT(90*RAND0+10)

x___( i,j )_____=n

s=s+STR(n,4)

ENDFOR

s=s+CHR(13)

ENDFOR

THISFORM.Textl.Value=______(15)__s___________

44.某”电子表"表单(运行时如图3所示)上分别有一个文本框(textl)、计时器(timerl)和命令

按钮(cmdl)。计时器的Enabled属性值为.T.,Interval属性值为500,其Timer事件代码为:

THISFORM.Textl.Value=DATETIME()

命令按钮的标题为”关闭电子表"。若要单击命令按钮时标题在”关闭电子表"和”打开电子表"

之间切换,且当标题为”打开电子表"时计时器停用(即文本框中显示的时间不随时间的变化而变

化)、标题为”关闭电子表"时计时器启用,则可以将命令按钮的Click事件代码设置为:

THIS.Caption=IIF(THIS.Caption="关闭电子表","打开电子表”,”关闭电子表”)

THISFORM.Timerl.Enabled=!ThisForm.Timer1.Enabled (16)

45.数据库SJK中有DD(电子产品)表,其结构和部分记录如下表所示:

图4所示的表单用以查询生产厂商所能推出的产品。表单上组合框(comb01)的数据源为生产厂商

名称列表;列表框(1istl)的数据源类型是SQL语句。完善下列组合框的InterActiveChange事件代

码,其功能是:在组合框中选定厂商后,在列表框中能立即显示该厂商提供的产品名称。

xx=ALLTRIM(THIS.Value)

THISFORM.Listl.RowSource="SELECT cp FROM dd_____(17)_ Where xx$sc __________INTO CURSOR temp"

44.在"表单设计器"中设计表单时,若从"数据环境设计器"中将某表的逻辑型字段拖放到表单中,则在系统默认情况下表单中将会增加一个(20) 复选框对象。

46.某表单上有一个文本框控件,若要该文本框的初值设置为当前系统日期,则可以在该文本框的Init事件代码中设置语句this.value=date()(21) 。

47.对于组合框控件来说,要在组合框失去焦点前检验其值的有效性,可以在(22) valid 事件代码中写入相应的有效性检验代码。

48.在某单位设备管理系统中,数据库SBGL中有设备代码表SBDM.DBF和设备明细表SBMX.DBF,

其结构如下:

SBDM.DBF

宇段名含义字段类型及宽度

DM 设备代码C(8)

PM 设备名称C(20)

SBMX.DBF

字段名含义字段类型及宽度

DM 设备代码C(8)

DJ 单价N(10.2)

某表单运行后如图1所示,其数据环境包含SBDM.DBF和SBMX.DBF表,表单上有2个文本框

控件(Textl和Text2)、4个标签控件(Labell、Label2,Label3和Label4)、1个组合框控件(Combo1)和1个表格控件(GridI)。其中,文本框控件Textl和Text2均为只读;标签控件Labell、Label2、Label3、Label4的Caption属性值分别为“设备代码"、"总金额"、"平均价"和"设备明细表";表格控件的RecordSourceType属性值为4(SQL说明);组合框combo1的RowsourceType属性值为6(字段),Rowsource属性值为字段SBDM.DM,其InteractiVeChange事件代码的功能是:

当选中组合框中某设备的代码时,表格(Gridl)中显示出该设备的设备代码、设备名称和单价的明细记录(注:每条记录的设备件数为1),文本框Textl和Text2分另别显示该设备的总金额和平均价,Label4被选设备名称和"设备明细表"字样。

根据以上所示的表单及要求,填写下列有关内容。

(1)文本框Textl和Text2的( 23 ) readonly 值为.T.

(2)组合框(Combo1)的InteractiveChange事件代码如下:

cDm=ALLTRIM(THIS.Value)

SELECT SUM(sbmx.dj).COUNT(*) FROM sbmx;

WHERE ALLT(Sbmx.dm)=cDm INTO ARRAY cA

THISFORM.Gridl. (24) recordsource ="SELECT sbmx.dm AS 设备代码,;

sbdm.pm AS 设备名称,sbmx.dj AS 单价;

FROM sbgl!sbdm INNER JOIN sbgl!sbmx;

ON Sbdm.dm=Sbmx.dm;

WHERE ALLT(sbmx.dm)=cDm;

INTO CURSOR temp"

THISFORM.Textl.Value=cA(1,1)

THISFORM.Text2.Value=cA(1,1)/cA(1,2)

https://www.360docs.net/doc/2718083910.html,bel4.CAPTION=ALLTRIM(Sbdm, (25) pm)+"设备明细表"

相关主题
相关文档
最新文档