欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    PB考试试题及答案.doc

    • 资源ID:52203493       资源大小:45.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    PB考试试题及答案.doc

    PB考试试题 1、 什么是窗口或控件的消息队列 控件(包括窗口)都可以响应一系列的不同事件,当多个事件发生时,这些事件会根据触发先后或者触发方式(比如Trigger, Post)不一样,建立一个事件的消息队列来依次执行。PB中的消息队列和VC中的消息队列是一样的,只是VC中允许显式的处理,而PB则基本上自动处理了,不过也预留了二部分的接口,一是预定的一些方法名,如close(),open(),size()等,这些基本上对应了VC中的WM_CLOSE,WM_CREATE,WM_SIZE,而还有一类是要自定义的,方法就是在PB中新建一个事件,然后在事件ID列表中选择一个ID号,就可以处理相对应的事件。 2、窗口和控件的区别是什么? 窗口是应用程序与用户交流的主要界面,用它可以显示系统的有关信息,响应用户的鼠标和键盘输入等等;控件是对数据和方法的封装,它可以有自己的属性和方法。属性是控件数据的简单访问者;方法则是控件的一些简单而可见的功能。3、什么是上下文? 一种属性的有序序列,它们为驻留在环境内的对象定义环境。在对象的激活过程中创建上下文,对象被配置为要求某些自动服务,如同步、事务、实时激活、安全性等等。多个对象可以存留在一个上下文内。也有根据上下文理解意思的意思。上下文对象描述的是应用程序执行的上下文信息,包括当前版本、是否在PB环境内按window插件或ActiveX控件运行等。 使用上下文信息,你可以修改显示信息和应用程序行为。4、什么是上下文服务? 是为上下文所标置的对象配置相应的同步、事务、实时激活、安全性等,并且为其提供一个相应的软件运行环境。5、在建表的时候忘了添加列的唯一性指定,后来发现错误了,想加上去,结果提示有一个两行是不唯一的,问如何知道是哪两行不唯一,使得出现错误? 对表的所有字段创建唯一索引,通过异常来获得含有相同值的rowid,然后关联原表来实现.生成测试表及测试数据。6、什么叫继承?PB的非可视对象能否实现继承? 继承就是面向对象中类与类之间的一种关系,继承的类称为子类,派生类,二被继承的类称之为父类、基类或超类。通过继承,使子类具有与父类相同的方法与和属性,同时子类也可以加入新的属性和方法或者修改父类的属性和方法简历建立新的类层次。PB的非可视对象能实现继承,也能实现相应的代码重用。7、PB自定义对象中可视对象和非可视对象的区别?使用中两种对象都需要声明吗? 非可视对象是一个没有可视化对象的特殊处理对象。在此对象中不存在类似于数据窗口、按钮、列表框等可视对象,但它拥有自已的数据,以及处理这些数据的函数和事件。这些数据、函数和事件可以被认为定义了非可视对象的接口,我们通过接口来与非可视对象进行通信,也可以直接访问它的公有数据;可视对象是指可以是在舞台上显示出来的任何实例(如按钮、电影剪辑、Loader、UI控件等),这些都是从DisplayObject派生的子类。可视对象不需要声明,非可视对象需要声明。8、Datawindow中每页打印固定行,如何设置? 1增加一个计算列,此计算列必须放在Detail段,Expression中输入: ceiling(getrow()/20)这里20还可以用全局函数取代,这样可以允许用户任意设置每页打印多少行。 2 定义分组,选择菜单Rows->Create Group. 按计算列字段分组,并一定将check box->New Page On Group Break选中。 3 将此计算列设为不可视。9、使用Update函数保存数据之前,通常要判断数据窗口中是否有主键重复的数据,如果有重复则不允许提交。如果我们不编写程序判断,数据窗口本身业可以进行校验,但是显示的都是英文的提示信息。为此,我们通常在DBError事件中返回1以屏蔽该英文的提示信息,然后编写程序进行主键重复判断。 进行主键重复判断,实现的方法很多,效率高的不多。这里介绍的是效率非常高的一种方法。该方法的思路是,通过过滤,将只显示过一次的数据虑除,如果过滤之后数据窗口中还有数据,则说明有重复数据,代码如何实现? string   ls_fieldname long   ll_rc ls_fieldname   =   "dept_id " ll_rc   =   dw_1.RowCount() dw_1.SetFilter( " ") dw_1.Filter() dw_1.SetSort(ls_fieldname   +   "   A ") dw_1.Sort() dw_1.SetFilter(ls_fieldname   +   "   <>   "   +   ls_fieldname   +   "-1   or   GetRow()   =1 ") dw_1.Filter() if   dw_1.RowCount()   <   ll_rc   then MessageBox( "注意 ",ls_fieldname   +   "列中存在重复的数据! ",StopSign!) end   if  10、请问一下两种代码哪种有信息框提示,为什么? (1)String   ls_name,ls_temp     SetNull(ls_temp)   Ls_name   =   "张三 " Ls_name   =   ls_name   +   ls_temp If   IsNull(ls_name)   Then   MessageBox( "提示 ", "空值! ")   (2)String   ls_name,ls_temp SetNull(ls_temp) Ls_name   =   "张三 " If   IsNull(ls_   temp)   Then   MessageBox( "提示 ",ls_name   +   ls_temp) 第(1)种代码有信息提示框;因为函数MessageBox ()经常用来显示一定的信息,和用户交互时经常使用。如果要显示的信息是NULL时,提示窗口不会显示。第(2)种中在MessageBox()函数中直接添加了字符串,所以没有任何信息框提示。11、取得数据窗口中字段类型的语法如何写? Describe()函数可以得到数据窗口的多项属性值,用它实现如下:long ll_column_countlong ll_istring ls_column 列名string ls_column_text text的名字得到数据窗口的总列数ll_column_count = long(dw_1.Describe(DataWindow.Column.Count) 循环依次读取for ll_i = 1 to ll_column_count ls_columnll_i = dw_1.Describe(string(ll_i).Name)ls_column_textll_i = dw_1.Describe(ls_columnll_i _t.text)next12、一个数据窗口中有以下数据源 SELECT   department.dept_id,   department.dept_name, employee.emp_id,   employee.emp_fname, employee.emp_lname   FROM   department,   employee   WHERE   在创建数据窗口时设置为Department表可修改更新,给出一段需要具有修改更新表employee的代码? UPDATE department.dept_id,   department.dept_name, employee.emp_id,   employee.emp_fname, employee.emp_lname SET department,   employee WHERE13、用数据窗口代替   SQL   语句 通常,为了获得某些数据,采用数据窗口和   SQL   语句都是可行的,例:为了检索电话档案中的用户名,可以利用   SQL   语句,将所有的数据检索到一个多行编辑中,也可以检索到一个数据窗口中。如使用第一种方法: 方法一 首先定义一个游标: DECLARE   CUR   CURSOR   FOR SELECT   "DA_DH ". "HM " FROM   "DA_DH " 然后可以: string   stxt,st int   li open   cur do   li   =   li   +   1               fetch   cur               into   :stxtli   ;               st=st+stxtli   +   "rn "   loop   while   stxtli <> " "       close   cur;       mle_1.txt   =   st         方法二: dw_1.settransobject(sqlca) dw_1.retrieve() 请问哪种方法效率高? 方法二效率高。14、连库操作是非常影响执行速度的操作.   因此在程序中,一旦与数据库连接后就应当尽量保持与数据库的连接,   减少连接数据库的次数.PowerBuilder   提供里两个函数来建立数据窗口与事务对象的连接:       SetTrans()       SetTransObject() 请问哪种执行速度更快?为什么? 这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作;用户只需要在这里填充一个事务对象,PB就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上,但是使用SetTransObject()函数可以为数据库维持一个开放性的连接,因此在一般情况下,为了提高效率,总是采用SetTransObject()函数,所以SetTransObject()函数执行速度更快。15、将数据窗口中的电话号码存放在一个数组中.           请比较下面两中方法.           方法一: string   da_dh long   ll,I     ll   =   dw_1.rowcount()     for   i   =   ll   to   1   stet   1             da_dhi   =   dw_1.getitemstring(i, "dhhm ")     next   方法二:     string   da_dh     da_dh   =   dw_1.object.dhhm.current 哪种方法执行速度更快? 方法二速度更快。16、字段使用了下拉列表框、下拉数据窗口和单选按钮等有代码表的编辑风格时,在数据窗口控件上显示的值和字段实际得到的值并不相同,使用函数GetItemX只能读取这样的字段的真实取值,而不是用户看到的值。如何才能读取得到用户看到的值? 可以使用函数LookUpDisplay。   LookUpDisplay函数不能直接从PowerScript调用,可以在Describe中和Evaluate函数配合使用。因为函数Lookupdisplay不能指定对哪行数据进行操作,它的参数只有一个字段名称,所以必须和Evaluate函数配合使用。该函数的语法是:   Lookupdisplay(columnname)   其中,参数columnname是字段的名称,而不是一个字符串。函数执行错误则返回空字符串。17、如何将字符串”语文,数学,英语,物理”中逗号之间的内容,用一段代码一项一项写到一个多行编辑框mle_list中? #include <iostream.h>#include <cstring>int main() char charArray="语文,数学,英语,物理"char *tokenPtr;cout<<"The string to be tokenized is:n"<<charArray<<"nnThe tokens are:n"tokenPtr=strtok(charArray,",");while(tokenPtr!=NULL)cout<<tokenPtr<<"n"tokenPtr=strtok(NULL,",");cout<<endl;return 0;程序运行结果18、运用递归算法写一个函数实现1到100的累加 #include <iostream.h>int add(int);int main() cout<<"1+2+3+.+98+99+100="<<add(100);cout<<endl;return 0;int add(int n)if(n=1)return n;elsereturn n+add(n-1);程序运行结果:

    注意事项

    本文(PB考试试题及答案.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开