Powerbuilder大连电大模拟考试题_第1页
Powerbuilder大连电大模拟考试题_第2页
Powerbuilder大连电大模拟考试题_第3页
Powerbuilder大连电大模拟考试题_第4页
Powerbuilder大连电大模拟考试题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、填空题:

1、PB系统默认的工作空间(Workspace)文件的扩展名为:(.pbw);库文件(Library)扩展名是(.pbl);目标文件(Target)

的扩展名是(.pbt)

2、PB提供了三种查看和修改数据表的格式,分别为(grid)、(freeform)和(tabular)。

3、定义表结构时需要输入(columnname),(datatype),(width)、dec和null等五个项目。

4、PowerScript提供了4个代词分别为(this)、(parent)、(parenlwindow)和super。

5、PB的变量有四种作用域分别是(local)>(instance(global)和shared(.

6、在PowerScript定义的字符串中,~n表示(换行);~r表示(回车)。

7、在PowerScript定义的字符串中,~t表示(制表符);~“表示(双引号)。

8、PB系统预定义的五个全局变量为(SQLCA)、(SQLDA)、(SQLSA),Error和Message。

9、窗口的属性表共有4页,分别为(general)、(scroll)、(toolbar)和other

10、窗口控件的(visible)属性决定了控件的可视性;(enabled)属性决定了控件的可用性。

11、Groupbox控件只对(radiobutton)控件有效,对其他控件只起(修饰)作用

12、单选钮可表示(2)种状态,复选框可表示(3)种状态。

13、要想使用快捷键ALT+D执行某按钮,只需在按钮控件的标题前面加上(&D)

14、在PB程序中调用windows应用程序C:\WINDOWS\system32\mshearts.exe可用(run("C:\WINDOWS\system32

\mshearts.exe",normal!))命令来实现

15、在PB中执行haltclose语句时,先要触发(application对象)的close事件,然后结束应用程序。

16、使用窗口的继承。后代窗口中所有继承来的控件都不允许(删除)o遇到不需要的祖先控件,可以将该控件

的(visible)属性为False.

17、(模式化)是指在关闭当前响应窗口之前,不能切换到应用程序的其它窗口。

18、函数的入口参数传递方式有三种分别为:(value)、(reference)>(read-only)»

19^timer(5)的作用是(每隔5s触发一次timer耕)。

20、要想选中多个不连续的控件,可以先按下键盘上的(Ctrl)键,然后再陆续单击所需控件。如果要选中全部窗口控

件,可用快捷键(Ctrl+A).

21、PB允许对控件的tab键顺序号进行修改,在输入顺序号时,应处于(英文)输入状态。静态文本类控件的顺序

号默认为(0),表示得不到(活动焦点)。

22、在多行编辑控件中用指定字符串替换当前选定的文本可用(replacetext())函数。

23、在多行编辑控件中返回插入点的位置可用(position())函数,返回字符串的长度可用(len())函数

24、为了实现与数据库的连接,PB提供了两类接口,即(ODBC接口)和(专用接口)。

25、PB默认的事物对象是(SQLCA),它包含了(与数据库连接的相关属性参数),是一个不可见的对象。

26PB中有五种数据源:(QuickSelect)、(SQLSelect)>(Query)、External和StoredProcedure。

27、(存储过程)是一组保存在数据库中的,经过预先编译和优化的,执行数据库操作的SQL语句,使用存储过

程有两个好处:一是(减少网络通信量),二是(提高查询速度)。

28、将数据窗口中的数据保存到数据库中去的函数是(update());将数据窗口中的某一行删除,应使用函数

(deleterow())

29、在各种数据窗口中,(composite)格式可以把已有的数据窗口对象组合到一起,形成组合式数据窗口对象

30、默认对象名st」,sle」,cb_l分别标明该对象是(静态文本)、(单行编辑框)、(命令按钮)。

31、graph格式的数据窗口对象是以统计图的形式表现数据,它将数据组织成(series),(categories)和(values)

三种元素

32、数据窗口是(表现数据信息)的最常用,最直接,最完整的控件。在PB中,(数据窗口控件)与(数据窗口对

象)的结合构成了应用程序访问和操作数据库数据的主要手段。

33、在定义检索条件时,如果条件中的值在程序运行时才能确定,那么就需要使用(检索参数),它是在SLQselect

语句的(Where)子句中使用的参数

34、将数据窗口控件dw_l关联的数据窗口对象换成d_a,可以用(dw」.DataObject="d_a'‘)语句

35、当在窗口中使用数据窗口时,在打开窗口时,一般使用(SetTransObject())或(SetTrans())函数将DataWindow

控件与事务对象联系起来,使用DataWindow控件的对象函数(Retrieve())将数据库中的数据装入数据窗口中。

36、数据窗口在处理数据时,它在客户机的本地内存中开辟了4个缓冲区,分别为:(主缓冲区),(删除缓冲区)、

过滤缓冲区和原始缓冲区

37、数据窗口在处理数据时,它在客户机的本地内存中开辟了4个缓冲区,分别为:主缓冲区,删除缓冲区、(过

滤缓冲区)和(原始缓冲区)

38、在使用数据窗口控件中,插入数据时,数据存入在(主)缓冲区中,当删除一行时,被删除的数据从(主)缓

冲区移动到(删除)缓冲区。

39、过滤缓冲区中的记录行数可以通过(filtercount())函数得到。利用(setfilter。)可以动态改变过滤条件。

4()、数据窗口的编辑状态标志是个枚举类型的量,其取值分别为:notmodified!、(datamodified!)s(new!)和

newmodified!

41、数据窗口的编辑状态标志是个枚举类型的量,其取值分别为;(notmodified!)、datamodified!,new!和

(newmodified!)

42、当数据窗口中的列可以编辑时,系统自动创建一个(编辑控件)“漂浮”在(得到输入焦点的可编辑项)上。

43、数据窗口对象使用的计量单位有4种选择,默认的选择是:(powerbuilder(O)),即使用是(PUB)单位,它的

优点是使用它设计出来的应用程序在不同的监视器和不同平台上运行(外观保持一致)。

44、列表框显示的项目,也可以在(item)属性页的列表框中直接输入,也可以在程序中使用(additem())函数动

态添加。

45、向列表控件lb_l中添加一“市电大”项目的语句为(lb」.additem(“市电大”))。删除lb_l列表对象第3个列表项的

语句为(lb_l.deleteitem(3))

46、在PB开发过程中,数据库的操作步骤是:创建数据库、(定义ODBC数据源)、配置DB和(连接数据库)

47、用户对象是(封装了一组相关代码和属性、完成特定功能)的可重用对象。

48、在PB应用系统中,系统的运行是由(事件)来驱动的。

49、PowerScript中可以嵌入SQL语句,其中(COMMIT)和(ROLLBACK)语句分别完成向数据库提交或回滚操

作。

50、Accepltext()函数不能在(itemError)和(itemchanged)事件中,否则会选成死循环。

二、选择题

1、用PB开发一个医院门诊管理系统,此系统的目标(Target)为Thospital、工作空间(Workspace)为Whospitak登录窗

口(window)为w_login、应用对象(Application)为Ahospital,其逻辑顺序应该是(D)

A、w_login->Whospital->Thospital->AhospitalB、Ahospital->w_login->Thospital->Whospital

C>Thospital->Whospital->w_login->AhospitalD、Whospital->Thospital->Ahospital->w_login

2、在登录窗口w」ogin打开一个主窗口w_main时,使用了函数OpenWithParm(w_main,lstr_user),其中lsir_user是一

个字符串参数变量。当打开窗口w_main后,可以使用此参数值。在w」ogin和w_main之间传递此参数是依靠(A)

完成的?

A、MessageB、TransactionC、ErrorD、Datastore

3、PB窗口由(D)组成。

A、属性、事件、函数和代码B、控件、事件、函数和文件

C、属性、记录、函数和控件D、属性、事件、函数和控件

4、以下定义的PowerScript标识,(B)不正确?

A、string_stringB、%string_slringC、String_n2ameD、String_Parent

5、以下是PowerScript脚本语句:

Integera[3,2]={12,3,4,5,6}

Integerb[4.4]

b=a

执行程序后,b[2,3]的值是(A)

A、0B、4Cs5D、6

6、下列运算符优先最高的是(A)o

A、++B、AC、*D、NOT

7、S=“123”+“246”的结果是(C)

A、369B、“369”C、“123246”D、123456

8、执行语句ret=messagebox(“例题","是否存盘",question!,yesnocancel!,3),出现了提示框时点击NO按钮,变量ret

的值为:(B)

A、1B、2C、3D、0

9、运行PB应用程序的快捷键是(A).

A、ARB、F5C、Ctrl+Shift+PD、AP

10、在开发应用程序过程中,需要从多个选项中选择一项内容时,应该选用(A)。

A、单选按钮B、复选按钮C、多行编辑框D、数据窗口

11、在开发应用程序过程中,需要选择多个项目时,应该选用(B)。

A、单选按钮B、复选按钮C、多行编辑框D、数据窗口

12、(B)是一种使用图标和文本标签集来表达数据的高级控件。

A、列表控件B、列表视图控件C、下拉列表控件D、树状视图控件

13、使用(C)格式的数据窗口格式能够比较直观的反映数据之间的关系,而且当数据库中的相关数据改变后,数

据窗口对象中的统计图不会因为数据的修改变的无效。

A、groupB、crosstabC、graphicD、label

14、在PB中有一-种类型的窗口不依赖于其它任何窗口而独立存在,它既能够覆盖其它窗口,也能够被其它窗口覆

盖,这种类型的窗口是(C)

A、响应窗口B、弹出式窗口C、主窗口D、子窗口

15、窗口对象是PB应用程序的一个主要组件,只有加载到窗口上才能在应用程序中起作用的对象是(C)o

A、库对象B、工程对象C、数据窗口对象D、应用对象

16、PB是一种深受广大用户欢迎的快速应用开发工具,它与其他应用开发工具比较,最具有特色的是(D)

A、支持面向对象的开发方法B、提供可视化图形用户界面

C、使用ODBC与多种数据库连接D、可通过数据窗口访问数据库

17、要删除一个不再使用的表时,在菜单中选择(C)操作。

A、deletetableB、cleartableC、droptableD、closetable

18.编辑风格影响用户输入和修改数据的方法。当在数据窗口中输入人员的性别时,宜选用(C)编辑风格。

A、EditB、EditMaskC、RadioButtonsD>DropDownListBox

19、一个PB应用程序必须具备的对象是(C

A、window对象B、datawindow对象C、application对象D、pbl对象

20、要删除对象级结构,需在(C)中操作。

A、pbl库管理器B、结构画板C、对象画板D、资源管理器

21、默认情况下不带有标题栏的窗口类型是(B)。

A、popup!B、child!C^response!D、mdihelp!

22、编辑风格影响用户输入和修改数据的方法。当在数据窗口中输入人员的出生日期时,宜选用(B)编辑风格。

A、EditB、EditMaskC、CheckBoxD^DropDownListBox

23、创建数据窗口时可以不与数据库连接而直接选用的数据源是(D).

A、quickselect数据源B、query数据源C、storeprocedure数据源D、external数据源

24、设置数据窗Udw」第3行startdate字段为2003-1-14,程序为(A):

A,dw_1.setitem(3startdate)5,2003-1-14)B、dw_l.setilem(3,2003-1-14,''startdate'')

C、dw_1.setitemdate(3,"startdate,,,2003-l-14)D、dw_l.setitemdate(3,2003-1-14,“startdate'')

25、(D)表现风格可以在一个数据窗口对象中包含多个预先定义好的数据窗口。

A、GroupB、CrosstabC、N-UpD、Composite

26、在设计数据窗口时,如果要在检索出的数据的最后显示统计结果,应把统计公式放在数据窗口的(D

A、detail区域B、footer区域C、grouptrailer区域D、summary区域

27、如果在一个窗口中放置了一个选项卡tab_l,它具有2个选项页tabpage」和tabpage_2,在tab_page2上乂放置

了一个单行编辑框sle_l,如果要在窗口的open事件中为sle」的text属性赋值,(A)条语句是正确的。

A、tab_l.tabpage_2.sle_l.texl=''test"B、sle_I.text=''test"C、labpage_2.sle_l.text=,,tesf,D、super:sle.texl="test"

28、按钮的作用是删除数据窗口控件dw」中显示内容的当前行,那么其clicked事件的代码应是(B)。

A,Dw_l.deleterow()B、Dw_l.deleterow(O)C、Dw_l.deleterow(getrow())D、Dw_l,deleterow(thisrow())

29、窗口对象通过(A)属性实现与选单对象的关联。

A、MenuNameB、NameC、MenuObjectD、Menu

30、在PowerBuilder中有一种类型的窗口可以显示在父窗口的前面,它既可以移出父口,也能覆盖父窗口,但不

能被父窗口覆盖,当父窗口最小化时,该窗口随之隐蔽,父窗口被闭时,该窗口也随之关闭。这种类型的窗口是(D)o

A、响应窗口B、子窗口C、主窗口D、弹出式窗口

31、(B)提供了在数据库内部、数据库之间,甚至不同的数据库管理系统之间快速复制数据的简便途径。

A、结构B、数据管道C、函数D、PBL库管理器

32、ASA数据库中数据表中记录的输入方式不包含(D)。

A、GridB、FreeFormC^TabularD^Graph

33、在dalawindow中,视图与表的惟一区别就是(C)

A、在视图中只能检索而不能增加、删除和修改数据

B、在视图中只能增加记录而不能修改数据

C、在视图中只能检索和删除记录而不能增加和修改数据

D、在视图中只能检索、增加和删除记录而不能修改数据

34、下列关于数据窗口控件函数retrieves的论述正确的是(A)。

A、返回值为long型,表示检索到数据的记录数B、返回值为integer型,表示检索到数据的记录数

C、返回值为long型,表示数据表中的记录数D、返向值为integer型,表示数据表中的记录数

35、数据窗口对象中某字段的数据显示方式设置为:“¥#,##();-¥#,##0;零;空”,则该字段的数值为-53时,显示为

(B)o

A、¥5,300B、・¥53C、零D、空

36、数据窗口控件的DataObject属性的数据类型是(A)。

A^stringAnyC^datawindowD、枚举类型

37、数据窗口可以用图形表示数据,其图形组成元素不包含(D)o

A、SeriesCategoriesC^ValuesD、Group

38、在访问数据库时,为了不显示出错误信息,可以让数据窗口控件的(C)事件的返回值为1

A、ErrorEditchangedC、DBerrorD、ItemError

39、有以下程序:

integers,i

s=0

i=100

do

S+=!

i+=2

loopuntili>99

执行程序后s的值(B)

A、0B、100C、4849D、5050

40、定义一个两维整型数组name,一维下标从2变化到5,二维下标从1变化到10。其语句格式为(D)

A^integername[2-5,10]B、integername[2,5,10]C、integername[2-5,10]D、integername[2to5,10]

41、在数据窗口中当用户修改了字段,然后移走焦点、但数据未能通过该列的有效性检查时会触发(B)事件

A、ErrorB、ItemErrorC、ItemChangedD>DBError

42、在数据窗口控件函数dwcontroLGetItemSlatus(row,column,dwbuffer)中,dwbuffer用来指定数据窗口控件函数访

问的缓冲区,其默认值为(A)

A、Primary!B、Delete!C、Filter!D、Modified!

43、执行以卜语句:

stringperson

setnull(person)

则变量person的值为(A)

A、空值B、0C、空串D、空格

44、对象函数的访问属性Access不包含(C)»

A、PublicB、ProtectedC、LocalD、Private

45、一般来讲,建立数据窗口时,所选择的数据风格Grid用于建立(B)比较合适。

A、数据输入窗口B、数据列表窗口C、标签窗口D、分组窗口

46、在应用程序中打开一个窗口时,事件open、activate,show发生的先后顺序是:(B)

A、open->activate->showB、activate->open—>showC、show->activate->openD、show->open->activate

47、如果PB的菜单项比较多,可以把菜单项用分类线隔开,其方法是在二类菜单项间插入一个(B)。

A^加号B、减号C、破折号D、下划线

48、下列四个选项都是TreeView控件的事件,(D)表示“当用户拖动一个对象并且进入到一个控件时发生”。

A、DragWithinB、DragLeaveC^DragEnterD、DragDrop

49、一般说来,选单中的每个选单项都需要对(D)事件编程,以响应用户的选择操作

A、helpB、selectedC、dohittestD、clicked

50、在PB的DataWindow的设计视图,下列(A)Band显示DataWindow的标题栏?

A,HeaderB、DetailC、SummaryD、Footer

51、下列关于PB函数或事件的参数传递的论述错误的是(D)

A、value传递的参数,其值在函数或事件中可修改

B、Readonly传递的参数,其值在函数或事件不可修改

C、Reference传递的参数,其值在函数或事件中可修改

D、Reference传递的参数,其值在函数或事件中不可修改

三、简答题

1、举例说明adaptiveseveranywhere数据库的操作步骤

答(1)单击工具栏上的database图标

(2)在弹出的database画板中,打开objects子窗口,展开"ODBODBC”项下的utilities目录

(3)XXutilities目录下的**CreateASAdatabaseM项,弹出**Createadaptiveserveranywheredatabasev对话框

(4)单击uBrowse"按钮,弹出"createDatabase"对话框,在对话框中选择'mypbex目录,在文件名一栏中

输入数据库名称“mydatabase”,单击保存,返回"Createadaptiveserveranywheredatabase”。

(5)使用默认的用户usetid项“dba”和默认的口令password项“sql”,单击OK按钮。PB在\mypbex目录下创建

一个ASA数据库mydatabase.db,同时,自动为数据库配置ODBC和DBProfile,并且已经连接到新建数据库

2、什么主键、外键、索引、视图、存储过程?

答:主键是唯一标识一个记录的列或列的组合,即表中任意两行的主键值都不能相同。

索引是在数据库中实现表中数据逻辑排序的方法,建立索引的列可以是一个列,也可以是多个列的组合。

外键的作用是可以检查数据,避免数据的不一致。

视图是一种虚拟表,它可以像表一样的访问和使用。视图一旦建好,就不能修改,想要修改就只能删除。它只能检

索和删除记录,不能增加和修改数据。

存储过程是由流控制和SQL语句书写的过程,经编译和优化后存储在数据库服务器中,使用时只要调用即可。

3,简述空值的含义及使用

答:空值NILL是PB与数据库交换数据时使用的一种特殊值,代表数据未定义、不确定。它与空字符、空字符串、

数值零以及日期00-00-00的意义完不同。空值既不是零也不是非零的任何数值。

赋空值可有以下两个途径:(1)从数据库中读到空值(2)使用setnullO函数赋值

例:stringperson〃定义person初值为

setnull(person)//person的值为NULL

测试变量或表达式是否为空值时,使用函数isnull()

例:ifisnull(person)then

4、举例说明choose……case语句中判断表达式的儿种常见的表现形式

答:(1)单个值,例,‘A'

(2)由逗号隔开的若干个值,例:2,4,8,“A”

(3)某一区间,例:Ito8,EtoH

(4)is表达式,例:is>30

(5)混合,例:2,4,7to15,is>20

5、试说明messagebox函数各参数的含义

答:messagebox()函数用来向用户显示信息。

函数格式:si_button_pressed=messagebox(title,text,icon,buttons,default)

title:string类型,指定消息对话框的标题

text:指定消息对话框显示的消息,该参数可是是数值、字符串和逻辑类型

icon:枚举类型,可选项,指定对话框左侧显示的图标,值可为:information!>stopsign!>exclamation!Question!,

none!»

buttons:枚举类型,指定显示在对话框底部的控钮。值为:ok!、Okcancel!,yesno!、yesnocancel!、retrycancel!,

abortretryigore!»

Default:数值型,指定默认按钮的编号,按钮的编号从1开始,自左向右依次计数。

例:MessageBox('1example","hehe",question!,yesnocancel!,3)

6、试说明窗口的close和closequery两个事件的区别

答:Closequery事件是在开始关闭窗口时,发生该事件,如该事件返回值是1,不会关闭窗口,也不会触发close

事件,如果返回值不等于1时,才触发close事件,关闭窗口。close事件是在窗口关闭时发生,触发了该事件后没有

办法阻止窗口关闭操作。

7,试说明Local变量和Instance变量的区别?

答:在事件和函数中定义的变量都是Local变量,它的作用范围仅在所在的事件和函数内,在别的事件和函数中不

起作用。Instance变量是一种特殊的变量,它的作用范围是不仅在对象的全部事件及函数,而且包括该对像的所有控件

的事件及函数。

8、简述窗口控件的复制方法。

答:复制方法可以分两大类:(1)外观复制。它只复制控件的外观和属性。实现方法是:选中需要复制的控件,

可以是一个或多个,然后使用Ctrl+T(2)完全复制。它将控件的外观、属性和所有事件代码全部复制出来。实现方法是:

选中需要复制的控件,可以是一个或多个,然后进行复制。方法是:用Ctrl+C复制到剪切板中,按Ctrl+V粘贴出来,

复制出来的新控件与被复制的控件重叠在•起,用鼠标将其拖开,并根据需要对新控件进行修改。另外也可以用菜单

和工具栏中的相应的剪切和粘贴命令来完成。

9、如何给一个控件加快捷键?

答:对于有标题的控件加快捷键的方法很简单,只要在定义标题时,在标题的前面加匕“&”字符和快捷键字符即

可,对没有标题的控件,定义快捷键的方法如下(1)选中控件(2)在属性表“general”页的“accelerator”编辑框中

输入快捷键字符(3)选中对其说明的静态文本框,在文本前面加上&字符和快捷键字符,用于对快捷键进行说明。

10、什么是数据窗口对象?它与数据窗口控件有什么联系。

答:数据窗口对象是PB中一种功能十分强大的对象,它是对数据库进行操作的窗口。数据窗口对象主要用于展示

数据并允许用户增删改数据,数据窗口控件则把数据窗口对象放置到窗口上并呈现在用户面前。数据窗口对象是与数

据库中的表关联的,实际上是SQL语句的视图化形式。而数据窗口控件是与数据窗口对象关联的,数据窗口对象必须

通过数据窗口控件才能使用。

11、PowerScript中的标识符的规则是什么?减号能用在标识符中吗?它与用作算术符有何区别?

答:(1)标识符的命名遵从下述规则:

①标识符必须以英文字母或者下划线开头。

②标识符不能是保留字。

③标识符只能由字母、数字和以下特殊字符组成。短划线、下划线、美元符“$"、号码符学”和百分

号“%”。

④标识符不区分大小写字母。

⑤标识符不能超过40个字符,且中间不能出现空格。

(2)减号能用在标识符中,但为了与使用减号区分开,在使用减号时,需要在前后加空格,否则PowerScript

会把表达式当作标识符来处理,而出现编译错误。

12、数据窗口对象的数据源有哪几种?各自的特点是什么?

PB中有五种数据源:QuickSelect、SQLSelect、Query、External和StoredProcedure。

其中QuickSelect主要用于从一个表或多个通过外部键(ForeignKeys)连接的表中选择某些数据列,而且这些数据

列都是非计算列(即不是通过运算得出的列);SQLSelect主要用于从一个表或多个表中通过SQL语句来选择数据;

Query数据源的数据来源于,■个已经定义并存储的Query之中;external数据源用于让数据窗口访问数据库之外的数据,

比如文本文件、用户输入、ini文件或其它非DBMS数据库来源的数据,同时用户界面上能够充分发挥数据窗口的长处,

避免复杂编程;StoredProcedure数据源只有■用户所连接的DBMS支持StoredProcedure时才会出现在对话框中,它的

数据来源于数据库中所定义的StoredProcedure。

13、请说明在数据窗口中使用条件位图的实现方法。

答(1)在数据窗口对象画板中,单击工具栏上的控件组合图标下拉列表框,选中其中的“picture”控件(2)在

需要使用条件位图上单击,弹出“selectpicture”对话框,选中一个图片,然后单击“打开”按钮,该图片就出现在数据

窗口对象的字段栏中,也可以在图片控件的属性卡中的“filename”栏中指定图片名称。(3)调整图片的大小,让其覆

盖要取代的字段(4)选中图片控件,单击属性卡”general”页中的“visible”复选框右边的表达式图标,弹出“visible”

表达式对话框。(5)在“visible”表达式对话框的“expression”编辑框中输入条件表达式,单击OK完成设置。

14、PB支持哪些文件类型的导入和导出?怎样进行数据窗口对象数据的导入与导出?

答(1)导入支持的文件类型:以制表符分割的文本文件.txt和Dbase文件

导出支持的文件类型:CSV、Dbase、DIF、Excel,HTMLtable、Powersoftreport.SQL、SYLK、text、WKS,WK1

和WindowsMetafile等

(2)向数据窗口导入数据的方法:在数据窗口画板中,单击preview预览子窗口,选择选单“rowslimport…”,弹

出“selectimportfile”对话框,在文件类型中选择要导入的文件类型,指定文件后,单击“打开”按钮。如果数据正确,

就被导入到数据窗口对象中,单击“savechanges”图标按钮,就将数据保存到数据库中了。

从数据窗口导出数据的方法:在数据窗口画板中,,选择选单“filelsaverowsas…”,弹出"另存为''对话框,在文

件类型中选择需要保存的文件类型,输入文件名,单击“保存”按钮。也可以用saveas()函数用程序来实现数据窗口对

象中数据的导出。

15、使用数据窗口的基本过程。

答(1)创建数据窗口对象。(2)在窗口对象中布置数据窗口控件,并将数据窗口控件的dalaobject属性与数据窗

口对象关联(3)为数据窗口对象分配事务对象,将数据从数据库中检索到数据窗口中。(4)必要时,编写使用的对象

和控件的事件脚本。

16、试说明PB的数据处理机制。

答:数据窗口在处理数据时,在客户机的本地内存中开辟了4个缓冲区:主缓冲区、删除缓冲区、过滤缓冲区、

原始缓冲区。使用数据窗口控件的Retrieve()函数从数据库中提取数据后,数据被存入了数据窗口的主缓冲区中,程

序对数据窗口中数据的操作均在缓冲区中完成。当插入数据时,插入的数据也存放在主缓冲区。当删除数据行时,被

删除数据行从主缓冲区移动到删除缓冲区。当使用Update()时,被成功删除的记录均从删除缓冲区中清除。在保存

数据时,删除缓冲区用于生成DELETE语句。过滤缓冲区用于保存那些满足数据源定义。原始缓冲区保存数据窗口从

数据库中检索出的原始数据。

17、选单有哪儿个种类。各有什么特点?

答:选单有三种类型:下拉选单、弹出式选单和级联选单。

下拉选单:它有选单标题、选单项组成,用户选择选单标题后,该标题下的选推项即被弹出。

弹出式选单:它与对象相关联,通常又称为上下文相关选单。一般来说,当用户右击某个对象时,出现弹出式选

单。

级联选单:它可以出现在下拉选单、弹出式选单中,在其父选单项后面有个向右箭头符号,指示该选单项后面有

级联选单。

18.举例如何建立一个弹出菜单?

弹出式菜单的制作途径有如下两种:

(1)通过PopMenuO函数

PopMenu()函数把已定义的并且与当前窗口关联了的菜单作为弹出式菜单显示。如果要将一个菜单(名称为caidan)

的某个菜单项(名称为111_编辑)作为一个对象(如命令按钮)的弹出式菜单使用,则只需把下面的语句写到该对象的

RbultonDown事件中即可。

caidan.m_编辑.PopMenu(pointerX(),pointerY())

(2)通过创建菜单实例

如果要弹出的菜单没有与当前窗口关联,则在要显示弹出式菜单之前,必须先创建菜单对象。所以把尚末与当前

窗口相关联的菜单作为弹出式菜单使用时,需要先声明菜单变量并创建菜单实例。方法如下(假设我们已经用菜单画

板创建了名为pop_menu的菜单):

pop_menum_popmenu

m_popmenu=Createpop_menu

19、什么是用户事件,在哪些情况下经常使用用户事件

答:应用程序需要某种特殊控制、需要在特定情况卜执行某段代码、对象间需要灵活的通讯,可以根据需要定义

自己的事件来完成这些特殊需求,这类事件就称用户事件。

在下列情况下经常使用用户事件:

(1)解决对象与窗口之间的通讯问题。用户事件可以通过参数进行信息传递。

(2)响应特殊操作,这些操作没有相应的PB预定义事件。

(3)支持用户通过多种方式完成同一个功能。

20、简述SetTransObject()和SetTrans()两函数的区别。

答:SetTransObject。函数的特点是,在使用之前要求建立事务对象与数据库的连接,一直保持这一连接,直到代

码执行DISCONNECT语句后才断开与数据库的连接。它在检索和更新数据时所花的时间只是检索和更新所需的时间,

效率上明显高于SetTrans()函数。

SetTrans()函数的特点是,用户不必先进行数据库的连接,而是每进行一次数据库操作,都会自动产生一个数据

库的连接,并在操作结束时自动断开与数据库的连接。每当操作数据库时,都会完成连接、操作、断开数据库这一系

列步骤。

对绝大多数数据库管理系统来说,CONNECT>DISCONNECT操作是件极为耗时的工作。如果应用程序对数据

库操作频繁,SetTrans需要花费的资源比较多,效率比较低。一般应用在远端使用应用程序或者对数据库操作较少的

场合。

21、试说明语句FOR...NEXT、RETURN,CONNECT.CONTINUE,CALL的作用。

答:for…next是一种循环次数确定的循环语句,它使循环体内的语句执行规定的次数,该语名的语法格式为:

FORvarname=startTOend{STEPincrement)

statementblock

NEXT

RETURN语句立即终止事件处理程序或函数的执行,并把控制返回到调用程序。

CONNECT语句用来建立到数据库的连接,同时标志着一个事务的开始。

CONTINUE用在DO...LOOPFOR...NEXT循环控制结构中,功能是跳过循环体的剩余语句直接开始下一次循环,

即开始执行循环体的第条语句。

CALL语句用于在子孙对象的程序中调用祖先对象中的程序(函数或事件)。

22、编程求N!(N!=NX(N-l)X•••X3X2X]),

答:代码如下

integeri

decn,s=l

n=dec(sle_l.text)

fori=lton

s=s*i

sle_2.text=string(s)

23、编写自定义函数,实现三个数中得到最大的数。

答:打开函数画板,进行自定义函数操作。代码如下:

integerz

ifa>bthen

z=a

else

z=b

endif

ifc>zthen

z=c

endif

returnz

24分别使用while>do_while>for语句实现1力口至U1000的计算。

答:

)2)3)

A=0A=0A=0

N=1N=1FORN=1TO1000

DOWHILEN<1001DOA=A+N

A=A+NA=A+NNEXT

N=N+1N=N+1

LOOPLOOPWHILEN<1001

25、请指出下列程序代码中的5处错误,并说明错误原因。

Stringlstr_longName,lstr_shortName

StringPrior,Before

IntegerI,j

lstr_longName=lstr_shortName="Jane”

1=1

J=i+4-

IfPrior=NULLThen

MessageBox(Mwarning0,"aerror'1)

EndIf

lstr_longName=lstr_short&

name+"Miss',

答:

第1处:Prior保留字不能为标识符命名

第2处:lstr_shortName="Jane"是关系表达式,不能用一个表达式给变量赋值

笫3处:j=i++不能用一个表达式给变量赋值

第4处:Prior=NULL字符串不能与NULL比较

第5处:Istr_shortName是一个变量,不能用&分开,否则会提示;lstr_short和name没有定义。

四、程序设计题

1、程序界面如下,编写脚本完成如下功能

(1)双击左边列表框(lb_l)中的某个项目,把它移动到右边列表框(lb_2)中

(2)双击右边列表框(lb_2)中的某个项目,把它移动到左边列表框中

(3)单击“>>”按钮(cb」),把左边列表框中的所有项目移动到右边

(4)单击“>”按钮(cb_2),把右边列表框中的所有项目移动到左边

(5)单击按钮(cb_3),把左边列表框中所有选中的项目移动到右边

(6)单击“vv”按钮(cb_4),把右边列表框中所有选中的项目移动到左边

答(1)1b」的doubleclicked事件,脚本代码为:

ifthis.totalselected()=1then

lb_2.additem(this.selecteditem())

this.deleteitem(this.selectedindex())

endif

(2)lb_2的doubleclicked事件,脚本代码为:

ifthis.totalselected()=lthen

lb_1.additem(this.selecteditem())

this.deleteitem(this.selectedindex())

endif

(3)“>>”按钮(cb_l)的clicked事件,脚本代码为:

inti

fori=lb_l.totalitems()to1step-1

lb_2.additem(lb_l.text(i))

lb_l.deleteitem(i)

next

(4)“>”按钮(cb_2)的clicked事件,脚本代码为:

inti

fori=lb_l.totalitems()toIstep-1

iflb_l.state(i)=lthen

lb_2.additem(lb_l.text(i))

lb_l.deleteitem(i)

endif

next

(5)“v”按钮(cb_3)的clicked事件,脚本代码为:

inti

fori=lb_2.totalitems()to1step-1

Ib_l.additem(lb_1.text(i))

lb_2.deleteitem(i)

next

(6)“<<”按钮(cb_4)的clicked事件,脚本代码为:

inti

fori=lb_2.totalitems()to1step-1

iflb_2.state(i)=lthen

lb_1.additem(lb_1.text(i))

lb_2.deleteitem(i)

endif

next

2、ODBC数据源xjgl对应数据库中有一张表stu_cjb,userid为dba,password为sql,其结构如F:

字段名含义类型长度

Sid学号char8

Name姓名char8

Scol语文integer

Sco2数学integer

Sco3英语integer

现要实现一个单窗口应用程序,用卜图方式输入学生成绩。单击“增加”时在末尾增加一个记录,并将焦点设置到

学号输入位置;单击“删除”,把当前行删除,单击“存盘”时将当前录入的数据保存到Stu_cjb中;单击“退出”时

关闭窗口退出运行。

设数据窗口控件的名字为dw_l,窗口对象的名字为w_xjgl,请完成以下题目:

(1)给出应用程序对象的open事件的脚本程序

(2)写出窗口w_xjgl的open事件的脚本程序。

(3)“增加”控件的clicked事件的脚本程序。

(4)“存盘”控件的clicked事件的脚本程序。

(5)“删除”控件的clicked事件的脚本程序。

成籍管理-Inix|

姓名

学号语文数学英语▲

1李688493增加

2756887

3847991

4668475

5879496

卢斌存盘

6698588

7746877

关闭

8李768190

9东917689

10846571

zJ

(1)给出应用程序对象的open事件的脚本程序

sqlca.dbms="odbc"

sqlca.dbparm="connectstring='dsn=xjgl;uid=dba;pwd=sqr,'

connect;

ifsqlca.sqlcodeoOthen

messagebox("连接失败不能连接数据库”)

halt

else

messagebox("连接失败已连接数据库”)

open(w_xjgl)

endif

(2)写出窗口w_xjgl的open事件的脚本程序。

dw_1.settransobject(sqlca)

dw_l.retrieve()

(3)“增加”控件的clicked事件的脚本程序。

integerrow

row=dw_l.insertrow(O)

dw_l.scrolltorow(row)

dw_l.setfocus()

(4)“存盘”控件的clicked事件的脚本程序。

integerret

ret=dw_l.update()

ifret>0then

commitusingsqlca;

else

rollbackusingsqlca;

endif

(5)“删除”控件的clicked事件的脚本程序。

dw_1.deleterow(0)

3、针对以下应用程序创建用户自定义事件,完成以下功能:

(1)在数据窗口中,按回车键可以跳到下一个输入项,而不是下一行。当在最后一行的最后一列按回车键时,将

增加一个空行。

(2)在数据窗口dw_l的最后一行按向下的箭头键I时,增加一个空行。

,成转管理-Inix|

姓名

学号语文数学英语▲

1李688493增加

2756887

3847991删除

4668475

5879496

卢斌存盘

6698588

7746877

8768190关闭

9东917689

10846571

答(1)给数据窗口dw」定义•个用户事件u_keyenter,事件号为pbm_dwnprocessenter,当焦点落在该控件上时,按

回车键将触发u_keyentero

给u_keyenter编写代码:

intcol

longrow

co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论