PB
文章平均质量分 67
b330225
这个作者很懒,什么都没留下…
展开
-
pb 笔记
1、在创建用户对象的时候属性有个autolnstantiate,打钩就是自动实例化,不打钩在创建的时候就需要写create,原创 2013-10-31 14:53:58 · 397 阅读 · 0 评论 -
Retrieve后不回卷的数据窗口
Retrieve后不回卷的数据窗口我们经常面对一大堆数据,其具体体现就是数据窗很长,需要拉动垂直滚动条才能看到后面的数据,当在包含长数据窗的窗口的Timer事件中写下Retrieve( )语句后,令人气恼的事情就会发生:Timer事件一执行,数据窗就翻回第一页;如果Timer事件执行的时间间歇很短,那我们就永远没有足够的时间来察看后面的数据了。下面我们着手解决这个问题。 每个数据窗转载 2013-02-18 21:20:35 · 223 阅读 · 0 评论 -
PB 用方向键转移焦点及回车键触发
用方向键转移焦点及回车键触发 窗口的key事件: GRAPHICOBJECT cb_control //定义环境变量 CHOOSE CASE KEY CASE keyrightarrow! //按光标右键右移焦点 keybd_event(9,0,0,0) keybd_event(9,0,2,0) CASE keydownar转载 2012-09-26 09:09:58 · 764 阅读 · 0 评论 -
pb 调用存储过程返回多行
DECLARE Lproc_1 PROCEDURE FOR proc_1 @as_int = :li_int OUTPUT ; execute Lproc_cw_gz_personal_cal ; 变量li_int即为返回的值。如果要同时返回多行的数据,可以使用DATAWINDOW或者是DATASTORE来得到结果集:string ls_sql_syntax , ls_synt转载 2012-11-16 15:33:11 · 269 阅读 · 0 评论 -
自适应屏幕分辨率的基类窗口(pb)
做一个自适应屏幕分辨率的窗口,当成一个应用程序中所有窗体的基类。这样整个程序可以很好的适应屏幕分辨率的改变。实现的原理很简单,就是在窗口打开的时候去RESIZE窗口和窗口中的控件大小,位置。参看下面的源代码,可以很容易的看懂。1。新建一个窗口。为窗口写一个函数f_resize()大部分工作就在这里。无输入参数返回值为整形:environment envinteg转载 2012-11-07 12:57:03 · 470 阅读 · 0 评论 -
PB窗口在不同屏幕分辨率下的自适应调整
PowerBuilder在数据库系统开发中,以其独特的、强大的数据窗口功能,得到了广大程序员的喜爱,但用户在使用中,却时常发现系统中的窗口要么太大,部分内容在屏幕上显示不下,要么窗口过小,在屏幕中显得不够美观,造成这种情况的原因是程序员和用户所使用计算机的屏幕分辨率不一致。本文介绍了如何使PB中的窗口大小能根据屏幕分辨率自动调整,同时保持窗口中的控件的相对位置、大小不变。 1.定转载 2012-11-07 12:54:58 · 2721 阅读 · 0 评论 -
dwitemstatus
(一)引言PB是由Sybase公司推出的一个快速数据库前台开发软件,它以强大的数据窗口技术和数据库访问能力而陪受广大程序员青睐。在数据窗口中有一个描述数据行和列状态的枚举变量—DWItemStatus,但在实际开发中往往忽视了它的存在。本人根据它的工作机理和相应的操作函数在实际开发中灵活应用,完善软件产品的功能。(二)工作机理DWItemStatus是标示DataWin转载 2012-11-02 21:56:07 · 357 阅读 · 0 评论 -
判断重复
string check_name[],check_value[],ls_expressionboolean check_bool = truelong ncheck_name = {'work_date','pnl_no','model_no','work_no','branch_no'}//work_date,pnl_no,model_no,work_nochoose case转载 2012-10-22 15:45:23 · 187 阅读 · 0 评论 -
数据窗口中有三种更新方式选择
大多数情况下,您的应用程序将在网络环境下运行。有可能会有多个人同时使用一个程序。在这种情况下使用数据窗口应注意并发控制问题。 数据窗口的并发性控制可以用"rows"菜单的"Update Properties"项进行设定。 1. Allow Updates:如果选中,则整个数据窗口允许修改,否则不允许; 2. Table to Update:在多表查询时,用该项选择要转载 2012-10-31 12:26:53 · 312 阅读 · 0 评论 -
判断字符串是否包含空格或在全角状态下输入
***判断。**参数:** as_string ----客户输入字符串**返回:** -1==>该字符串不合法** 1 ==>字符串合法**作者:** 毕中亮** 2007.05.25*/long ll_len,ll_lenw,ll_place,ll_placewlong i,j转载 2012-10-31 11:22:35 · 353 阅读 · 0 评论 -
在PB中调用外部程序并判断其运行结束
在PB中经常要调用外部程序并等待此程序运行结束后显示相关信息。如我们要备份Adaptive Server Anywhere 6.0数据库,在备份结束后显示"备份完成!"的提示信息,如果在调用备份程序dbbackup后马上用messagebox显示提示信息,那么程序运行时则会出现这种情况: dbbackup备份程序还在运行,"备份完成!"的提示就已经显示了,显然不符合我们的设想。对于这种情况,我转载 2012-10-31 11:15:43 · 262 阅读 · 0 评论 -
数据窗口缓冲区与数据修改状态
1--缓冲区的介绍在应用程序运行时,用户对数据窗口进行的操作情况是很复杂的,删除、插入、修改等操作有可能都会发生。记录哪些数据修改过、哪些数据需要删除、哪些数据是新增加的等等,都是很重要的工作,以便数据保存时能够正确修改数据库。这些工作都是由数据窗口缓冲区来完成的。数据窗口在运行时要创建四个缓冲区,分别是主缓冲区、删除缓冲区、过滤缓冲区和原始缓冲区,这四个缓冲区各司其职、共同配合,来保证数转载 2012-10-31 11:11:40 · 836 阅读 · 0 评论 -
PB中查找被修改过的数据行
在实际开发过程中,一个思维严谨的程序员通常会在用户退出某个窗口前检查窗口内的数据是否被修改,如果数据被改动过,则提醒用户是否保存修改.下面是PB中显示被修改过的数据窗口行的实用代码integer rclong NbrRows, ll_row = 0, count = 0dw_status.AcceptText()NbrRows = dw_status.RowCount()DO转载 2012-10-31 10:15:54 · 784 阅读 · 0 评论 -
在PowerBuilder中利用DataStore实现查询条件的记忆
北京延庆某部科技处 王永生 ---- 随着MIS开发工具的日益完善,人们对信息检索的要求也越来越高,以往每次查询时都由用户输入,然后进行检索的方式已越来越无法满足用户的要求,许多用户都希望系统具有自动记忆查询条件的功能,这样经常使用的查询条件就不必重复输入了。PowerBuilder(以下简称PB)中的DataStore(数据存储)可以帮助开发人员方便地解决这一问题。PB作为C/S环境转载 2012-10-29 21:55:47 · 472 阅读 · 0 评论 -
真正完整无误的pb11.5 数字(可小数)转人民币中文函数
/////////////////////////////////////////////////// oukichikou 原创 //////////////////////////////////////////////////真正完整无误的pb11.5 数字(可小数)转人民币中文函数 /////////////////////////////////////////////////转载 2012-09-26 13:52:48 · 255 阅读 · 0 评论 -
使用pb9.0 PFC自带的例子时,提示数据库连接异常
使用pb9.0 PFC自带的例子时,提示数据库连接错误提示如下:SQLSTATE=IM002[Microsoft][ODBC驱动程序 管理器未发现数据源名称并且未指定默认驱动程序我现在不知道需要连接的那个数据库,而且ODBC配置是否需要指定的名称望前辈指教一二------解决方案----------------------------------------------转载 2012-10-15 15:50:24 · 363 阅读 · 0 评论 -
工具栏上显示文字
问:如何在MDI窗口的工具栏上显示文字?ToolBarItemText属性已经设置了文字内容,但程序中没有显示!答:在WINDOW的OPEN事件里写: Application iapp_application iapp_application = GetApplication () iapp_application.toolbartext = True转载 2012-07-03 11:10:23 · 360 阅读 · 0 评论 -
PB从数据窗口获得数据的方法
在知道列或计算域名时得到数据得到某列中一行或全部的值dwcontrol.Object.columnname {.buffer } {.datasource } { [ rownum ] }其中datasource 参数表示数据源,它有两个可选项,Current(缺省)和Original,由此参数我们可以指定数据是从当前数据窗口上还是从数据库中得到。对于计算域,它不能被改变也没有当前值,所以转载 2012-08-25 15:39:20 · 147 阅读 · 0 评论 -
如何得到当前活动的控件(判断那个控件得到了光标)
昨天晚上加班的时候遇到一个问题,大致要实现以下内容:1.数据窗口控件:dw_1、dw_2;2.如果dw_1得到光标,那么{dw_2.visible = true} ;3.如果dw_1 失去焦点,那么:如果dw_2得到光标,{dw_2.visible = true} ;如果dw_2也没有得到光标,{dw_2.visible = false} 。看起来很简单的样子(实际上也很简单),但转载 2013-02-18 21:31:02 · 878 阅读 · 0 评论 -
PB事件/函数的触发机制和触发方式
PB事件/函数的触发机制和触发方式 2010-10-22 22:14:06| 分类:PB9-10 | 标签:pb事件 函数的触发机制和触发方式 trigger |字号 订阅PB作为windows下的一个非常便捷的DB开发工具,有着和windows一样的消息触发机制PB提供了相应event/function触发机制和触发方式,用户可以根据自己的转载 2013-02-19 21:15:45 · 469 阅读 · 0 评论 -
PB未公开函数
PB未公开函数,这些未公开的函数为:C/C++ code?12345__get_attribute() __get_attribute_item()__invoke_method() __set_attribute() __set_attribute_item()转载 2013-02-18 18:07:30 · 313 阅读 · 0 评论 -
dw常用技巧
1.如何让存储文件目录的列,显示图片?答:选择对应的column的display as picture属性为true2、如何复制grid类型的所选择的行的数据到系统剪切板?答:string ls_selectedls_selected=dw_1.Object.DataWindow.Selected.Dataclipboard(ls_selected)转载 2013-11-08 21:31:47 · 427 阅读 · 0 评论 -
PB TreeView 属性,事件详解(转)
本文转自:http://chbin95233.blog.163.com/blog/static/32075111201010573448815/■TreeView控件可以以树型方式来组织项目,不仅显示直观、界面友好,而且项目的管理和操作更为方便,是当前比较流行的一个控件。该控件的特点是在较小的空间可以分层次显示大量的数据,并且可以按照用户的要求检索数据。该控件具有以下功能:通过可以转载 2013-11-18 20:00:20 · 278 阅读 · 0 评论 -
PB中setsqlselect、dw_1.modify()和dw_1.object.DataWindow.Table.Select
通过setsqlselect、dw_1.modify(DataWindow.Table.Select=" ")和dw_1.object.DataWindow.Table.Select=" "均可对数据窗口的查询语句进行动态修改,但有一些区别1、setsqlselect用法:ls_select=getsqlselect //通过getsqlselect取得当前数据窗口的查询语句转载 2013-11-18 19:12:46 · 499 阅读 · 0 评论 -
pb编程中update如何使用
第一种是数据窗口的update,这种需要设置数据窗口的更新列和更新的使用的键值,一般是主键。直接是dw_control.update()返回值是integer如果返回1,表示更新成功。返回-1表示更新失败。如果数据库的autocommit是false,那么还需要commit。if dw_control.update() = 1 then commit;else rollba转载 2013-10-28 14:06:58 · 464 阅读 · 0 评论 -
利用DW完成PB的多表更新
案例:有一个业务需要同时更新两个或以上的表分析:同时更新两个表,简单一点的就是用其中一个表做DW更新,同时用SQL更新另外一个表;或者页trigger实现其他表的更新。但这样对于相类似的业务就无疑是大大增加工作量。而且维护不方便。但我们细细考虑一下,DW作为PB的利器自然有他独到的地方。更新属性就好像是为了这种多表更新而设计的。PB更新数据库的时候首先看更新的table,然转载 2013-10-27 16:11:22 · 446 阅读 · 0 评论 -
数据窗口
※函数Describe使用函数Describe可以获取数据窗口对象中的信息。该函数语法是:dwcontrol.Describe(propertylist)其中,dwcontrol是数据窗口控件名称,propertylist是以空格分隔的特性或运算表达式列表,它用来报告列与图形对象的属性值。表达式可以用特定行与列的值进行运算。Describe函数返回的是一个字符串,该字符串是对指定属性的转载 2013-10-18 15:59:22 · 404 阅读 · 0 评论 -
PowerBuilder 四种格式的动态SQL语句
二、动态SQL语句的应用分析 PowerBuilder提供了四种格式的动态SQL语句,每种格式都有自己不同的特点和作用。下面我们对各种格式的具体使用方法分别加以说明。 (一)第一种格式 当执行没有输入参数并且没有返回结果集的SQL语句时可以使用这种格式,这种格式使用比较简单,其实现的操作也比较少。 1语法 EXECUTE IMMEDIATE SQLStatement{转载 2013-10-18 14:01:38 · 328 阅读 · 1 评论 -
modify()函数的用法
dw1.modify(modstring)//功能:使用字符串中定义的操作修改数据窗口控件 其中:modstring:string类型,其值定义修改数据窗口的各种操作。返回值:string .成功时返回空字符串(“”),发生错误时返回一条出错消息。形式:"line n column n incorrect syntax"(指明哪行哪列错了) 可以应用于:a.修改数据窗口中各种对象的颜色转载 2013-10-18 11:56:29 · 1167 阅读 · 0 评论 -
pb菜单详解和MDI、PB动态生成菜单
PB动态生成菜单一、基本思路在PB帮助的MENU OBJECT一节当中,关于其PROPERTIES描述当中有一项:Item[ ] Menu Specifies the Menu objects under a Menu object.这看似简单的一句话其实包含了三层含义:1、这句话说明MENU对象有一个属性为数组类型,它其中的各个元素记录了其所有的具体子ITEM项目,可以转载 2013-10-15 20:24:57 · 666 阅读 · 0 评论 -
PB中连接Access数据库的三种方法
http://blog.chinaunix.net/uid-200142-id-3447099.html方式一:SQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "ConnectString='driver=Microsoft Access Driver (*.mdb);DBQ=c:\fo转载 2013-05-10 22:03:12 · 398 阅读 · 0 评论 -
PB权限控制的完整方案 .
权限控制的完整控制方案PB+sybase此权限控制方案可以精确控制到每个窗口的按钮级别chinayaosir/***********************************************/0.表格设计//用户权限表create table dbo.qa_authority (userid char(20) not null, username ch转载 2013-03-18 10:02:29 · 368 阅读 · 0 评论 -
PB数据窗口保存前删除空行
在updatestart事件中添加以下代码:long ll_row for ll_row = rowcount() to 1 step -1 if ((isnull(object.part_no[ll_row])) or (object.part_no[ll_row] = "")) then setrow(ll_row) deleterow(0) contin转载 2013-03-25 22:07:43 · 398 阅读 · 0 评论 -
PB SetFilter()函数
PB SetFilter()函数 函数SetFilter的作用是为数据窗口、DataStore或者下拉子数据窗口设置过滤规则。过滤规则是一个能够返回True或者False的表达式。该函数的作用仅仅是设置过滤规则,并不真正过滤。只有在设置完过滤规则之后,才能调用Filter,才能够体现过滤规则的作用。函数Filter的作用就是,使用SetFilter函数设置的过滤规则对数据窗口中Pr转载 2013-03-25 16:41:26 · 1024 阅读 · 0 评论 -
如何断定PBL中是否存在指定的对象
一、如何断定某指定WINDOW是否存在?ClassDefinition cd_windefcd_windef = FindClassDefinition("w_xxx")if isvalid(cd_windef) then//存在end if二、如何判断WINDOW当中的某指定控件或指定控件的指定属性是否存在?能够借助control[]数组。转载 2013-03-23 23:16:15 · 264 阅读 · 0 评论 -
pb中describe、Evaluate、Lookupdisplay的用法 .
Describe 可以描述DW中某个对象的某个属性的取值,虽然函数Describe可以获取对象的信息,但是表达式的取值就不能正常读取了,而这又是经常遇到的. Evaluate 如果想获取数据窗口对象中由属性、函数等构成的表达式的取值时,必须在函数Describe中使用函数Evaluate,LookUpDisplay 在数据窗口控件上显示的值和字段实际得到的值并不相同,使用函数GetItemX转载 2013-03-23 02:53:00 · 325 阅读 · 0 评论 -
pb判断图片格式,大小
PB 判断识别图片格式、大小等 2009-09-04 15:40:57| 分类:PB | 标签:|字号大中小 订阅 // 函数: of_getpicturetype() //-------------------------------------------------------------------- // 描转载 2013-03-23 09:10:07 · 361 阅读 · 0 评论 -
pb中如何获得程序的绝对路径
pb中如何获得程序的绝对路径 近日做程序的时候碰到要获得程序的绝对路径,找了很多的网站,终于找到了调用API函数 怎样得到程序运行时的绝对路径?问:我如何能在PowerBuilder中得到程序运行时的绝对路径? 答:用Windows的API函数GetModuleFileName()来实现。 ①定义API: Function ulong GetModuleFil转载 2013-03-31 16:29:44 · 496 阅读 · 1 评论 -
PB Describe函数介绍
Describe 可以描述DW中某个对象的某个属性的取值,虽然函数Describe可以获取对象的信息,但是表达式的取值就不能正常读取了,而这又是经常遇到的. Evaluate 如果想获取数据窗口对象中由属性、函数等构成的表达式的取值时,必须在函数Describe中使用函数Evaluate,LookUpDisplay 在数据窗口控件上显示的值和字段实际得到的值并不相同,使用函数GetItemX只能读转载 2012-09-01 10:45:30 · 1001 阅读 · 0 评论 -
pb中对控件如何使用数组
作者:达通兴电脑科技公司(www.study01job.com) 郭宝利比较简单的一种情况:对窗口中的所有控件,处理它们的公共属性。代码如下:integer li_Countinteger li_index li_Count = UpperBound(parent.Control[])For li_index = 1 to li_CountMessa转载 2012-08-22 14:50:03 · 563 阅读 · 0 评论