powerbuilder初學者概念20則
2024-07-21 02:10:03
供稿:网友
一、pbr使用的时机?
1、如果你将resource动态的指定给object或control property,就必须使用pbr
2、如果使用pbr会降低exe档发行时所需要的档案数目
3、要让许多的应用程序使用共同的library
二、如何将bmp,ico,datawindow资源整合到pbd中?
使用pbr(资源索引档)将其资源整合进入pbd档案中pbr的语法如下:
xxxx.pbl
xxxx.bmp
xxxx.ico
如果你的script是如此p_roller.picturename="c:/rollwe.bmp"
则需将该叙述加入pbr中
c:/rollwe.bmp
三、如何将datawindow资料更新在多个table上?
设定及修改datawindow的update table和update column资料
四、错误讯息超过script行号?
可能忘加入end if 或end choose
五、中文字型发生错误?
修改pbty050.dll的拼字错误,或到http://www.eur.com.tw下载修正程序
六、中英文输入法切换?
function boolean immsimulatehotkey (unsignedlong hwnd,
unsingedlong dwhotkeyid) library "imm32.dll"
function unsignedlong getkeyboardlayout (unsignedlongwlayout)library "
user32.dll"
function boolean immisime(unsignedlong hklkeyboardlayout)library "imm3
2.dll"
英文输入法切换
constant int ime_thotkey_ime_nonime_toggle=112
uint hklcurrent
unsignedlong hnd
hklcurrent=getkeyboardlayout(0)
if immisime(hklcurrent) then
hnd=handle(parent)
immsimulatehotkey(hnd,ime_thotkey_ime_nonime_toggle)
end if
中文输入法切换
constant int ime_thotkey_ime_nonime_toggle=112
uint hklcurrent
unsignedlong hnd
hklcurrent=getkeyboardlayout(0)
if not immisime(hklcurrent) then
hnd=handle(parent)
immsimulatehotkey(hnd,ime_thotkey_ime_nonime_toggle)
end if
七、当datawindow的column在存档后,如果想设计禁止操作者再到该column输入
,因该如何设计?
在该datawindow的column上按右键进入properties在expressions
的protect设成 if(isrownew(),0,1)即可
八、在使用inherit windows时,有的window的object不需要执行祖先event
中的程序那怎么办?
在window的object的event中,在design下拉视窗中,有四个script设定其中第三
项3.override ancestor script 即可关闭祖先的程序,只执行目前的程序
九、object的properties中的有一个设定visible 打勾,我因设计需要将打勾取
消使object 看不见,但现在想使其恢复,该如何作?该object己经看不见了
object 在取消visible后,如要恢复请下拉edit的control list将object 的pro
perties拉出设回
十、powerbuilder 由版本5.0提升至5.0.03后,在使用sql central 工具时,若
希望查看stored procedure,按右键,选open,会出现"这个程序执行的作业无效
,即将关闭"。
powerbuilder 5.0.03中之程序bug,请将scview.exe程序档回复。
十一、在程序中如何控制让使用者在输入资料时,能够自动产生连续性的号码?
在定义table栏位时,其default值(最后一栏)设定中有一autoincrement选项,即
会自动产生连续的号码。
十二、如何在视窗之间传递叁数?
powerbuilder提供了三个函数可以达到此功能:
1.openwithparm()
2.opensheetwithparm()
3.closewithreturn()
当在程序中呼叫了这些函数时,从视窗所传过来的叁数会放在message对象中。
可从message的属性中取得所要的叁数。
十三、<function><window function><user object function>有何不同?
<function>:是任何window 都可以使用
<window function>:适用于单一window
<user object function>:适用于单一object
十四、如何读取不同database的data?
1.点取powerbar的pipline(painter bar的pipline)
2.选择new
3.在quick select下选取source connection和descination connection
4.选取tables和columns
十五、何谓汇入(import)汇出(export)?如何汇入及汇出?
1.汇入(import)汇出(export):
import用于使power builder能读取其它软体的资料,export则正好相反
2.如何汇入及汇出:
从rows菜单中选择import,出现select import file视窗;指定要汇入的资料所
在的档案名称,再选择ok!
十六、<primary buffer><filter buffer><delete buffer>三者的差异?
<primary buffer>:存放使用者可以看到的资料列
<filter buffer>:存放在资料视窗中滤掉的资料列
<delete buffer>:存放被使用者透过程序码删除的资料列
如果我们为该资料视窗定义了filter,则被过滤掉的资料被转存放在filter buf
fer中,使用者不能再对这些资料进行修改,当资料被重新存入资料库其馀的资料
保持不变,在刚开始时,先滤除不合格的资料外,其馀的资料都被存放到primar
y buffer中,使用者透过资料视窗控制件提供的一些function可以对primary bu
ffer中的资料进行动作,如果某列资料被删掉了,它就从primary buffer 移至d
elete buffer,使用者就不能在资料视窗中看到它,当呼叫update function时重
新把资料写入资料库时,primary buffer中的资料被写回硬盘,而delete buffe
r中的资料即被加上删除标记之后放回资料库或者直接被删除。
十七、何谓transaction object?
当application开始执行时,它会create一个global transaction(sqlca),当应
用程序结困时它会自动destroy,一个transaction object中包括了:dbms,data
base name,login id,password,sqlcode,logpass,servername.....,程序
和资料库连接之前,必须先将transaction object 初使化,如果application使
用同一个dbms,而且资料库使用同一database name,则可使用同一个transacti
on object,若在application中使用到两个不同的资料库,则需要另一个transa
ction object来存取第二个资料库了。
十八、把dbfile转到另一台pc时,却发生资料库无法连结的情况该如何解决?
先寻找dblog.exe这个档案位于何处,再到dos模式中切换到该路径,如:cd qla
ny50/win32,
执行dblog-t/path/logfilename /path/dbfilename。
十九、由于我现在要制作的报表show出来的资料长度很短,我希望在同页面上可
以多栏的方式显示结果,pb的报表功能可以提供此方法吗?
在data window或report中edit/properties/print specification中设定即可最
下方有newspaper columns,即是设定显示的栏位数及栏位宽度。
二十、如何在grid型态的data window及report中加上标题而不出现格线?
在header区域,先加上一个「text object」,在其properties中,到position/
layer选「forground」,再到font/background,指定为白色(或其它颜色,非tr
ansparent即可),此text object即成为可移动及可调整大小的,只要把拉开到足
以填满整个header的区域即可。