PB编程
nuptsv_ice
这个作者很懒,什么都没留下…
展开
-
两张结构相同的表对比数据。
select * from 表A EXCEPTselect * from 表B原创 2012-08-03 09:32:35 · 1840 阅读 · 0 评论 -
用PB实现客户端程序的自动升级
C/S结构的运行模式虽然没有B/S结构更加容易扩展和简便,但由于其稳定性好、安全性高、运行速度快等特点,现在仍然被广泛应用于各种大型应用系统中,有些则和B/S形成混合的运行模式。 B/S优越于C/S的一个很大特点就是,客户端不需要安装客户端软件,通过浏览器就可以实现各种应用,并且服务器上的内容的变化可以快速反映到客户端。如果让客户端软件也实现自动升级,可以弥补C/S模式在这方面的缺陷。本文就转载 2012-08-24 11:00:02 · 2094 阅读 · 0 评论 -
pb中打开帮助文件的若干种方法
帮助文件一般有chm,hlp等,在PowerBuilder中可以使用pb自带的函数以及API函数调用和打开帮助文件。1,使用pb的函数showhelp showhelp("help.chm",Finder!) help.chm是帮助文件的名字2,使用调用应用程序函数run run("hh.exe help.chm") help.chm应当包含绝对路径,例子中转载 2012-08-24 15:29:07 · 2895 阅读 · 0 评论 -
pb9实现在两个工作簿之间进行工作表复制
分类: PB技巧 datawindow技巧 ole/com相关2011-11-07 10:03 347人阅读 评论(1) 收藏 举报 下面的函数f_excel_hb,可以实现“将工作簿filename_s中的工作表sheetname_s以新的工作表名称sheetname_t,复制到工作簿filename_t的最后”[cpp] view pl转载 2012-09-05 09:16:24 · 2684 阅读 · 0 评论 -
PB9写的一个拆解SQL语句的通用函数
将以下内容复制,另存为 f_split_sql.srf 然后导入pbl中[cpp] view plaincopy$PBExportHeader$f_split_sql.srf $PBExportComments$SQL操作:分割SQL语句为select、from、where、group by、order by 5个子句 global ty转载 2012-09-05 09:18:05 · 842 阅读 · 0 评论 -
PB与各种数据库连接!!(转载)
几个与PB连接数据库相关的问题1.Power script 语言里的事务处理对象怎么理解PowerBuilder程序与数据库之间传递信息的一个结构变量,共有15个成员.你可以详细列表它的所有成员看看它的组成.PB的应用程序会初始化一个全局的结构体变量,SQLCA,当然你也可以自定义一个自己的事务对象.1 DBMS string 所使用的数据库管理系统的名字,如Sybas转载 2012-09-06 08:53:23 · 962 阅读 · 0 评论 -
PB中的Describe,Evaluatate,LookUpDisplay小结
Describe 可以描述DW中某个对象的某个属性的取值,虽然函数Describe可以获取对象的信息,但是表达式的取值就不能正常读取了,而这又是经常遇到的.Evaluate 如果想获取数据窗口对象中由属性、函数等构成的表达式的取值时,必须在函数Describe中使用函数Evaluate,LookUpDisplay 在数据窗口控件上显示的值和字段实际得到的值并不相同,使用函数Get转载 2012-09-06 09:06:51 · 578 阅读 · 0 评论 -
PB 添加右击菜单1
首先创建好一个菜单,就是需要弹出的菜单,然后再为需要右键弹出的对象的rbuttondown事件里增加如下代码: m_main ulm_menu //m_main为你需要弹出的菜单 ulm_menu = create m_main //指定菜单弹出的位置 ulm_menu.m_file.PopMenu(this.x+PixelsToUnits(xpos,XPi原创 2012-08-28 17:24:25 · 1689 阅读 · 0 评论 -
Datawindow常使用的内容
一、数据窗口中的每一个字段有一个序号,该序号是数据窗口的data source中排列的序号,在程序中可用序号来对字段进行访问。如:dw_1.Modify( "#3.width = 10 "), 二、控制数据窗口的某个字段在可修改状态和不可修改状态之间转换,有以下几种方法来实现:A: taborder属性 dw_1.SetTabOrder(4, 0) 第四个转载 2013-03-27 17:32:13 · 857 阅读 · 0 评论 -
如何创建一个动态的数据窗口对象
问:我想在程序运行中根据需要动态地建立一个数据窗口对象,该怎么做呢?答:方法有四:第一种方法: 在程序中用Describe()函数得到某个已经存在的数据窗口对象的源代码。如:string str_dwsyntax,str_lag//获得数据窗口1的语法str_dwsyntax=dw_1.object.datawindow.syntax//根据数据窗转载 2013-03-27 17:04:19 · 749 阅读 · 0 评论 -
pb权限控制方法
在pb实现一般管理系统的时候,我们会遇到这样一种情况,作为一个系统,可以分为若干个子系统,有多个操作员对它进行操作,每个操作员对各个子系统的权限不同,甚至在同一子系统中,操作员对各个菜单项的操作权限也不一样,更细一点,不同的操作员对于同一窗口中某一按钮的操作权限也是不一样的,那么,怎样较好地实现对不同用户细化到某个按钮的权限控制呢? 首先,怎样使得一个操作员不能对他不具权限转载 2013-03-27 17:44:18 · 1561 阅读 · 1 评论 -
SQL Server 日期的加减函数: DATEDIFF DATEADD
DATEDIFF: 返回跨两个指定日期的日期边界数和时间边界数, 语法:DATEDIFF ( datepart , startdate , enddate ) 用 enddate 减去 startdate 注:datepart 指定应在日期的哪一部分计算差额的参数,其日期相减时,只关注边界值,例SELECT DATEDIFF(YEAR,'2008-12-31','2009-1-1') 返转载 2014-02-28 10:08:46 · 758 阅读 · 0 评论 -
pb数据窗口一些技取
标识当前行〓标识当前行也就是给当前行加上醒目的标记,以便用户更清楚当前要对哪一行数据进行操作,尤其当用户的操作中间有停顿时,继续进行操作就特别需要知道哪个是当前行。这里的当前行不要狭隘地理解成仅仅是光标所在行。当翻页时如果光标所在行不在当前页中,这时应该将当前页中的第一行置为当前行,否则容易造成错觉;当删除数据时,不能自动改变当前行,此时应该使用脚本设置当前行。标识当前行的函数和方转载 2014-03-07 09:12:18 · 7825 阅读 · 0 评论 -
PB判断数据窗口数据是否更改及原始值与当前值
PB判断数据窗口数据是否更改及原始值与当前值 dwcontrol.GetItemStatus ( row, column, Primary! )可以获取该缓冲区内指定单元的状态,当参数column为0时,表示读取整个列的修改状态。有以下状态。 NotModified! :指定单元的数据和原始数据相同,没有修改过。 DataModified!:指定单元的数据和原始数据不同,修转载 2014-03-07 09:19:07 · 11220 阅读 · 0 评论 -
PB数据窗口中各项指标的获取方法
1、得到当前鼠标所指对象所在的带区 string str_band str_band=GetBandAtPointer() //得到当前鼠标所指对象所在的带区 str_band=left(str_band,(pos(str_band,'~t') - 1))//得到"header"、"detail"等 if str_band2、得到鼠标指向的列对象名转载 2014-03-07 09:05:41 · 1525 阅读 · 0 评论 -
数据窗口的ItemChaned事件中修改当前值的方法
最近写PB时遇到要需要在数据窗口的ItemChanged事件中修改正在编辑的字段的值,发现SetItem+和SetText+都不好使,在网上搜了一下,给我复习了一边+ItemChanged+事件的特性,就是依据返回值,来判断接受或者拒绝当前值和焦点是否可以离开。所以直接写+SetItem 或+SetText+是不能修改当前值的。那么沿着这种思路走下去,接受当前值应该是把+data+的值赋给当前转载 2014-03-07 10:14:08 · 3746 阅读 · 0 评论 -
PB中下拉列表ddlb的自动查找
integer li_searchtextlen //查询字符长度integer li_searchindex //查找到的索引string ls_searchtext //输入的textstring ls_foundtext //找到的textboolean lb_keyback //返回boolean lb_keydel //删除messa转载 2014-04-08 16:42:07 · 6159 阅读 · 0 评论 -
retrieve刷新时不清除原数据
论坛中有朋友提问,如何用retrieve刷新时不清除原数据主要设置为在Datawindow的RetrieveStart事件中,使用Return 2,这样PowerBuilder不会清除原有数据而是追加新数据。转载 2012-08-24 11:07:39 · 932 阅读 · 0 评论 -
数据窗口的多表更新
数据窗口的多表更新(文/Kukoc)原理分析:数据窗口数据源来自两个或两个以上的表,相当于多个表连接建立的一个视图,对于这种数据窗口,PB默认是不能修改的。当然我们可以通过设置它的Update 属性,数据窗口的Update Properties用来设置数据窗口是否可Update、可Update的表、可Update列等,但不能同时设置两个表可更新;所以当修改它的数据项时,我们不能转载 2012-08-24 11:05:49 · 531 阅读 · 0 评论 -
PB中一些技巧
1.RGB函数计算公式: 颜色值 = (65536 * Blue) + (256 * Green) + (Red) 2.控件可拖动:send(handle(this),274,61458,0)3.如何用程序控制下拉子数据窗口的下拉和收起用modify或者直接用dw_1.object.col1.dddw.showlist = true4.检索参数有些不需要传入则传%转载 2012-08-30 09:52:33 · 830 阅读 · 0 评论 -
修改数据窗口指定单元的颜色
/*-----------------------------------------------------------------------------------函数功能:指定某行某列的属性值(字体、背景颜色等)uf_setcell_color(dw,args_properties,args_type,args_col[],args_info[])datawindow d原创 2012-08-03 09:40:28 · 1407 阅读 · 0 评论 -
[PB]-数据窗口其他
[PB]-数据窗口其他2011-12-30 11:33////////////////////////////////标识当前行〓标识当前行也就是给当前行加上醒目的标记,以便用户更清楚当前要对哪一行数据进行操作,尤其当用户的操作中间有停顿时,继续进行操作就特别需要知道哪个是当前行。这里的当前行不要狭隘地理解成仅仅是光标所在行。当翻页时如果光标所在行不在当前页转载 2012-08-03 09:48:21 · 1396 阅读 · 0 评论 -
PB数据窗口技巧
1、如何让存储文件目录的列,显示图片?答:选择对应的column的display as picture属性为true2、如何复制grid类型的所选择的行的数据到系统剪切板?答:string ls_selectedls_selected=dw_1.Object.DataWindow.Selected.Dataclipbord(ls_selected)4转载 2012-08-03 09:54:53 · 2730 阅读 · 0 评论 -
PB数据窗口中字段下拉窗口的setfile
DatawindowChild idwc_childdw_1.GetChild("字段名",idwc_child)idwc_child.SetTransObject(sqlca)idwc_child.Retrieve()//messagebox("(dept = '"+ycr_user.user_dept+"' AND usr_right = '3'",ycr_user.use原创 2012-08-03 09:58:26 · 8806 阅读 · 0 评论 -
PB-数据窗口缓冲区与数据修改状态
1--缓冲区的介绍在应用程序运行时,用户对数据窗口进行的操作情况是很复杂的,删除、插入、修改等操作有可能都会发生。记录哪些数据修改过、哪些数据需要删除、哪些数据是新增加的等等,都是很重要的工作,以便数据保存时能够正确修改数据库。这些工作都是由数据窗口缓冲区来完成的。数据窗口在运行时要创建四个缓冲区,分别是主缓冲区、删除缓冲区、过滤缓冲区和原始缓冲区,这四个缓冲区各司原创 2012-08-03 10:49:19 · 1270 阅读 · 0 评论 -
设置某一个行列的颜色和写保护属性
//----------------------------------------------------- //函数功能:设置某一个行列的颜色和写保护属性 //调用方式:f_set_color(dw_1,row,col) // 保护整行:f_set_color(dw_1,row,0) // 保护整列:f_set_color(dw_1,0,col) //------原创 2012-08-03 10:13:47 · 880 阅读 · 0 评论 -
PB]-子数据窗口
**通常的子数据窗口也就是下拉数据窗口。子数据窗口也是普通的数据窗口对象,没有什么特殊的地方,它的创建方法、可以使用的控件、编程时可以使用的函数等,都和普通的数据窗口相同。特殊的地方只是因为它放在了父数据窗口中,需要和父窗口进行配合。**当为数据窗口中某字段指定为下拉数据窗口编辑风格时,必须提供以下三个属性:a)子数据窗口名称。b)显示字段名称:该字段中的内容显示在父数据窗口的字段转载 2012-08-03 10:38:50 · 3508 阅读 · 1 评论 -
PB中实现dropdownlistbox和数据库绑定
string ls_tempdeclare readdate dynamic cursor for sqlsa;string ls_sql="select ROLENAME from T_ROLE"prepare sqlsa from :ls_sql;open dynamic readdate; do while sqlca.sqlcode=0原创 2012-08-03 10:41:17 · 4753 阅读 · 0 评论 -
Datawindow常使用的内容
一、数据窗口中的每一个字段有一个序号,该序号是数据窗口的data source中排列的序号,在程序中可用序号来对字段进行访问。如:dw_1.Modify( "#3.width = 10 "), 二、控制数据窗口的某个字段在可修改状态和不可修改状态之间转换,有以下几种方法来实现:A: taborder属性 dw_1.SetTabOrder(4, 0) 第四个转载 2012-08-03 10:47:38 · 3974 阅读 · 0 评论 -
如何创建一个动态的数据窗口对象
问:我想在程序运行中根据需要动态地建立一个数据窗口对象,该怎么做呢?答:方法有四:第一种方法: 在程序中用Describe()函数得到某个已经存在的数据窗口对象的源代码。如:string str_dwsyntax,str_lag//获得数据窗口1的语法str_dwsyntax=dw_1.object.datawindow.syntax//根转载 2012-08-03 10:38:03 · 748 阅读 · 0 评论 -
让Pb自动提示运行时错误
将一下代码复制到应用程序的systemerror事件中,当应用程序运行时出错会自动弹出提示框。 String ls_ErrorMessgeString ls_DocNameInteger li_FileNum, li_ReturnChoose Case Error.Number Case 1 //1 Divide by zero ls_ErrorMessg原创 2012-08-03 10:39:33 · 5838 阅读 · 0 评论 -
pb中关于转义符'~'的用法
PB中字符串嵌套的问题:PB中有字符数据类型,该类型数据的起始符号和终止符号可以是单引号,也可以是双引号,即字符串常量可以是单引号括起来的,也可以是双引号括起来的,如下: " He is a boy!" 和 'He is a boy !' 是等效的。PB中的PASER在解析的时候,遇到第一个双引号(单引号)会认为是一个字符串,从这里开始,直到遇到下一个双引号(单引号)表示字符串结束。当我们原创 2012-08-03 10:53:23 · 3941 阅读 · 0 评论 -
获取数据窗口所有字段的字段名
int li_valuelong ll_i,ll_rowcountstring ls_usrid,ls_tooltipdecimal ldc_lastvaluell_rowcount = dw_1.rowcount( )if ll_rowcount Int li_cnt,li_CountString ls_ColNameDecimal ldc_Da原创 2012-08-08 11:04:57 · 2124 阅读 · 0 评论 -
数据窗口单元格添加光标进入的提示信息tooltip
//全局变量us_pass ycr_usern_DB_connectservice db_connectstring gs_name,gs_kcmc,gs_stbhstring gs_zsd[],gs_tx[]dec gs_txfs[]time gs_rzsjString sys_name//datetime lt_now//函数内容原创 2012-08-08 11:33:39 · 1013 阅读 · 0 评论 -
PB进度条
long ll_i,ll_rowcountll_rowcount = dw_1.rowcount( )if ll_rowcount SetPointer(HourGlass!) //鼠标变成沙漏状//w_sys_tip为进度条窗口,里面只需添加文本和进度条空间,无需写如何代码,最大化按钮去掉。Open(w_sys_tip) //打开进度条窗口w_sys_tip.原创 2012-08-08 10:52:16 · 2786 阅读 · 0 评论 -
用PB做一个通用右键菜单
对象被右键单击就弹出一个功能菜单是Windows应用程序一项不可缺少的功能。在PowerBuilder应用开发中,可在需弹出右键菜单对象的rbuttondown事件中调用该菜单的Popmenu( )方法实现这一功能。但多数情况下,应用中有多处要用到不同的弹出式菜单,如一一用这种方法就需要做大量的工作。能不能做一个通用的菜单,可以用任何对象的rbuttondown事件激发弹出,并在弹出前动态改变弹出转载 2012-08-28 17:25:13 · 748 阅读 · 0 评论 -
datawindow简单的动态加列
绝对有用,无处可寻//简单的动态加列//作者:xys_777//永生20100404 - 动态增加列 f_create_delcolstring ls_rtstring ls_dwsyntax,ls_modfiylong ll_PosBeg, ll_PosEnd int ils_dwsyntax = this.describe("dataw转载 2014-07-07 10:25:09 · 1065 阅读 · 0 评论