pb
lwj0310
这个作者很懒,什么都没留下…
展开
-
PB6.5调用Web Service的办法
从PB8.0/9.0开始,就已经提供Web Service Proxy功能,能够直接进行相关程序的编写。但是,部分老项目使用PB6.5开发研究后发现,其实PB6.5要操作Web Service也挺容易。 说明:1.本例子用于pb对Web Service的操作。 2.pb可使用两种方式实现。 3.proxy方式使用pb9自带的Web Service转载 2014-04-30 16:48:56 · 1308 阅读 · 0 评论 -
图学PowerBuilder---PB中的一些小问题及解决
1、PB的数据窗口可以提供数据的编辑功能,但如何在多列及行之间跳转的问题则出现了。有的人会说TAB键不就完事了吗?确实是。在WINFORM中TAB键一直以来被作为切换焦点的首选键。然而在实际应用中,根据键盘布局及中国特色等各方面因素,人们往往更习惯于用回车键,但PB不支持。所以有了下面的变通方法:send(handle(this),256,9,long(0,0))通过这个API语句转载 2014-05-08 13:30:05 · 820 阅读 · 0 评论 -
图学PowerBuilder------窗口
窗口是Windows操作系统中最常用的交互界面。窗口可以为用户提示应用程序的系统信息,同时又可以从用户的鼠标和键盘操作中得到输入信息,并将它们反馈到应用系统中,从而实现用户和应用程序之间的沟通。 窗口分类在PB中窗口分为主窗口、弹出窗口、子窗口、响应窗口四类。1、主窗口主窗口是独立运行的。一般情况下,一个应用程序只有一个主窗口,当主窗口关闭时,应用程序也停止运行转载 2014-05-08 12:48:58 · 1435 阅读 · 0 评论 -
图学PowerBuilder---实现Datawindow多选的函数
先上一图看看效果在PB的Datawindow中不似list等控件,默认不支持多选(CTRL、SHIFT)但可以通过代码来实现。下边就列出多选的实现方法。补充说明:其它与其它开发工具中的选择行相比较而言,PB的Datawindow中的行默认情况下鼠标点选后,该行并没有选中,而是需要一个Boolean的变量标记行是否选中。首先要在变量声明中定义如下变量:转载 2014-05-08 12:53:26 · 1348 阅读 · 0 评论 -
控制由Run运行的程序(简称Run程序)
在PB程序设计中,可以用Run()来运行一些程序。比如用户按了F1,就运行一个chm文件。但Run程序无法与PB主程序协调工作,若用户按了多次F1,就会启动Run程序的多个实例,主程序退出时,Run程序依然运行。可以用如下函数来使它们协调工作:在外部函数中引用:Function Ulong FindWindowA(Ulong classname, String wi转载 2014-05-08 13:25:05 · 833 阅读 · 0 评论 -
PB游标编程套路
String ls_temp1String ls_temp2declare cur_name CURSOR FOR select field1,field2 from tablenamewhere conditionOPEN cur_name;FETCH cur_name INTO :ls_temp1,:ls_temp2;do while sqlca.sqlco转载 2014-05-04 09:09:31 · 585 阅读 · 0 评论 -
PB 自定义事件
pbm_custom01对应windows的 WM_USERWM_USER =1024用户自定义事件User-Defined Event PowerBuilder Event IDWM_USER pbm_custom01. .. .WM_USER + 74 pbm_custom75原创 2014-04-25 14:29:12 · 1137 阅读 · 0 评论 -
PB GetText()函数
bufferstringnull目录(?)[+] GetText函数 返回数据窗口控件中 悬浮在当前行列之上的编辑框中的文本。在用户修改数据窗口中某项的值时,实际上首先在悬浮 在当前项上的编辑框中进行修改 , 当用户移动输入焦点或程序中使用 AcceptText()函数接收用户输入时,用户修改的数据通过有效性规则验证后放入数据窗口的主缓冲区中。转载 2014-04-25 14:50:10 · 1507 阅读 · 0 评论 -
【PB】从数据窗口获得数据的方法总结
通过PowerBuilder的数据窗口对象属性,我们可以指定一定格式的表达式来直接从数据窗口中获得数据。这种直接的数据操作方法让我们能只需一条语句而不用调用许多方法,就可得到一定量甚至大量的数据。操作数据的表达式大致可分为三种,下面逐一介绍。---------------------------------------------------------------------1)在知道列转载 2014-04-24 16:30:48 · 851 阅读 · 0 评论 -
【PB】事件的触发时机及先后顺序
事件的触发时机及先后顺序 开启窗体:Open(窗体)→Load(窗体)→Resize(窗体)→Activate(窗体)→Current(窗体)→Enter(第一个拥有焦点的控件)→GotFocus(第一个拥有焦点的控件) 关闭窗体:Exit(控件)→LostFocus(控件)→Unload(窗体)→Deactivate(窗体)→Close(窗体) 切换至另一窗体:Dea转载 2014-04-24 16:26:30 · 1233 阅读 · 0 评论 -
【PB】数据窗口技术
标识当前行〓标识当前行也就是给当前行加上醒目的标记,以便用户更清楚当前要对哪一行数据进行操作,尤其当用户的操作中间有停顿时,继续进行操作就特别需要知道哪个是当前行。这里的当前行不要狭隘地理解成仅仅是光标所在行。当翻页时如果光标所在行不在当前页中,这时应该将当前页中的第一行置为当前行,否则容易造成错觉;当删除数据时,不能自动改变当前行,此时应该使用脚本设置当前行。标识当前行的函数和方法很多,转载 2014-04-24 16:37:44 · 929 阅读 · 0 评论 -
如何动态修改DATAWINDOW OBJECT的数据源
(一)通过GETSQLSELECT、SETSQLSELECT函数实现dwcontrol.GetSQLSelect ( )dwcontrol.SetSQLSelect ( statement )说明:这种情况下要求新旧SELECT出来的结果列要求一致,并且SELECT语句不能有RETRIEVE ARGUMENTS。(二)通过dw_control.Object.DataWindow.T转载 2014-04-25 15:40:48 · 2030 阅读 · 0 评论 -
pb中截取小数位的两个函数
在开发程序时,会遇到截取小数位的问题,在PB中提供了两个函数。如下1、Round(x,n) //x为要截取的小数,n为要截取的小数位数例如:Round(8.341,2) //得到的结果是:8.34 取了两位小数 Round(8.325,2)//得到的结果是:8.33 取了两位小数(四舍五入)2、Truncate ( x, n )//x为要转载 2014-04-25 16:39:28 · 5019 阅读 · 0 评论 -
在数据窗口中使用ENTER键代替TAB键
1、在数据窗口增加自定义事件,Event Name为key_enter,Event ID为pbm_dwnprocessenter2、代码如下:if keydown(keyenter!) then Send(Handle(this),256,9,Long(0,0))//发送TAB键 Return 1 //取消原ENTER键的动作 end if转载 2014-04-25 16:47:05 · 658 阅读 · 0 评论 -
PowerBuilder 双击datawindow列标题排序
在Instance Variable 声明:string is_sortType = 'D'在dw_1的doubleclicked()事件:[csharp] view plaincopyprint?string ls_colName ls_colName = string(dwo.name) i转载 2014-05-08 13:17:24 · 1399 阅读 · 0 评论 -
图学PowerBuilder----调用窗口的三种方式
调用窗口的三种方式1、直接打开此种方法为最基本的方法,方法名称为:Open(窗口名称)方法名称Open功 能打开一个新窗口语 法Open ( windowvar {, parent } )参 数描述备注转载 2014-05-08 12:51:06 · 1260 阅读 · 0 评论 -
PB程序优化
一、处理 SQL 语句 1、缓冲 SQL 语句 在应用程序中,有时需要反复调用同一组SQL语句,在这种情况下,可以通过在应用中为这些 SQL建立缓冲区来提高执行性能。在缺省情况下,SQL语句的缓冲区是关闭的,你可以通过如下语句打开它: SQLCACHE = n n 表示装入缓冲区的 SQL 语句数量(缺省为0)。 例如: dw_1.SetTransObject(转载 2014-05-08 10:57:17 · 626 阅读 · 0 评论 -
MSBCODE9.OCX
简单示例: Me.BarCodeCtrl1.Style = 7 Me.BarCodeCtrl1.Value = "123456 CODE-128" Me.PrintForm '打印窗体 添加控件: Project - Components - Microsoft转载 2014-04-29 17:54:49 · 6097 阅读 · 0 评论 -
PB从剪贴板取图并保存
结构体定义[cpp] view plaincopytype bitmapinfoheader from structure long bisize long biwidth long biheight integer biplanes integer bibit转载 2014-04-30 12:18:50 · 3094 阅读 · 0 评论 -
PB与各种数据库连接
PB与各种数据库连接!! 1.Power script 语言里的事务处理对象怎么理解 PowerBuilder 程序与数据库之间传递信息的一个结构变量,共有15个成员.你可以详细列表它的所有成员看看它的组成,PB的应用程序会初始化一个全局的结构体变量,SQLCA,当然你也可以自定义一个自己的事务对象.转载 2014-04-30 16:49:42 · 1531 阅读 · 0 评论 -
PB程序使用串口
PB下从串口通信获取程控交换机计费数据的API调用 我是通过调用API实现的: 如你用的是二进制的,请把缓冲区改成BLOB型的。首先定义外部函数: Function Boolean CloseHandle(ulong hObject ) Library "kernel32.dll" FUNCTION boolean ReadFile(ulong fhand, & ref转载 2014-05-01 21:23:59 · 4536 阅读 · 0 评论 -
pb中截取混排字符串
pb中截取混排字符串 宋铭 pb数据窗口没有提供调整计算域行间距的方法,甚至利用richtext类型的数据窗口也不行。我们设想,在计算域各行之间增加回车换行符来调整行间距。但由于计算域的内容是动态可变的,为此,我们设计了一个全局函数fun—string—intercept,解决了这个问题。 该函数有两个参数:text和len,其中text为需要处理的字符串,转载 2014-05-02 17:00:43 · 810 阅读 · 0 评论 -
PB窗口使用技巧之使用窗口属性编程
本文再详细介绍几个在编程中经常用到的窗口属性,主要有control[],menuID,WindowState和tag等。 属性tag可以应用于所有的控件、用户对象与菜单,用来保存和控件相关的文本。因为文本可以随意设置,所以可以根据脚本的目的来设置各个控件的tag内容。比如,需要显示各个控件的提示信息时,可以给每个控件的tag属性赋予描述控件功能的文本或者使用注意事项的文本;如果需要知道转载 2014-05-04 08:52:38 · 836 阅读 · 0 评论 -
图学PowerBuilder----sqlca.sqlcode返回值的含义
在无论在何种基于数据库的程序开发中,SQL语句都是不可或缺的。在PB开发中SQL语句执行情况通过SQLCA.SQLCODE的反馈给开发者。那么这个返回值都代表什么含义呢!在网上搜索了一下。下面的内容转自:http://hi.baidu.com/yuyong1982912/blog/item/c7a05b800e33fcd5bc3e1e03.html-------------------转载 2014-05-08 12:52:26 · 904 阅读 · 0 评论 -
图学PowerBuilder---智能提示功能
用过了其它一些IDE的同学都会对PB的IDE嗤之以鼻,的确太弱智了。说起智能提示,咱也不能随便冤枉人家,虽然不好用,但还是有的。在菜单栏上点“DESIGN”后,在子菜单“OPTIONS”上点击就会出来。转载 2014-05-08 13:33:02 · 1526 阅读 · 0 评论 -
pb编程中select into的用法
select max(flowno) into :flowno:id from bil_flowlist原创 2014-05-08 12:42:25 · 3378 阅读 · 0 评论 -
图学PowerBuilder----创建窗口
1、直接创建直接创建窗口是窗口创建的最常用的也是最基本方式。在PB中选择New菜单,在弹出的窗口中选择Window即可。点击OK确认后在IDE中将创建一个窗口。在窗口的右侧属性栏中可对窗口进行各种设置:2、继承创建在面向对象编程中通过继承可以将开发好的对象扩展出更多的属性与方法,是面向对象的一个重要的特性。在PB中当我们开转载 2014-05-08 12:50:08 · 1315 阅读 · 0 评论 -
PB中判断该字段是否更改及原始值与当前值
今天根据客户的需求,当在单据中变更供应商时,需要在数据库中记录一下日志。这就需要用到GetItemString或GetItemNumber函数或GetItemStatus函数。 先解释一下这几个函数的意思: dwcontrol.GetItemStatus ( row, column, Primary! )可以获取该缓冲区内指定单元的状态,当参数column为0时,表示转载 2014-05-08 13:19:21 · 1306 阅读 · 1 评论 -
pb中的打印----转
在PowerBuilder应用程序的开发中,各种报表的打印功能是必不可少的。Power-Builder4.0提供了大量与打印机进行通信的内部函数,用于各种打印输出。运用这些函数,您不仅可以打印常见的DataWindow对象,还可以打印字符串、位图、图形对象,甚至是全屏。DataWindow的两种打印方法:在PowerBuilder中我们可以有两种方法打印DataW-indows。一种最简单转载 2014-05-08 13:23:57 · 1693 阅读 · 0 评论 -
dw的itemchanged时间中rutrun的返回值
Itemchanged事件:当数据窗口控件中某个域被修改并且该域失去输入焦点该事件返回的意义为:0--(缺省返回值),接收新修改的值; 1--不接收新修改的值且不允许改变输入焦点; 2--不接收新修改的值但允许改变输入焦点。原创 2014-05-08 18:18:42 · 954 阅读 · 0 评论 -
PB 操作数据库
一、连接数据库连接数据库也就是指定事务对象。PowerBuilder供给了两个函数:SetTrans()和SetTransObject()。语法格局:dw_control.SetTrans(TransactionObject)dw_control.SetTransObject(TransactionObject)此中,dw_control是所应用的数据窗口控件,tr转载 2014-04-25 15:09:42 · 4720 阅读 · 1 评论