图学PowerBuilder
介绍一些在学习PB过程中遇到的问题及PB开发的关键点等(PB版本为9.0)
anyqu
学有所思,日有所进.
展开
-
控制由Run运行的程序(简称Run程序)
在PB程序设计中,可以用Run()来运行一些程序。比如用户按了F1,就运行一个chm文件。但Run程序无法与PB主程序协调工作,若用户按了多次F1,就会启动Run程序的多个实例,主程序退出时,Run程序依然运行。可以用如下函数来使它们协调工作:在外部函数中引用:Function Ulong FindWindowA(Ulong classname, String window原创 2013-02-05 09:04:27 · 2493 阅读 · 3 评论 -
图学PowerBuilder---带参数启动程序时获取参数
如果一个PB程序是另一个系统的调用对象,那么就可能存在这种情况,当父系统调用时可能会直接传过来一个参数。被调用系统需要根据参数自动进行相关操作,而不是再从别的渠获取数据等。实际上调用时类似在快捷方式后加参数而已。如调用病案程序方法如下: c:\balg\bagl.exe /0576170 通过这样调用,被调用系统可根据“0575170”直接查询该号患者的信息-------------原创 2012-11-27 14:52:01 · 1815 阅读 · 0 评论 -
图学PowerBuilder----去除启动后加载上次项目的方法
昨天试验二维码的例子搞得今天PB一打开加载上次的项目就报错,无奈重装了。后来同事告诉了一个方法,可以不用重装,在此分享一下:搜pb.ini打开找到 LastWorkspace=E:\公司程序\总院SSMZ to gaom\SSMZ\SSMZ.pbw 把后面内容清空保存,退出正常方法原创 2012-09-13 12:31:23 · 1709 阅读 · 0 评论 -
图学PowerBuilder---Can't Load OCI.dll 问题的解决!
PB开发了程序后给用户安装,装ORACLE9的客户端,装完配置连接成功,SQLPLUS也能正常访问。但运行程序时却总提示不能加载OCI.dll。在网上查了一下。基本上都是说因为权限的事,如下:安装orcale9i后一直出现“关于无法加载DLL(OCI.DLL)”,在网上搜索了一下,全是权限配置的问题,但一直找不到在xp中安全选项。后来多次摸索终于找着了,具体步骤如下:点击资源管理器原创 2012-09-08 21:35:26 · 3792 阅读 · 1 评论 -
图学PowerBuilder---DBMS XXX is not supported in your current installation
PB程序开发完成后给用户安装后主程序测试正常。但其中一EXE文件为其它人开发的通过FTP用于软件自动升级的程序。运行时总是提示”DBMS O90 is not supported in your current installation ”经过测试与安装的OCRALCE9没有关系。后来经过反复对比其它使用此程序的软件发现少了一个链接库文件:PO9090.dll将其拷到程序目录即可。原创 2012-09-08 21:44:09 · 5326 阅读 · 0 评论 -
PB窗口之间传递多参数的方法
在PowerBuilder中函数OpenWithParm,CloseWithReturn,OpenSheetWithParm,windowname.OpenUserObjectWithParm等都有一个在进行窗口操作(打开或者关闭)时存入Message消息对象的参数parameter或returnvalue。 消息对象Message有三个属性用于存储这些函数传递给窗口的数据(依赖于窗原创 2012-09-06 12:54:06 · 1265 阅读 · 0 评论 -
图学PowerBuilder----Pb中按键处理使用的键盘码
Keycode对照表 字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 51 D 68 M 77 V 86 4 52 E 69 N 78 W 87 5 53 F 70 O 79 X 88 6 54 G 71 P原创 2012-09-04 08:23:14 · 9333 阅读 · 0 评论 -
图学PowerBuilder---PB中的一些小问题及解决
1、PB的数据窗口可以提供数据的编辑功能,但如何在多列及行之间跳转的问题则出现了。有的人会说TAB键不就完事了吗?确实是。在WINFORM中TAB键一直以来被作为切换焦点的首选键。然而在实际应用中,根据键盘布局及中国特色等各方面因素,人们往往更习惯于用回车键,但PB不支持。所以有了下面的变通方法:send(handle(this),256,9,long(0,0))通过这个API语句即可实现原创 2012-09-03 22:02:56 · 1702 阅读 · 0 评论 -
图学PowerBuilder---合并相同单元格
在用数据窗口显示数据时,经常会出现某一列的连续多行内容是相同的,在有中国特色的软件使用者看来这是一个很大的问题。一定要合并才能显得规范。如下图:在PB中可以通过简单的设置来实现合并行功能。进入DataWindow设计窗口后在【ROWS】菜单按如下操作:将需合并的列拖到右侧手,确定即可。【注意】采用此种方法虽然可以合并,但并不能像EXCEL中那样合并后的值居中显示,而是在上方原创 2012-07-18 09:52:44 · 4800 阅读 · 0 评论 -
图学PowerBuilder---PB中的几个设置与问题
1、DW设计窗口如何显示标尺网格进入DW编辑环境后,点击“DESIGN”菜单建议将“Retrieve on Preview"项勾选掉,否则动不动就Retrieve数据很烦人的。注意其中的类型这个就不用多说了!以上设置完确定即可!2、控件隐藏了找不到了PB中如果设置控件VISIBLE为FALSE 后在窗体中对象就看不到了。本人也曾为此苦脑过。其实在菜单原创 2012-07-12 15:23:50 · 2793 阅读 · 3 评论 -
图学PowerBuilder---PB自带的DataWindow学习工具
DataWindow(DW)可是PB中的核心,可是关于DW的一些东东都不太清楚,加之PB的IDE对智能提示支持的不好,操作DW很难,后来在高哥的指引下,找到了这个方法,可以在PB中直接查看DW的一些属性和方法。猛击(呵呵) 上面圈上的图标,会出现一个窗口。在右侧的列表中选择一项后会在下边以两种方式列出其语法,非常方便。当然这里在左边的下拉框中还可以选择其它内容。--原创 2012-06-18 14:25:24 · 1957 阅读 · 0 评论 -
图学PowerBuilder---智能提示功能
用过了其它一些IDE的同学都会对PB的IDE嗤之以鼻,的确太弱智了。说起智能提示,咱也不能随便冤枉人家,虽然不好用,但还是有的。在菜单栏上点“DESIGN”后,在子菜单“OPTIONS”上点击就会出来。原创 2012-06-13 14:52:41 · 1330 阅读 · 0 评论 -
图学PowerBuilder---PowerBuilder中PBM_系统事件 备查
虽然本系列是图学,但这篇没有图请大家不要拍砖,主要是为方便大家所以转来。-----------------------------------------------------------------------------------------------------------pbm_bmgetcheck 单选按钮或多选按钮是否被选。 pbm_bmgetstate 按钮是否加亮转载 2012-06-05 09:20:09 · 2131 阅读 · 0 评论 -
图学PowerBuilder---(自定义)事件
在PB中,对于很多控件而言,在开发窗口中默认列出的并不是所有该控件支持的事件,如DW的鼠标按下,抬起等事件并不在其默认事件中。但这并不表示其不支持,我们可以采用(自定义)方式来扩展其事件。这里所说的自定义并不是真正的自定义,而是PB中已经默认有了相关的事件,我们只是对其进行一个类似重命名的操作。使我们需要的控件拥有它即可。如上图所示,在DW中并没有关于鼠标的按下,抬起,移动事件。接下来原创 2012-06-05 09:16:10 · 3495 阅读 · 0 评论 -
图学PowerBuilder----Datawindow保存数据功能
前面某节里已经说过,PB是基于数据库的开发工具,因此对于与数据相关的操作都非常简单。在其它开发工具中进行数据保存时,一般都要写SQL语句来执行。而在PB中就非常简单了。1、如果数据窗口中的内容是从单一的表中得来的。那么保存数据只需几行代码:2、如果表中的数据来源于多个表或表与视图的联合查询等,只对其中的一个或几个表进行保存时,也不是很麻烦,但要简单设置一下。进入DataWindow原创 2012-05-28 09:40:40 · 4095 阅读 · 1 评论 -
图学PowerBuilder---实现Datawindow多选的函数
先上一图看看效果在PB的Datawindow中不似list等控件,默认不支持多选(CTRL、SHIFT)但可以通过代码来实现。下边就列出多选的实现方法。补充说明:其它与其它开发工具中的选择行相比较而言,PB的Datawindow中的行默认情况下鼠标点选后,该行并没有选中,而是需要一个Boolean的变量标记行是否选中。首先要在变量声明中定义如下变量:代码放在这里,方便大家复原创 2012-05-25 09:55:37 · 3907 阅读 · 1 评论 -
图学PowerBuilder----关于分号与SELECT INTO
对于初学PB的人来说,有时就会遇到这样的问题。像我今天就遇到了。乍一看没错呀!SQL语句写了好几年了,没什么错呀!而且还是语法错误。晕死。下面来讨论一下错误的原因。PB做为一款数据库应用程序开发工具有其自身的特点。为什么要在开发工具前加上数据库应用程序的定语呢!因为与其它开发工具脱离数据库的开发环境不同的是,PB的开发建立在数据库连接的基础上。其它的开发工具在开发过程中与数据库打交道的都是原创 2012-05-16 11:25:25 · 3961 阅读 · 0 评论 -
图学PowerBuilder----sqlca.sqlcode返回值的含义
在无论在何种基于数据库的程序开发中,SQL语句都是不可或缺的。在PB开发中SQL语句执行情况通过SQLCA.SQLCODE的反馈给开发者。那么这个返回值都代表什么含义呢!在网上搜索了一下。下面的内容转自:http://hi.baidu.com/yuyong1982912/blog/item/c7a05b800e33fcd5bc3e1e03.html---------------------原创 2012-05-16 10:04:58 · 9986 阅读 · 1 评论 -
图学PowerBuilder----怪异的编辑器
编辑一个小功能,让DW与窗体大小变化一起变化。超简单的功能。一直郁闷的是都是数值型怎么不能想减,搞来搞去发现这个怪异的怪胎只因为运算符与变量没有空格。dw_1.Height=newHeight - 200晕死了!看来代码规范还得多多注意!原创 2012-05-15 10:40:58 · 1376 阅读 · 0 评论 -
图学PowerBuilder----调用窗口的三种方式
调用窗口的三种方式1、直接打开此种方法为最基本的方法,方法名称为:Open(窗口名称)方法名称Open功 能打开一个新窗口语 法Open ( windowvar {, parent } )参 数描述备注wind原创 2012-05-11 14:32:26 · 10063 阅读 · 1 评论 -
图学PowerBuilder----创建窗口
1、直接创建直接创建窗口是窗口创建的最常用的也是最基本方式。在PB中选择New菜单,在弹出的窗口中选择Window即可。点击OK确认后在IDE中将创建一个窗口。在窗口的右侧属性栏中可对窗口进行各种设置:2、继承创建在面向对象编程中通过继承可以将开发好的对象扩展出更多的属性与方法,是面向对象的一个重要的特性。在PB中当我们开发完成一个窗口或其它对象后也可以通过原创 2012-05-11 14:30:17 · 2302 阅读 · 1 评论 -
图学PowerBuilder------窗口
窗口是Windows操作系统中最常用的交互界面。窗口可以为用户提示应用程序的系统信息,同时又可以从用户的鼠标和键盘操作中得到输入信息,并将它们反馈到应用系统中,从而实现用户和应用程序之间的沟通。窗口分类在PB中窗口分为主窗口、弹出窗口、子窗口、响应窗口四类。1、主窗口主窗口是独立运行的。一般情况下,一个应用程序只有一个主窗口,当主窗口关闭时,应用程序也停止运行。原创 2012-05-11 14:20:47 · 1498 阅读 · 0 评论 -
图学PowerBuilder ---- 创建一个应用
选择工具栏中的新建按钮输入路径和名称后保存在左侧的工作空间的树上点右键并选择NEW在弹出的窗口中选择TEMPLATE APPLication一路NEXT这里是需要选择数据源的。本例先不使用任何数据源,选最后一个NONE再一路NEXT。最后展开后如下图的开发环境点工具栏上跑动的小人(运行)按钮即可运行程序。有成就感吗?我原创 2012-05-11 11:33:33 · 1133 阅读 · 0 评论 -
图学PowerBuilder----- 常用工具栏按钮
常用的工具栏按钮如下:原创 2012-05-11 11:21:31 · 2603 阅读 · 0 评论 -
图学PowerBuilder ------ 开发环境
先来认识一下开发环境原创 2012-05-11 11:19:12 · 1030 阅读 · 0 评论 -
图学PowerBuilder----序
最近换了单位,新单位使用PB开发,又得从头学起。做了多年的程序开发,按习惯还是一步步来,把自己学到的东西在这里记录一下,也方便一下如我般愚钝的人顺便了解一下PB。此教程仅为学习PowerBuilder开发之参考资料。本资料中的内容仅围绕开发中涉及的部分内容,本资料不确保所述内容及方法的权威性、标准性及全面性。同时也请大侠们多提建议少拍砖扔蛋。原创 2012-05-11 11:14:36 · 908 阅读 · 0 评论