社区
PowerBuilder
帖子详情
pbl文件的使用及数据库的连接问题
SpringBuilder
2004-05-07 09:32:42
本人手头上有一个管理系统的代码,但里面内容只有17个pbl文件和一个没有后缀名的文件(200多兆,应该是数据库文件)
本人对pb几乎不了解,不知道怎么由那一堆pbl文件生成一个exe文件,也不知道怎么在程序里连上那个数据库文件,但现在想尽快将这个程序跑起来,请问该怎么做?
先谢过了^_^
...全文
175
10
打赏
收藏
pbl文件的使用及数据库的连接问题
本人手头上有一个管理系统的代码,但里面内容只有17个pbl文件和一个没有后缀名的文件(200多兆,应该是数据库文件) 本人对pb几乎不了解,不知道怎么由那一堆pbl文件生成一个exe文件,也不知道怎么在程序里连上那个数据库文件,但现在想尽快将这个程序跑起来,请问该怎么做? 先谢过了^_^
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feixianzhi
2004-05-08
打赏
举报
回复
呵呵,如果是sybase的数据库,你必须知道它的用户名和密码,默认是(DBA,sql)注意大小写。
建立一个odbc数据源,按照步骤填写一些信息即可。
SpringBuilder
2004-05-08
打赏
举报
回复
谢谢各位的热心帮助!!
“那个200兆的东东可能是sqlserver的数据库备份文件,恢复就可以了
要注意数据库的连接参数,可能需要相应的修改”
请问怎么恢复?
那个文件没有后缀名,不知道是什么类型的数据库,源码提供方还给了一个sybase数据库的安装文件,所以推断是sybase数据库。
lxiaoa
2004-05-07
打赏
举报
回复
PB中有个编译工具
先编译全部的PBL,然后把数据库文件导入数据库中。
你试试行不行。
yky890
2004-05-07
打赏
举报
回复
此管理系统现在处于未编译成exe状态
你先将它编译为.exe+.dll或.pbl 然后用第三工具将其进行打包。
你在pb开发环境下的new(新建)中的project中application向导进行编译,
注意pbr文件,最后保存,即生成exe文件,如果未打包,则可直接在本地机上运行!
打包可以用setup factory工具
要注意(需要一下文件):不管用的是什么数据库,PB运行的库文件在share\powerbuilder目录下****80.DLL:连接数据库的直接接口,PBVM80.DLL PB虚拟机,!其他的根据情况选择。借助第三方的安装制作工具将powerbuilder应用程序打包,安装环境组件,系统设置 如配置odbc数据源 注册ocx控件等。
SpringBuilder
2004-05-07
打赏
举报
回复
补充一下,我对原来那个系统的信息一概不知
我现在用的是pb8.0
hongxiuxie
2004-05-07
打赏
举报
回复
先用pb8打开那些东东, 具体方法如上
TGWall
2004-05-07
打赏
举报
回复
:)
tongyizh
2004-05-07
打赏
举报
回复
同意楼上所说,可以找回用pb的进行重新生成pbl就是代码的全部
zanglinfeng
2004-05-07
打赏
举报
回复
new workspace-->existing application-->加入17 pbls
new project
编译
xyzliuin
2004-05-07
打赏
举报
回复
先建一个workspace,找到那个含有application的pbl,双击那个application,如果提示升级
把其他pbl加入libraires,进行下一步,就会自动完成
那个200兆的东东可能是sqlserver的数据库备份文件,恢复就可以了
要注意数据库的连接参数,可能需要相应的修改
如果需要编译,建个project
商场管理系统源代码(带建表sql)
一、实例 本书的实例共包括版本为PowerBuilder5.0的27个
PBL
文件
。其中: 第 八 章:lzdasp.
pbl
:商品档案; lzdaghs.
pbl
:供货商档案; spdm.
pbl
:部门编码; lzdmbm.
pbl
:商品代码; 第 九 章:djjh.
pbl
:多级进货; jhuo_rkd.
pbl
:一次进货; 第 十 章:lzkcckd.
pbl
:出库管理(外库移库、内库出库); splzkcpdapp.
pbl
:盘点管理(库存盘点报告单、盘点报告表); 第十一章:lzxsda1.
pbl
:Plu档案管理; lzxshda.
pbl
:收款机参数录入、收款员档案管理、管理卡管理、销售汇总; lzxshcx.
pbl
:单品销售日报、部门销售报表、售货员分析、收款员分析、销售实时查询; ryhmx.
pbl
:日优惠销售明细; splzwjmain.
pbl
:一些通用函数; tjbb_xs.
pbl
:销售日报表; xsbb.
pbl
:销售报表; xsmlqk.
pbl
:销售毛利情况; zhcx.
pbl
:综合查询、销售分类查询; 第十二章:dxspjs.
pbl
:代销商品结算; jxspjs.
pbl
:经销商品结算; 第十三章:jhgl.
pbl
:计划管理; 第十四章:bjdgl.
pbl
:变价单管理; lzwjdjgl.
pbl
:定价单管理; lzwjtjgl.
pbl
:调价单管理、物价执行; lzwjwjcx.
pbl
:物价查询; 第十五章:htgl.
pbl
:合同管理; 第十七章:da_xtgl.
pbl
:系统管理; 系统启动:menu.
pbl
:登录、菜单; 二、
数据库
文件
本书
数据库
文件
包括:
数据库
表结构生成
文件
:table_sql.txt 表格数据
文件
:data_sql.txt 存储过程生成
文件
:proc_sql.txt 三、安装 在ORACLE
数据库
中运行三个
数据库
文件
,建立各数据表、存储过程及相应的数据。 四、运行 1、将各实例
文件
拷入硬盘,在PowerBuilder5.0下打开各
PBL
文件
查看源程序代码; 2、建立PB与ORACLE
数据库
的
连接
; 3、在PB中打开menu.
pbl
的application并运行; 用 户 名输入:0000; 用户口令输入:000000。
free6.5
<通用查询><通用排序><数据备份><数据恢复>和<通用数据字典>的
使用
说明 安装步骤: 1.解开压缩
文件
2.用PB打开free.
pbl
中的应用free 3.在free应用的搜索路径中包含 c:freefree.
pbl
; c:freecond.
pbl
; c:freesort.
pbl
; c:freeackup.
pbl
; c:freefzsr.
pbl
; 4.在PB下用free.db创建一个free
数据库
5.run即可运行 调用方法: 1.调用<通用查询条件>方法: 把cond.
pbl
中的所有对象拷贝到你的应用中 把表report_condition用数据管道拷贝到你的
数据库
中 调用代码: openwithparm(w_condition_free,dw_1) 注意:如果你的事务对象不是sqlca,请修改w_condition_free中的sqlca为你自己的事务对象 2.调用<通用排序>方法 把sort.
pbl
中的所有对象拷贝到你的应用中 调用代码: openwithparm(w_sort_free,dw_1) 3.调用<数据备份>和<数据恢复>方法 把backup.
pbl
中的所有对象拷贝到你的应用中,另外要把rar.exe拷贝到当前目录 <数据备份>调用代码:open(w_backup) <数据恢复>调用代码:open(w_restor) 功能: (1)压缩备份和解压恢复,压缩率很高 (2)可选择不同的盘符,包括软盘,硬盘,MO,磁带,CD等 (3)对于软盘(A:盘)备份会自动分割1.44M (4)单机备份和恢复简单方便 (5)Sybase Adaptive Server Anywhere网络
数据库
可在工作站或服务器上进行数据备份 注意: (1)进度条不太匀速主要是因为要运行外部程序RAR,DBBACKUP,ATTRIB等 (2)在PB下运行时请不要先打开要备份的
数据库
,否则会出现不能关闭
数据库
的错误,如果运行exe则不会. (3)
连接
数据库
设置放在ini
文件
中,同时把w_backup和w_restor中的 inifree.ini 改成你的ini
文件
(4)网络
数据库
的数据备份要把serverdbbackup.exe拷贝到当前目录 (5)网络
数据库
的数据恢复必须在服务器上用单机的
连接
方式,即先关闭Sybase Adaptive Server
连接
,然后再用Sybase SQL Anywhere
连接
数据库
(6)一定要把rar.exe和attrib.exe拷贝到当前目录 4.调用<通用数据字典>的方法 (1)把w_zkl_fzsr拷贝到你的
PBL
中 (2)把report.db
数据库
中的fzsr表通过数据管道导入到你的
数据库
中 (3)在你的数据窗口的doublclicked事件中写上openwithparm(w_zkl_fzsr,this)即可实现这个功能 注意: (1)如果你的事务对象不是sqlca,请修改w_zkl_fzsr中的sqlca为你自己的事务对象 (2)如果数据字典的数据源不是存放在fzsr表中,而是存放在已有的表中, 如在输入"职员编码"字段时需要弹出职员资料表中的数据,那需要在w_zkl_fzsr的open事件中增加一些代码, 增加的代码可以看有关读取商品资料表的例子 该源代码的版权属于致用电脑工作室,需要转载的朋友请注明: 来源:PB通用强档:http://pbreport.126.com
TobERP Part03
TobERP 的 Pb7 完整源代码和文档,这是三部分之 三 安装说明 首先建立一个目录,将11个压缩文档COPY至新的目录里再进行解压. 解压密码:1 服务器端:MS SQL Server 2000 直接恢复压缩文档11.ZIP中的PICL_ERP
数据库
备份 客户端:PB 7.0 / PB 8.0 应用程序位于public.
pbl
中 超级用户:0001 密码:123
数据库
安装完成后,要运行程序必须将配置
文件
config.ini中的以下几项: Database=
数据库
名称 ServerName=SQL 2000服务器名称 LogId=sa
连接
的SQL Server服务器sa帐户密码必须为空
powerbuilder
PrintDefineFont() 功能定义打印作业
使用
的字体,对每个打印作业PowerBuilder支持八种字体。 语法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline) 参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定赋给当前定义字体的编号,有效值在1到8之间 facename:string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”height:Integer类型,
使用
正值指定字体的高度,以千分之一英寸为单位;
使用
负值指定字体点数,比如,-18代表18点。一般来说,
使用
点数更精确些weight:指定字体的磅数,正常字体为400磅,粗体为700磅fontpitch:FontPitch枚举类型,指定字体标准。有效取值为:Default! - 缺省值;Fixed! - 固定形式;Variable! - 可变形式fontfamily:FontFamily枚举类型,指定字体系列。有效取值为:AnyFont!、Decorative!、Modern!、Roman!、Script!、Swiss!italic:boolean类型,指定是否
使用
斜体样式。有效取值为:TRUE -
使用
斜体样式;FALSE - 不
使用
斜体样式。缺省值为FALSEunderline:boolean类型,指定是否加下划线。有效取值为:TRUE - 加下划线;FALSE - 不加下划线。缺省值为FALSE返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintDefineFont()函数返回NULL。用法在一个打印作业中,应用程序能够最多同时定义8种字体。当应用程序需要
使用
更多的字体时,可以在
使用
了某个字体号输出内容后
使用
PrintDefineFont()函数将该字体号对应的字体更换为其它字体。 -------------------------------------------------------------------------------- PrintLine() 功能在当前打印页上绘出指定厚度的一条线。 语法PrintLine ( printjobnumber, x1, y1, x2, y2, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x1:integer类型,指定直线起点的x坐标,以千分之一英寸为单位y1:integer类型,指定直线起点的y坐标,以千分之一英寸为单位x2:integer类型,指定直线终点的x坐标,以千分之一英寸为单位y2:integer类型,指定直线终点的y坐标,以千分之一英寸为单位thickness:integer类型,指定直线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintLine()函数返回NULL。用法应用程序执行了PrintLine()函数后,该函数并不改变打印光标的位置。 -------------------------------------------------------------------------------- PrintOpen() 功能启动打印作业并返回作业号。 语法PrintOpen ( { jobname } ) 参数jobname:string类型,可选项,指定要打开打印作业的名称,该名称将显示在打印管理器窗口中返回值Long。函数执行成功时返回打印作业号,发生错误时返回-1。如果任何参数的值为NULL,PrintOpen()函数返回NULL。用法应用程序执行PrintOpen()函数后,启动新的打印作业并走纸到下一页,同时将打印机缺省字体设置为该打印作业的字体。打印光标的位置位于打印区的左上角。其它同组的打印函数
使用
PrintOpen()函数返回的作业号来标识作业。需要注意的是,
使用
PrintOpen()函数打开打印作业、
使用
同组的其它函数完成打印任务后,必须
使用
PrintClose()关闭打印作业,或根据需要
使用
PrintCancel()函数取消打印作业。 -------------------------------------------------------------------------------- PrintOval() 功能在指定位置以指定线宽绘制椭圆或圆。 语法PrintOval ( printjobnumber, x, y, width, height, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定椭圆或圆外形框左上角的x坐标,以千分之一英寸为单位y:integer类型,指定椭圆或圆外形框左上角的y坐标,以千分之一英寸为单位width:integer类型,指定椭圆或圆外形框的宽度,以千分之一英寸为单位height:integer类型,指定椭圆或圆外形框的高度,以千分之一英寸为单位thickness:integer类型,指定椭圆或圆外边线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintOval()函数返回NULL。用法应用程序执行了PrintOval()函数后,该函数并不改变打印光标的位置。PrintOval()函数绘出的椭圆或圆是实心的,也就是说,执行该函数后,椭圆或圆下面的文字或图像将完全被覆盖。如果想在椭圆或圆中输出文字或图形,那么应用程序应该首先绘制椭圆或圆,然后
使用
其它函数在椭圆或圆中输出文字或图形。 -------------------------------------------------------------------------------- PrintPage() 功能将当前页发送给打印机或打印池并在当前打印作业中启动一个新的打印页。 语法PrintPage ( printjobnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintPage()函数返回NULL。 -------------------------------------------------------------------------------- PrintRect() 功能在指定位置以指定线宽打印矩形。 语法PrintRect ( printjobnumber, x, y, width, height, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定矩形左上角的x坐标,以千分之一英寸为单位y:integer类型,指定矩形左上角的y坐标,以千分之一英寸为单位width:integer类型,指定矩形的宽度,以千分之一英寸为单位height:integer类型,指定矩形的高度,以千分之一英寸为单位thickness:integer类型,指定矩形边线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintRect()函数返回NULL。用法应用程序执行了PrintRect()函数后,该函数并不改变打印光标的位置。PrintRect()函数绘出实心的矩形,也就是说,执行该函数后,矩形下面的文字或图像将完全被覆盖。如果想在矩形中输出文字或图形,那么应用程序应该首先绘制矩形,然后
使用
其它函数在矩形中输出文字或图形。 -------------------------------------------------------------------------------- PrintRoundRect() 功能在指定位置以指定线宽打印圆角矩形。 语法PrintRoundRect(printjobnumber,x,y,width,height,xradius,yradius,thickness) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定圆角矩形左上角的x坐标,以千分之一英寸为单位y:integer类型,指定圆角矩形左上角的y坐标,以千分之一英寸为单位width:integer类型,指定圆角矩形的宽度,以千分之一英寸为单位height:integer类型,指定圆角矩形的高度,以千分之一英寸为单位xradius:integer类型,指定圆角矩形圆角部分的x半径,以千分之一英寸为单位yradius:integer类型,指定圆角矩形圆角部分的y半径,以千分之一英寸为单位thickness:integer类型,指定圆角矩形边线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintRoundRect()函数返回NULL。用法应用程序执行了PrintRoundRect()函数后,该函数并不改变打印光标的位置。PrintRoundRect()函数绘出实心的圆角矩形,也就是说,执行该函数后,圆角矩形下面的文字或图像将完全被覆盖。如果想在圆角矩形中输出文字或图形,那么应用程序应该首先绘制圆角矩形,然后
使用
其它函数在圆角矩形中输出文字或图形。 -------------------------------------------------------------------------------- PrintScreen() 功能在打印作业中打印屏幕图像。 语法PrintScreen ( printjobnumber, x, y {, width, height } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x:integer类型,指定要打印屏幕图像左上角在打印页上的x坐标,以千分之一英寸为单位y:integer类型,指定要打印屏幕图像左上角在打印页上的y坐标,以千分之一英寸为单位width:integer类型,可选项,指定屏幕图像的打印宽度,以千分之一英寸为单位。如果省略了该参数,那么PowerBuilder按屏幕的原始宽度打印屏幕图像。如果指定了该参数,必须同时指定height参数height:integer类型,可选项,指定屏幕图像的打印高度,以千分之一英寸为单位。如果省略了该参数,那么PowerBuilder按屏幕的原始高度打印屏幕图像返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintScreen()函数返回NULL。 -------------------------------------------------------------------------------- PrintSend() 功能直接向打印机发送任意字符串,通常用于发送打印机的控制代码。 语法PrintSend ( printjobnumber, string {, zerochar } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定发送到打印机的字符串。在该字符串中,
使用
非打印字符的ASCII码值表示非打印字符zerochar:integer类型,可选项,指定在string参数中用于表示数值0的ASCII码值。有效取值在1到255之间返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSend()函数返回NULL。用法应用程序
使用
PrintSend()函数可以直接向打印机发送控制序列(换码序列),比如,设置打印文字的浓淡、打印页的四周空白等。不同类型的打印机
使用
不同的控制序列,你需要翻一翻你的打印机手册。由于PowerBuilder
使用
数值0(即ASCII码为0的字符)结束每个字符串,因此,如果打印控制序列中包含了数值0,应用程序需要
使用
其它字符在参数string中替代数值0,并用zerochar参数指明这个替代字符。一般来说,应该选择一个打印机控制序列中不
使用
的字符作为0值字符的替代字符。通常情况下,按下述次序组织打印作业:1.
使用
PrintOpen()函数打开打印作业2.
使用
PrintSend()函数设置打印机特性,比如打印方向、四周空白等3.
使用
PrintDefineFont()和PrintSetFont()函数设置该打印作业
使用
的字体4.
使用
该组的其它函数打印输出文字或图形5. 执行PrintClose()函数关闭打印作业 -------------------------------------------------------------------------------- PrintSetFont() 功能设置当前打印作业
使用
的字体。 语法PrintSetFont ( printjobnumber, fontnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定该打印作业
使用
字体的字体编号,该编号与PrintDefineFont()函数中定义的编号应该对应,字体编号的有效取值在1到8之间,0表示
使用
打印机的缺省字体返回值Integer。函数执行成功时返回当前字体的高度,发生错误时返回-1。如果任何参数的值为NULL,PrintSetFont()函数返回NULL。 -------------------------------------------------------------------------------- PrintSetSpacing() 功能设置行间距因子,打印函数将
使用
该因子来决定行间距。 语法PrintSetSpacing ( printjobnumber, spacingfactor ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号spacingfactor:指定行间距因子,用字符高度的倍数表示,缺省值为1.2返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSetSpacing()函数返回NULL。用法在PowerBuilder应用程序中,行间距与字符的高度成正比,缺省值为字符高度的1.2倍。当Print组函数生成新行时,系统自动把打印光标的x坐标位置设置为0,y坐标位置在原有基础上增加当前行距值。
使用
PrintSetSpacing()函数可以改变当前打印作业的行距。 -------------------------------------------------------------------------------- PrintSetup() 功能打开打印机设置对话框。 语法PrintSetup ( ) 返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSetup()函数返回NULL。用法当系统中安装了多种打印机时,在Windows 95中PrintSetup()函数打开如图2-1所示的对话框,单击“Setup”按钮设置打印机各种特性。如果系统中只有一个打印机,则直接打开该打印机的打印设置对话框。需要注意的是,在Windows95和Windows NT 3.51以后的版本中,
使用
PrintSetup()函数设置的打印机设置只对当前应用起作用,并不影响其它应用的打印机设置。对Windows 3.1来说,
使用
PrintSetup()函数设置的打印机设置影响系统中的所有应用。 -------------------------------------------------------------------------------- PrintText() 功能在指定位置打印一行文本。 语法PrintText ( printjobnumber, string, x, y {, fontnumber } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定要打印的文本x:integer类型,指定文本开始打印位置的x坐标,以千分之一英寸为单位y:integer类型,指定文本开始打印位置的y坐标,以千分之一英寸为单位fontnumber:可选参数,指定打印文本
使用
的字体号,该编号由PrintDefineFont()函数确定。省略该参数时,以打印作业的当前字体打印文本返回值Integer。函数执行成功时返回文本打印后打印光标的x位置,即参数x的值加上打印文本的宽度。发生错误时返回-1。如果任何参数的值为NULL,PrintText()函数返回NULL。 -------------------------------------------------------------------------------- PrintWidth() 功能确定一个字符串在指定打印作业中按当前字体所占的宽度,以千分之一英寸为单位。 语法PrintWidth ( printjobnumber, string ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定要决定其打印宽度的字符串返回值Integer。函数执行成功时返回按当前字体计算的字符串打印宽度,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintWidth()函数返回NULL。 -------------------------------------------------------------------------------- PrintX() 功能返回打印光标的x坐标位置。 语法PrintX ( printjobnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号返回值Integer。函数执行成功时返回打印光标的x坐标位置,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintX()函数返回NULL。 -------------------------------------------------------------------------------- PrintY() 功能返回打印光标的y坐标位置。 语法PrintY ( printjobnumber ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号返回值Integer。函数执行成功时返回打印光标的y坐标位置,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintY()函数返回NULL。 LibraryCreate() 功能创建一个空的PowerBuilder应用库,并可根据需要在创建应用库的同时添加库注解。 语法LibraryCreate ( libraryname{, comments } ) 参数libraryname:string类型,指定要创建应用库的名称,可以带上路径,不带路径时在当前目录下创建应用库comments:string类型,可选项,指定要创建的应用库的注解返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryCreate()函数返回NULL。用法LibraryCreate()函数在指定路径下创建一个空的PowerBuilder应用库(
PBL
)。如果在指定应用库名称时没有指定
文件
的扩展名,那么该函数自动加上扩展名.
PBL
。 -------------------------------------------------------------------------------- LibraryDelete() 功能删除应用库库
文件
或应用库中的数据窗口对象。 语法LibraryDelete ( libraryname{, objectname, objecttype } ) 参数libraryname:string类型,指定库名,可以带上路径,不带路径时在系统搜索路径下查找应用库objectname:string类型,可选项,指定要从库中删除的数据窗口对象的名称objecttype:LibImportType类型,可选项,指定要删除对象的类型,目前仅支持ImportDataWindow!返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryDelete()函数返回NULL。 用法执行LibraryDelete()函数时,如果未指定后两个参数,那么该函数删除指定的应用库;如果指定了后两个参数,那么该函数删除指定应用库中指定的数据窗口对象。LibraryDelete()函数只能删除应用库中的数据窗口对象,如果想删除其它对象,那么只能在PowerBuilder开发环境中
使用
库管理画笔(Library Painter)来实现了。 -------------------------------------------------------------------------------- LibraryDirectory() 功能 得到应用库中指定对象的信息列表,内容包括对象名称、最近修改日期和时间、以及对象的注释。 语法LibraryDirectory ( libraryname, objecttype ) 参数libraryname:string类型,指定PowerBuilder应用库的名称,如果名称中未指定路径,那么该函数根据操作系统标准的
文件
搜索路径查找指定
文件
objecttype:LibDirType枚举类型,指定希望函数列出的对象类型,有效取值请参看用法。返回值String。函数执行成功时返回一个字符串,每个对象占用一行,行中各信息之间
使用
Tab字符(~t)分隔。行中信息格式为:对象名~t修改日期/时间~t注释~n发生错误时函数返回空字符串("")。如果任何参数的值为NULL,LibraryDirectory()函数返回NULL。 用法LibraryDirectory()函数的objecttype参数是个LibDirType枚举类型的量,其有效取值为:DirAll!得到所有对象的信息DirApplication!得到应用对象的信息DirDataWindow!得到所有数据窗口对象的信息DirFunction!得到所有函数对象的信息DirMenu!得到所有菜单对象的信息DirPipeline!得到所有数据管道对象的信息DirProject!得到工程对象的信息DirQuery!得到所有查询对象的信息DirStructure!得到所有结构对象的信息DirUserObject!得到所有用户对象的信息DirWindow!得到所有窗口对象的信息
使用
LibraryDirectory()函数得到指定对象的名称、修改日期/时间以及可能的注释后,应用程序既可以
使用
Pos()函数进行定位和字符串分割,也可以
使用
数据窗口的ImportString()函数将结果显示在数据窗口中。 -------------------------------------------------------------------------------- LibraryExport() 功能从指定应用库中以对象的语法定义格式卸出对象。 语法LibraryExport ( libraryname, objectname, objecttype ) 参数libraryname:string类型,指定要移出对象的应用库的名称,如果名称中未指定路径,那么该函数根据操作系统标准的
文件
搜索路径查找指定
文件
objectname:string类型,指定要移出对象的名称objecttype :LibExportType枚举类型,指定要移出对象的类型,具体取值请参看用法返回值String。函数执行成功时返回指定对象的语法,该语法与
使用
库管理画笔(Library Painter)移出对象时的语法相同,区别在于LibraryExport()函数省略了移出语法的头部。如果发生错误,则函数返回空字符串("")。如果任何参数的值为NULL,LibraryExport()函数返回NULL。 用法LibraryExport()的objecttype参数的可能取值为: ExportApplication!应用对象ExportDataWindow!数据窗口对象ExportFunction!函数对象ExportMenu!菜单对象ExportPipeline!数据管道对象ExportProject!工程对象ExportQuery!查询对象ExportStructure!结构对象ExportUserObject!用户对象ExportWindow!窗口对象 -------------------------------------------------------------------------------- LibraryImport() 功能将以语法格式表示的数据窗口对象装入指定的应用库中。 语法LibraryImport(libraryname,objectname,objecttype,syntax,errors{,comments } ) 参数libraryname:string类型,指定要移入对象的应用库的名称,如果名称中未指定路径,那么该函数根据操作系统标准的
文件
搜索路径查找指定
文件
objectname:string类型,指定要移入的数据窗口对象的名称 objecttype:LibImportType枚举类型,指定要移入对象的类型,目前该函数只支持ImportDataWindow!,表示只能向应用库中移入数据窗口对象syntax:string类型,指定要移入数据窗口对象的语法errors:string类型变量,用于在发生错误时保存出错信息comments:string类型,可选项,用于指定移入对象的注解返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryImport()函数返回NULL。 用法当应用程序在运行过程中动态创建数据窗口对象后,可以
使用
LibraryImport()函数把动态数据窗口对象的定义保存到应用库中,以后就可以直接
使用
该对象了。 FileClose() 功能关闭先前用FileOpen()函数打开的
文件
。 语法FileClose ( fileno ) 参数fileno:integer,指定要关闭
文件
的
文件
句柄,该句柄
使用
FileOpen()函数打开
文件
时得到返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果fileno参数的值为NULL,那么FileClose()函数返回NULL。 -------------------------------------------------------------------------------- FileDelete() 功能删除指定的
文件
。 语法FileDelete ( filename ) 参数filename:string类型,指定要删除
文件
的
文件
名,其中可以包含路径返回值Boolean。函数执行成功时返回TRUE,发生错误时返回FALSE。如果filename参数的值为NULL,那么FileDelete()函数返回NULL。 -------------------------------------------------------------------------------- FileExists() 功能检查指定的
文件
是否存在。 语法FileExists ( filename ) 参数filename:string类型,指定要检查存在性的
文件
的
文件
名,其中可以包含路径返回值Boolean。如果指定
文件
存在时返回TRUE,不存在时返回FALSE。如果filename参数的值为NULL,那么FileExists()函数返回NULL。用法如果filename参数指定的
文件
被另一个应用加锁锁住,那么FileExists()函数也将返回FALSE。 -------------------------------------------------------------------------------- FileLength() 功能得到指定
文件
的长度(以字节为单位)。 语法FileLength ( filename ) 参数filename:string类型,指定要得到其长度的
文件
的
文件
名,其中可以包含路径返回值Long。函数执行成功时返回指定
文件
的长度(以字节为单位)。如果指定的
文件
不存在,函数返回-1。如果filename参数的值为NULL,那么FileLength()函数返回NULL。 -------------------------------------------------------------------------------- FileOpen() 功能以指定的读写方式打开指定的
文件
,同时返回该
文件
的句柄。 语法FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}}) 参数filename:string类型,指定要打开
文件
的名称,其中可以包含路径 filemode:FileMode枚举类型,可选项,指定
文件
打开方式。有效取值为:?LineMode! - 缺省值,行模式;?StreamMode! - 流模式fileaccess:FileAccess枚举类型,可选项,指定
文件
访问方式。有效取值为:?Read! - 缺省值,只读方式,这样打开的
文件
只能进行读操作;?Write! - 只写方式,这样打开的
文件
只能进行写操作?filelock:FileLock枚举类型,可选项,指定
文件
加锁方式。有效取值为:n LockReadWrite! - 缺省值,只有打开该
文件
的用户能够访问该
文件
,其它用 户对该
文件
的访问均被拒绝;n LockRead! - 只有打开该
文件
的用户能够读该
文件
,但其它任何用户均可写该
文件
;n LockWrite! - 只有打开该
文件
的用户能够写该
文件
,但其它任何用户均可读该
文件
;n Shared! - 所有用户均可读写该
文件
writemode:WriteMode枚举类型,可选项,当fileaccess参数指定为Write!时,该参数指定在指定
文件
已经存在时数据的添加方式。有效取值为:?Append! - 缺省值,将数据添加到原
文件
尾部;?Replace! - 覆盖原有数据creator:可选项,用于Macintosh机,
使用
四个字符的字符串指定
文件
的创建者。指定该参数后,必须同时指定filetype参数filetype:可选项,用于Macintosh机,
使用
四个字符的字符串指定
文件
类型返回值Integer。函数执行成功时返回打开
文件
的句柄,随后的
文件
操作函数利用该句柄完成对
文件
的操作。发生错误时函数返回-1。如果任何参数的值为NULL,那么FileOpen()函数返回NULL。用法当
文件
以行模式打开时,每执行一次FileRead()函数读取一行数据;每执行一次FileWrite()函数,该函数自动在写出的字符串末尾增加一个回车(CR)换行(LF)符(这是应用程序在Windows 系统中运行时的情况,在UNIX下只加一个换行字符)。当
文件
以流模式打开时,执行一次FileRead()函数读取32,765个字节的数据,如果余下数据没有这么多,那么FileRead()函数就读取所有余下的数据;执行一次FileWrite()函数时,最多可写入32,765个字节的数据,并且不添加回车换行字符。当
文件
以写方式
使用
FileOpen()函数打开时,如果指定的
文件
不存在,那么FileOpen()函数创建该
文件
。 -------------------------------------------------------------------------------- FileRead() 功能从指定
文件
中读取数据。 语法FileRead ( fileno, variable ) 参数fileno:integer类型,指定
文件
句柄(由FileOpen()函数得到)variable:string或blob类型的变量,用于保存读取的数据返回值Integer。函数执行成功时返回读取的字符数或字节数;如果在读取任何字符前读到了
文件
结束符(EOF),则FileRead()函数返回-100;当指定
文件
以行模式打开时,如果在读取任何字符之前遇到了回车(CR)或换行(LF)字符,则FileRead()函数返回0。如果发生其它错误,FileRead()函数返回-1。如果任何参数的值为NULL,那么FileRead()函数返回NULL。用法当指定
文件
以行模式(Line Mode)打开时,FileRead()函数一次读取一行数据,并把它保存到参数variable中,然后跳过行结束符(回车换行符,操作系统不同,
使用
的字符也不同),把
文件
指针移动到下一行的起始位置。当
文件
以流模式(Stream Mode)打开时,FileRead()函数或一直读取到
文件
结尾,或读取32,765字节的数据,决定于两者哪个数据长度更短些。 -------------------------------------------------------------------------------- FileSeek() 功能将
文件
指针移动到指定位置。读写
文件
时相应函数会自动移动
文件
指针。 语法FileSeek ( fileno, position, origin ) 参数fileno: integer类型,指定
文件
句柄(由FileOpen()函数得到) position:long类型,指定相对于origin参数指定位置的新位置偏移量,以字节为单位 origin:SeekType枚举类型,指定从哪里开始移动
文件
指针,即指针移动的基准。有效取值为:?FromBeginning! - 缺省值,从
文件
开头移动指针;?FromCurrent! - 从当前位置移动
文件
指针;?FromEnd! - 从
文件
结尾处移动
文件
指针返回值Long。函数执行成功时返回指针移动后的指针位置。如果任何参数的值为NULL,那么FileSeek()函数返回NULL。 -------------------------------------------------------------------------------- FileWrite() 功能向指定
文件
中写数据。 语法FileWrite (fileno , variable ) 参数fileno:integer类型,指定
文件
句柄(由FileOpen()函数得到)variable:string或blob类型,其值将写入fileno参数指定的
文件
返回值Integer。函数执行成功时返回写入
文件
的字符或字节数,发生错误时返回-1。如果任何参数的值为NULL,那么FileWrite()函数返回NULL。用法FileWrite()函数从当前
文件
指针开始写入指定数据,写入之后,将
文件
指针调整到刚刚写入数据的下一个字节位置。当
文件
以writemode参数设置为Replace!方式打开时,
文件
指针最初位于
文件
的开头位置;当
文件
以writemode参数设置为Append!方式打开时,
文件
指针最初位于
文件
的结尾位置。当
文件
以行模式打开时,执行FileWrite()函数时,该函数自动在每次写入数据的后面加上回车换行符,并把
文件
指针移动到回车换行符后面。当
文件
以流模式打开时,FileWrite()函数一次最多写入32,765个字节。如果variable参数中数据的长度超过了32,765个字节,那么FileWrite()函数只向
文件
中写入前32,765个字符并返回32,765。 -------------------------------------------------------------------------------- GetFileOpenName() 功能显示打开
文件
对话框,让用户选择要打开的
文件
。 语法GetFileOpenName(title,pathname,filename{,extension{,filter}}) 参数title:string类型,指定对话框的标题pathname:string类型变量,用于保存该对话框返回的
文件
路径及
文件
名filename:string类型变量,用于保存该对话框返回的
文件
名extension:string类型,可选项,
使用
1到3个字符指定缺省的扩展
文件
名 filter:string类型,可选项,其值为
文件
名掩码,指定显示在该对话框的列表框中供用户选择的
文件
名满足的条件(比如*.*,*.TXT,*.EXE等)返回值Integer。函数执行成功时返回1;当用户单击了对话框上的“Cancel”按钮时函数返回0;发生错误时返回-1。如果任何参数的值为NULL,那么GetFileOpenName()函数返回NULL。 用法filter参数的格式为:description,*. ext缺省值为:"All Files (*.*),*.*"其中,description说明扩展名的意义,比如“所有
文件
”、“文本
文件
”等。你可以根据需要指定在打开
文件
对话框中显示的
文件
名类型。当需要指定多种
文件
类型时,各类型之间
使用
逗号分隔,例如:"PIF
文件
, *.PIF, 批处理
文件
, *.BAT"需要注意的是,该函数只是得到一个
文件
名,而并没有打开
文件
,需要打开
文件
时,依然需要
使用
FileOpen()函数。 -------------------------------------------------------------------------------- GetFileSaveName() 功能显示保存
文件
对话框,让用户选择要保存到的
文件
。 语法GetFileSaveName(title,pathname,filename{,extension{,filter}}) 参数title:string类型,指定对话框的标题pathname:string类型变量,用于保存该对话框返回的
文件
路径及
文件
名filename:string类型变量,用于保存该对话框返回的
文件
名extension:string类型,可选项,
使用
1到3个字符指定缺省的扩展
文件
名filter:string类型,可选项,其值为
文件
名掩码,指定显示在该对话框的列表框中供用户选择的
文件
名满足的条件(比如*.*,*.TXT,*.EXE等)返回值Integer。函数执行成功时返回1;当用户单击了对话框上的“Cancel”按钮时函数返回0;发生错误时返回-1。如果任何参数的值为NULL,那么GetFileSaveName()函数返回NULL。 用法filter参数的格式为:description,*. ext缺省值为:"All Files (*.*),*.*"其中,description说明扩展名的意义,比如“所有
文件
”、“文本
文件
”等。你可以根据需要指定在打开
文件
对话框中显示的
文件
名类型。当需要指定多种
文件
类型时,各类型之间
使用
逗号分隔,例如:"PIF
文件
, *.PIF, 批处理
文件
, *.BAT"需要注意的是,该函数只是得到一个
文件
名,而并没有打开
文件
,需要打开
文件
时,依然需要
使用
FileOpen()函数。 GetCommandDDE() 功能得到DDE客户应用发送的命令。 语法GetCommandDDE ( string ) 参数string:string类型的变量,用于保存DDE客户应用发送的命令返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果string参数的值为NULL, GetCommandDDE()函数返回NULL。用法当DDE客户应用向DDE服务器应用发送一条命令时,这个动作将触发DDE服务器应用活动窗口的RemoteExec事件,在这个事件的事件处理程序中,可以
使用
GetCommandDDE()函数得到DDE客户应用发送的命令。 -------------------------------------------------------------------------------- GetCommandDDEOrigin() 功能确定哪一个DDE客户应用向服务器发送了命令。 语法GetCommandDDEOrigin ( applstring ) 参数applstring:string变量,用于保存发送命令的DDE客户应用的名称返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果applstring参数的值为 NULL,GetCommandDDEOrigin()函数返回NULL。 -------------------------------------------------------------------------------- GetDataDDE() 功能得到DDE客户应用发送的数据。 语法GetDataDDE ( string ) 参数string:string类型变量,用于保存接收到的数据返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL, GetDataDDE()函数返回NULL。 -------------------------------------------------------------------------------- GetDataDDEOrigin()功能确定哪个DDE客户应用发送了数据。 语法GetDataDDEOrigin ( applstring, topicstring, itemstring ) 参数applstring:string类型变量,用于保存客户应用的名称topicstring:string类型变量,用于保存主题(比如,在Excel中,主题可以是REGION.XLS)itemstring:string类型变量,用于保存数据项标识(比如,在Excel中,数据项标识可能是R1C2)返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDEOrigin()函数返回NULL。 -------------------------------------------------------------------------------- RespondRemote() 功能向客户端应用指明最近的命令或数据是否已经接收。 语法RespondRemote ( boolean ) 参数boolean:其值为boolean量的逻辑表达式,TRUE表示接收先前收到的命令或数据,FALSE表示不接收先前收到的命令或数据返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果boolean参数的值为NULL,RespondRemote()函数返回NULL。 -------------------------------------------------------------------------------- SetDataDDE() 功能向DDE客户应用发送数据。 语法SetDataDDE ( string {, applname, topic, item } ) 参数string:指定要发送到DDE客户应用的数据applname:string类型,可选项,指定接收数据的客户应用的DDE名称topic:string类型,可选项,指定基础数据组item:string类型,可选项,指定基础数据组中的数据项返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1函数调用的环境不对-2数据未被接收如果任何参数的值为NULL,SetDataDDE()函数返回NULL。 -------------------------------------------------------------------------------- StartServerDDE() 功能将当前应用设置为DDE服务器。 语法StartServerDDE ( { windowname, } applname, topic {, item } ) 参数windowname:可选项,指定服务器窗口名,缺省值为当前窗口applname:当前应用的DDE名称topic:string类型,指定DDE客户应用能够引用的基本数据组item:由逗号(,)分隔的一个或多个字符串,指定服务器应用支持的数据项返回值Integer。函数执行成功时返回1,发生错误时返回-1,表示当前应用已经设置为DDE服务器。如果任何参数的值为NULL,StartServerDDE()函数返回NULL。 -------------------------------------------------------------------------------- StopServerDDE() 功能停止当前应用的DDE服务器功能。执行该函数后,发给该应用的任何DDE客户应用请求都将失败。 语法StopServerDDE ( { windowname, } applname, topic ) 参数windowname:可选项,指定要关闭服务器功能的服务器窗口名,缺省值为当前窗口,如果当前应用有多个服务器窗口,那么必须指定该参数applname:当前应用的DDE名称topic:string类型,应该与StartServerDDE()中对应参数相同返回值Integer。函数执行成功时返回1,发生错误时返回-1,表示当前应用未曾作为DDE服务器启动。如果任何参数的值为NULL,StopServerDDE()函数返回NULL。 CPU() 功能得到自当前应用程序启动后开始CPU所消耗的时间,以毫秒为单位。 语法CPU() 返回值Long。返回自当前应用程序启动后开始CPU所消耗的时间,以毫秒为单位。 -------------------------------------------------------------------------------- Idle() 功能该函数在用户每次活动(例如,按键盘、移动鼠标等)后重置定时器,n秒后触发应用对象的Idle事件。 语法Idle ( n ) 参数n:指定空闲时间间隔,以秒为单位。该参数的值设置为0时,停止空闲检测,不再触发应用对象的Idle事件返回值Integer。函数执行成功时返回1,此时启动定时器。如果不能启动定时器或定时器未启动而n的值指定为0时,函数返回-1。如果任何参数的值为NULL,Idle()函数返回NULL。用法利用Idle()函数,应用程序可以构造自己的屏幕保护程序,避免安全数据的泄露。当
使用
Idle()函数已经启动了定时器后,如果再次以非0参数调用Idle()函数,那么该函数重设时间间隔,但并不启动新的定时器。Idle()函数启动定时器后,如果在指定的时间间隔(从用户最近一次操作算起)内没有操作应用程序,那么就触发应用对象的Idle事件,在这个事件中可以编写关闭窗口、退出
数据库
登录等一系列代码,然后
使用
Restart()函数重新启动应用程序,起到保密的目的。发生下述任何情况时,系统自动重置定时器(即重新开始计时):n 用户在该应用程序的任何窗口内移动鼠标或单击鼠标(双击鼠标时首先触发单击事件)n 在该应用程序的某个窗口是当前窗口时用户按下了任意一个或多个键n 在该应用程序的窗口最小化时,用户在该应用的图标上单击鼠标或移动鼠标n 在该应用程序的窗口最小化并且该应用程序是当前应用程序(应用名称被加亮显示)时,用户按了任何按键n 可视数据窗口检索数据时引起的编辑控件(指漂浮在数据窗口当前行/列上的编辑控件)重绘操作 -------------------------------------------------------------------------------- Timer() 功能 在指定的时间间隔内反复触发指定窗口的定时器事件。 语法Timer ( interval {, windowname } ) 参数interval:指定两次触发Timer事件之间的时间间隔,有效值在0到65之间。如果该参数的值指定为0,那么关闭定时器,不再触发指定窗口的Timer事件windowname:窗口名,指定时间间隔到时要触发哪个窗口的Timer事件。省略该参数时,触发当前窗口的Timer事件返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Timer()函数返回NULL。用法
使用
Timer()函数可以周期性地触发指定窗口的Timer事件,这样,每当时间间隔过去时,应用程序都可以完成一些周期性的工作,比如绘制简单动画等。将Timer()的interval参数设置为非0值时启动定时器并开始计时;将该函数的interval参数设置为0时关闭定时器,终止计时任务。需要注意的是,在Microsoft Windows系统中,该函数能够计时的最小时间间隔为0.055秒(约1/18秒),如果把interval参数的值设置小于0.055,那么该定时器将每隔0.055秒触发一次窗口的Timer事件。Microsoft Windows 3.x最多只支持系统中同时启动16个定时器。 RegistryDelete() 功能删除Windows系统注册库中的一个键或键的某个值。 语法RegistryDelete ( key, valuename ) 参数key:string类型,指定键名,将删除该键或删除该键的某个值valuename:string类型,指定要删除的值的名称。如果想删除键、键的值、以及其下的所有子键,那么将该参数指定为空字符串返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间
使用
反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryGet() 功能从系统注册库中得到指定键的值。 语法RegistryGet ( key, valuename, valuetype, valuevariable ) 参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串("")valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法valuevariable:用于保存键值的变量,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。 用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其中包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间
使用
反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryKeys() 功能从系统注册库中得到指定键的有效子键。 语法RegistryKeys ( key, subkeys ) 参数key:string类型,指定键名subkeys:字符串数组变量,用于保存各子键返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法在subkeys参数中可以
使用
定长数组,也可以
使用
动态数组。
使用
动态数组时,数组的上界反映了能够得到的子键个数。当
使用
定长数组时,其数组元素个数必须足够多,保证能够容纳所有子键,但是,在具体得到子键之前,没有办法能够预先知道实际子键个数。为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间
使用
反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistrySet() 功能在系统注册库中设置或创建指定键。 语法RegistrySet ( key, valuename, valuetype, value ) 参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串("")。如果注册库中不存在指定值名,该函数将创建新的值名valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法value:要设置的值,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其中包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间
使用
反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryValues() 功能得到与指定键相关的一组值名。该函数在Windows 3.1中无效。 语法RegistryValues ( key, valuename ) 参数key:string类型,指定键名valuename:字符串数组变量,用于保存值名返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法在valuename 参数中可以
使用
定长数组,也可以
使用
动态数组。
使用
动态数组时,数组的上界反映了能够得到的值名个数。当
使用
定长数组时,其数组元素个数必须足够多,保证能够容纳所有值名,但是,在具体得到值名之前,没有办法能够预先知道实际值名个数。为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间
使用
反斜杠(\)分隔。 Clipboard() 功能提取或替换Windows系统剪贴板的文本内容。 语法Clipboard ( { string } ) 参数string:string类型,可选项,指定要复制到系统剪贴板上的文本。如果剪贴板上已有内容的话,该文本将取代剪贴板的当前内容返回值String。函数执行成功时,如果剪贴板上包含文本数据,那么函数返回剪贴板的当前内容;如果剪贴板上包含非文本数据(比如位图)或不包含任何数据,那么函数返回空字符串("")。如果string参数的值为NULL,Clipboard()函数返回NULL。用法无论是否指定string参数,Clipboard()都将返回剪贴板的当前内容。当指定string参数时,剪贴板的原有内容被string参数的值取代;省略string参数时,仅仅得到剪贴板的内容。 -------------------------------------------------------------------------------- CommandParm() 功能得到应用程序运行时指定的命令参数。 语法CommandParm ( ) 返回值String。函数执行成功时返回应用程序运行时的命令行参数,函数执行错误或没有命令行参数时函数返回空字符串("")。用法命令行参数是应用程序启动时跟在应用程序名称后面的任何参数,比如,在运行窗口中输入了下述命令:MyAppl C:\EMPLOYEE\EMPLIST.TXT那么MyAppl应用程序中
使用
CommandParm()函数得到的命令行参数为:C:\EMPLOYEE\EMPLIST.TXT当应用程序的命令行中包含几个参数时,CommandParm()函数作为一个字符串返回所有参数。利用字符串操作函数可以分离各参数。在应用对象的Open事件中没有必要执行CommandParm()函数。此时,Open事件的argument参数中包含了命令行参数。 -------------------------------------------------------------------------------- DoScript() 功能执行AppleScript程序段,该函数只在Macintosh平台上有效。 语法DoScript ( script, result ) 参数script:string类型,指定要运行的程序段(script)result:string类型,由AppleScript程序段返回的结果信息或出错信息返回值Integer。返回由AppleScript返回的结果代码。如果任何参数的值为NULL,DoScript()函数返回NULL。 -------------------------------------------------------------------------------- GetApplication() 功能得到当前应用对象的句柄,这样你可以查询或设置应用对象的属性(通常用于编写通用代码)。 语法GetApplication ( ) 返回值Application。返回当前应用对象的句柄。 -------------------------------------------------------------------------------- GetEnvironment() 功能得到操作系统、处理器、屏幕显示等与系统相关的信息。 语法GetEnvironment ( environmentinfo ) 参数environmentinfo:Environment对象名,用于保存系统环境信息返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果参数environmentinfo的值为NULL,GetEnvironment()函数返回NULL。用法当开发交叉平台项目时,利用GetEnvironment()函数,应用程序能够得到当前运行的操作系统、
使用
的CPU类型、操作系统的版本、屏幕的大小以及颜色数等信息,这些信息的具体表示请参阅本书环境对象(Environment Object)的介绍。 -------------------------------------------------------------------------------- GetFocus() 功能确定当前焦点位于哪个控件上。 语法GetFocus ( ) 返回值GraphicObject。函数执行成功时返回当前得到焦点控件的引用,发生错误时返回无效引用。用法应用程序利用IsValid()函数可以检测GetFocus()是否返回有效的控件引用。同时,
使用
TypeOf()函数可以确定控件的类型。 -------------------------------------------------------------------------------- Post() 功能将指定消息加入到某个窗口的消息队列中,这个窗口既可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。 语法Post( handle, messageno, word, long ) 参数handle:long类型,指定窗口的系统句柄,将向该窗口邮寄消息messageno:UnsignedInteger类型,指定要邮寄的消息号 word:long类型,指定与消息一起邮寄的word类参数值。如果messageno参数指定的消息不
使用
该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起邮寄的long型参数值或字符串返回值Boolean。如果任何参数的值为NULL,Post()函数返回NULL。 用法Post()函数用于向窗口发送非PowerBuilder预定义事件的消息,这个窗口可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。这一点与Send()函数不同,Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中。因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。Post()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,
使用
Handle()函数可以得到该句柄。对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。如果应用程序要邮寄PowerBuilder定义事件(包括预定义事件和用户定义事件),那么
使用
PostEvent()函数既简单有方便。当应用程序在long参数位置指定一个字符串时,Post()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口。 -------------------------------------------------------------------------------- ProfileInt() 功能从初始化
文件
(.ini)中读取整型设置值。 语法ProfileInt ( filename, section, key, default ) 参数filename:string类型,指定初始化
文件
的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定
文件
section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:integer类型,当指定的
文件
、节名、项目名不存在或不能转换为整数时,函数返回该参数指定的值返回值Integer。函数执行成功时,在指定的
文件
、节名、项目名不存在任何错误的情况下,函数返回相应项的值;如果指定的
文件
、节名、项目名不存在或不能转换为整数时,函数返回default参数指定的缺省值。如果发生错误,函数返回-1。如果任何参数的值为NULL,ProfileInt()函数返回NULL。 -------------------------------------------------------------------------------- ProfileString() 功能从初始化
文件
(.ini)中读取字符串型设置值。 语法ProfileString ( filename, section, key, default ) 参数filename:string类型,指定初始化
文件
的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定
文件
section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:string类型,当指定的
文件
、节名、项目名不存在时,函数返回该参数指定的值返回值String。函数执行成功时,在指定的
文件
、节名、项目名不存在任何错误的情况下,函数返回相应项的值;如果指定的
文件
、节名、项目名不存在,函数返回default参数指定的缺省值。如果发生错误,函数返回空字符串。如果任何参数的值为NULL,ProfileString()函数返回NULL。 -------------------------------------------------------------------------------- Restart() 功能停止所有程序段的执行、关闭所有窗口、提交事务、断开与
数据库
的
连接
,然后重新启动应用程序。 语法Restart() 返回值Integer。函数执行成功时返回1,发生错误时返回-1。 -------------------------------------------------------------------------------- Run() 功能运行指定的应用程序。 语法Run ( string {, windowstate } ) 参数string:string类型,指定要运行的应用程序的名称,其中可以包括路径以及相应的参数,就像在命令行中键入的那样windowstate:WindowState枚举类型,可选项,指定程序运行时的窗口状态。有效取值为:Maximized! - 最大化窗口;Minimized! - 最小化窗口;Normal! - 缺省值,正常窗口返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Run()函数返回NULL。 用法
使用
Run()函数,应用程序能够启动操作系统中的任何程序。当在Run()参数中指定了要启动应用程序的参数时,参数的意义、格式、个数等由具体的应用程序确定。如果在Run()函数的string参数中指定了
文件
名但没有给出扩展名时,PowerBuilder认为该
文件
的扩展名为.EXE。要运行扩展名不是.EXE的应用程序(比如.BAT, .COM, 或.PIF),必须在Run()函数的参数中指定
文件
的扩展名。 -------------------------------------------------------------------------------- Send() 功能向窗口发送指定的消息并立即执行相应的事件处理程序。 语法Send( handle, messageno, word, long ) 参数handle:long类型,指定窗口的系统句柄,将向该窗口发送消息messageno:UnsignedInteger类型,指定要发送的消息号word:long类型,指定与消息一起发送的word类参数值。如果messageno参数指定的消息不
使用
该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起发送的long型参数值或字符串返回值Long。函数执行成功时返回Windows系统调用SendMessage()的返回值,发生错误时返回-1。如果任何参数的值为NULL,Send()函数返回NULL。 用法Send()函数用于向窗口发送非PowerBuilder预定义事件的消息,这个窗口可以是PowerBuilder应用的窗口,也可以是其它应用的窗口。Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中,这一点与Post()函数不同,Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。Send()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,
使用
Handle()函数可以得到该句柄。对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。实际上,Send()函数把它的各个参数直接传送给Windows的系统调用SendMessage()。在各种C++开发工具的WINDOWS.H
文件
中可以查到各消息编号。如果应用程序要发送PowerBuilder定义事件(包括预定义事件和用户定义事件),那么
使用
TriggerEvent()函数既简单有方便。当应用程序在long参数位置指定一个字符串时,Send()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口。 -------------------------------------------------------------------------------- SetProfileString() 功能设置初始化
文件
中指定项的值。 语法SetProfileString ( filename, section, key, value ) 参数filename:string类型,指定初始化
文件
的名称,可以包括路径,省略路径时,该函数按操作系统的标准路径搜索指定
文件
section:string类型,指定要设置的值所在的节(Section)key:string类型,指定要设置的值的名称,不用区分大小写default:string类型,指定要设置项的值返回值Integer。函数执行成功时返回1,指定的
文件
未找到或指定的
文件
不能访问时函数返回-1。如果任何参数的值为NULL,SetProfileString()函数返回NULL。 -------------------------------------------------------------------------------- ShowHelp() 功能显示应用程序帮助,该帮助
使用
Microsoft Windows帮助系统进行操作。 语法ShowHelp ( helpfile, helpcommand {, typeid } ) 参数helpfile:string类型,指定帮助
文件
的名称helpcommand:HelpCommand枚举类型,指定显示帮助的格式。有效取值为:Index! - 显示目录主题,
使用
该值时不要指定typeid参数;Keyword! - 转移到由指定关键字确定的主题;Topic! - 显示指定主题的帮助typeid:可选项,指定帮助主题返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,ShowHelp()函数返回NULL。 -------------------------------------------------------------------------------- SignalError() 功能触发应用对象的SystemError事件,通常用于代码调试。 语法SignalError ( { number }, { text } ) 参数number:integer类型,可选项,其值将保存到Error对象的number属性中text:string类型,可选项,其值将保存到Error对象的text属性中返回值Integer。函数执行成功时返回1,发生错误时返回-1。 -------------------------------------------------------------------------------- Yield() 功能将控制权转移给其它图形对象,包括非PowerBuilder对象。该函数检测消息队列,如果有消息,就把消息取出。利用该函数可以在执行耗时较长的操作时把控制权转让给其它应用。 语法Yield() 返回值Boolean。如果在消息队列中提取到了消息,那么函数返回TRUE,否则返回FALSE。用法正常情况下,PowerBuilder应用程序在执行一段代码(比如函数或事件处理程序)的过程中不响应用户的操作。对耗时短暂的代码段来说,这种处理方式没有什么不妥的地方,但是,如果某个代码段的执行耗时较长,应用程序又希望为用户提供更多的控制权,那么需要在这段代码中插入Yield()函数,让用户能够进行其它操作,特别在循环执行的代码中更应该如此。应用程序执行Fill() 功能建立一个由指定字符串填充的指定长度的字符串。 语法Fill ( chars, n ) 参数chars:string类型,指定用于重复填充的字符串n:long类型,指定由该函数返回的字符串的长度返回值String。函数执行成功时返回n个字符的字符串,该字符串以参数chars中的字符串重复填充而成。如果参数chars中的字符个数多于n个,那么
使用
chars字符串的前n个字符填充函数返回的字符串;如果参数chars中的字符个数少于n个,那么
使用
chars字符串反复填充,直到返回的字符串长度达到n为止。如果任何参数的值为NULL,Fill()函数返回NULL。 -------------------------------------------------------------------------------- Left() 功能得到字符串左部指定个数的字符。 语法Left ( string, n ) 参数string:string类型,指定要提取子串的字符串n:long类型,指定子串长度返回值String。函数执行成功时返回string字符串左边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Left()函数返回NULL。如果n的值大于string字符串的长度,那么Left()函数返回整个string字符串,但并不增加其它字符。 -------------------------------------------------------------------------------- LeftTrim() 功能返回指定字符串删除了左部空格后的字符串。 语法LeftTrim ( string ) 参数string:string类型,指定要删除左部空格的字符串返回值String。函数执行成功时返回删除了string字符串左部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,LeftTrim()函数返回NULL。 -------------------------------------------------------------------------------- Len() 功能得到字符串的长度。 语法Len (string) 参数string:string类型变量返回值Long。函数执行成功时返回字符串的长度,发生错误时返回-1。如果任何参数的值为NULL,则Len()函数返回NULL。 -------------------------------------------------------------------------------- Lower() 功能将字符串中的大写字母转换为小写字母。 语法Lower ( string ) 参数string:要将其中的大写字母转换为小写字母的字符串返回值String。函数执行成功时返回将大写字母转换为小写字母后的字符串,发生错误时返回空字符串("")。如果string参数的值为NULL,Lower()函数返回NULL。 -------------------------------------------------------------------------------- Match() 功能确定字符串中是否包含指定模式的字符。 语法Match ( string, textpattern ) 参数string:string类型,指定要检查是否匹配指定模式的字符串textpattern:string类型,指定文本匹配模式返回值Boolean:如果字符串string与模式textpattern相匹配,则函数返回TRUE,否则返回FALSE。如果指定的匹配模式无效或上述两个参数中的任何一个未曾赋值,那么Match()函数返回FALSE。如果任何参数的值为NULL,Match()函数返回NULL。 用法textpattern参数的写法与正则表达式十分相似,它由元字符和普通字符组成。每个元字符都有不同的匹配含义,普通字符则与其自身相匹配。下面是匹配模式中
使用
的元字符及其意义: ^指示字符串的开始,例如,^asd表示以asd开头的字符串,字符串asdfgh与模式^asd匹配,而字符串basdfg与模式^asd不匹配。 $指示字符串的结束,例如,red$表示所有以red结束的字符串均与该模式匹配,而redo与模式red$不匹配。 .匹配任意单个字符,例如,^&&$匹配任何六个字符组成的字符串。 []匹配括号中列出的字符,例如,^[ABC]$匹配由一个字符组成的字符串,其值只能是A或B或C。 -与方括号一起,指定匹配字符的范围,例如,^[A-Z]$只匹配那些由一个大写字母组成的字符串。方括号里还可以
使用
^字符,表示匹配不在指定范围内的任何字符,例如,[^0-9]匹配除数字外的任何字符。 *,+,?这些符号跟在一个字符后面表示该字符可以出现的次数。星号(*)表示可以出现0次或任意次;加号(+)表示可以出现多次,但至少出现一次;问号(?)表示出现0次或一次。例如,A*匹配0个或多个A(没有A、A、AA、AAA、AAAA、**);A+匹配1个或多个A(A、AA、AAA、AAAA、**);A?匹配空串或1个A。 \斜杠(\)是转义字符,它去掉特殊字符的特殊含义,比如,模式\$匹配字符$,模式\\匹配字符\。 -------------------------------------------------------------------------------- Mid() 功能取字符串的子串。 语法Mid ( string, start {, length } ) 参数string:string类型,指定要从中提取子串的字符串start:long类型,指定子串第一个字符在string字符串中的位置,第一个位置为1length:long类型,可选项,指定子串的长度返回值String。函数执行成功时返回string字符串中从start位置开始、长度为length的子串。如果start参数的值大于string中字符个数,那么Mid()函数返回空字符串。如果省略了length参数或length参数的值大于从start开始、string字符串中余下字符的长度,那
PB9.0通过专用接口
连接
数据库
最近两天一直在整河北大学自考的毕业设计,接触了一下 powerbuilder9.0这个编程工具,还记得当年上学那会儿
使用
Vb敲的机房收费系统,对这些编程工具真是又爱又恨,本打算不总结了,不过看网上关于PB总结的东西比较少。还是总结一下分享给大家。 左下方可能会报错:unable to load the requested database interface,Please make ...
PowerBuilder
1,079
社区成员
66,439
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章