- 博客(30)
- 资源 (13)
- 收藏
- 关注
原创 如何使用 pbidea 不注册 COM 直接调用 C# dll
C# dll 调用,一直是 PB 程序员的一个烧脑问题,原因在于它不能导出 PB 能识别的 WINAPI 函数,而是导出。Pbidea 调用 C# dll 是相当简单,不需要注册 COM,直接调用。COM 接口,因此,一般是先注册 COM,调用接口。但注册 COM 实在是不方便。cs.DestroyObject(obj) //或 destroy obj。//实例化对象,然后再调用其函数。
2024-08-12 11:18:44
534
原创 关闭窗口时检测DataWindow数据是否更改
关闭窗口时检测DataWindow数据是否更改需求分析:关闭窗口时,如果用户更改了数据窗口中的值,但用户忘了保存,则会丢失用户所做的工作,这时可在关闭时检测用户是否有更改dataWindow中的值,若有更改,在关闭窗口时弹出询问窗口是否保存。可以在窗口的CloseQuery事件中添加如下代码:integer int_returncode//将“漂浮”在数据窗口控件上编辑框的内容放入到数据窗口控件的当前项中(主缓冲区)dw_1.accepttext()if dw_1.deletedcount() +
2020-05-09 15:19:45
429
原创 DataWindow实现列数据多行显示
DataWindow实现列数据多行显示在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自动折行.具体步骤如下:在DataWindow Painter中打开此DataWindow.在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口.选择Position标签, 选中Autosize Height 多选框.选择Edi
2020-05-09 15:17:05
419
原创 DataWindow修改的单元格文字颜色改变
DataWindow修改的单元格文字颜色改变在"Font"标签的"Text Color"属性中,输入如下表达式:IF (column_name < >column_name.Original, RGB(255, 0, 0), RGB(0, 0, 0))。如下图所示:在这个条件中,如果此列已改变,则显示红色字体,否则显示黑色字体。这个表达式主要用column_name < > column_name.Original比较当前列的值和原始列的值是否相同来达到判断的目的。效果
2020-05-09 14:42:30
917
原创 message.number在other中的运用
message.number在other中的运用用法示例:如果要禁止使用中键(滚动轮),则在Window窗体(或DataWindow数据窗口)中的other事件里写: if message.number = 522 then return 1在此附上其他一些message.number的表示含义:512: 鼠标移动 //window无效513: 左键按下 //window无效514: 左键释放 //window无效515: 左键双击 //window无效516: 右键按下 //window无
2020-05-09 14:37:44
714
原创 PB 错误代码
//====================================================================// 事件: .f_return_msg()//--------------------------------------------------------------------// 描述:返回错误信息//--------------------------------------------------------------------// 参数:错
2020-05-09 14:35:34
1430
原创 DataWindow箭头移动
DataWindow箭头移动Subroutine keybd_event(uint bVk,uint bScan,long dwFlags,long dwExtraInfo ) library “user32.dll” //貌似不用这个也可以自定义 pbm_dwnkey 事件 【 注意:不是pbm_keydown】choose case keycase keyenter!if This.getRow() = this.rowCount() thenThis.insertrow(0)This.s
2020-05-09 14:31:19
194
原创 DataWindow加 指向手势
DataWindow加 指向手势getFocus事件中写: this.setrowfocusindicator(Hand!)函数SetRowFocusIndicaTor可以给当前行指定的位置上设置指定的标志,函数的语法格式如下:dw_1.SetRowFocusIndicaTor(focusindiacaTor{,xlocation{,ylocation}})其中,dw_1为数据窗口控件名称;focusindicaTor是枚举型或者特定的图片的名字,可以是以下取值:Off!:取消行标识Focus
2020-05-09 14:25:55
319
原创 DataWindow值获取
DataWindow值获取例1:读取第一行第二个字段单元格的数值dw_1.object.DATA[1,2]例2:读取name字段第二行数值dw_1.object.name[2]例3:获取name字段所有数据(列)string stu_name[]stu_name[]=dw_1.object.name.CURRENT例4:获取当前第几行long rowNumrowNum=dw_1.GetRow()例5:获取当前第几列long columnNumcolumnNum=dw_1.GetCo
2020-05-09 14:18:25
753
原创 pb导入excel文件
// Description:两种方法进行//1、通过数组一行一行读入(定义数据有点麻烦)//2、通过剪贴板直接//====================================================================String ls_path,ls_namels_path = "C:\Documents and Settings\Administr...
2020-04-24 16:03:18
1941
原创 存储过程的优缺点
存储过程的优缺点优点:1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。)缓存改善性能。…但sql serve...
2020-04-14 09:01:37
237
原创 浅谈PB Update Properties 属性
PowerBuilder中可以通过数据窗口的更新属性(Update Properties)来实现并发控制。打开 DataWindow 画笔板,点击 Rows->Update Properties菜单,进入“Specify Updatae Properties”对话框,其中“Where Clause for Update/Delete”组合框中的三个选项就是三种处理数据并发问题的策略。![...
2020-04-10 14:35:28
1538
1
原创 Oracle数据库知识
Oracle相关知识1、触发器的作用?答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。2、什么是存储过程?用什么来调用?答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是...
2020-04-02 09:57:58
223
原创 数据窗口控件-datawindow
**数据窗口控件-datawindowPB9.0提供了28个属性、35个默认事件、162个函数。注意与数据窗口对象的区分。【其他】■脚本的执行效率*尽量不要在RetrieveRow事件下编写脚本(包括注释)。*如果数据窗口的DoubleClicked事件中编写了脚本,那么在数据窗口的C1icked事件中的脚本应该尽量短,否则双击事件中的脚本永远不可能得到执行。一般来说,Cliked中脚...
2020-03-20 21:52:52
1503
原创 PB 动态修改数据窗口DW的SQL
在PB中动态修改数据窗口DW的SQL语句方法注意事项数据库应用程序通常进行一项确定的工作,在编写和编译时就可以确定完整的SQL语句,但是在编译时不能确定SQL语句的具体格式和参数时,只能在程序运行中构造SQL语句,需要使用动态SQL语句。以Foramat 4 动态SQL语句为例,使用格式如下:DECLARE Cursor | Procedure DYNAMIC CURSOR | ...
2020-03-18 22:49:14
1386
原创 PB 你需要知道的东西
PB 你需要知道的东西1、什么叫继承?PB的非可视对象能否实现继承?· 继承就是面向对象中类与类的之间的一种关系,继承的类成为子类,派生类,二被继承的类成为父类、基类或超类。通过继承,使子类具有与父类相同功能的方法和属性,同时子类也可以加入新的属性和方法或者修改父类的属性和方法简历建立新的类层次。PB非可视对象能够实现继承,也能能够实现相应代码的重用。2、PB自定义对象...
2020-03-10 15:01:11
1107
原创 PB菜单带参数调用父窗口、datawindow事件或函数
PB菜单带参数调用父窗口&父datawindow事件或函数一 PB菜单带参数调用父窗口事件或函数调用父窗口函数ParentWindow.Dynamic wf_add()通过菜单带参数调用父窗口函数ParentWindow.Dynamic wf_add(‘1’)调用父窗口事件ParentWindow.dynamic event zfc_add()parentwindow.po...
2020-03-09 16:30:44
1507
原创 PB窗口使用技巧之窗口之间的协作
在打开和关闭窗口时进行数据传递在应用程序中,有时一个任务要分解成几个部分,由多个窗口来协同完成,这就需要这些窗口之间能够很好地配合。例如,在检索大批量数据时,可以提供一个小窗口让用户随时停止数据检索,并能在该小窗口中显示检索的进度。如果在一个窗口中显示关于职工的简短描述信息,用户双击某职工数据时可以显示该职工的详细情况,等等,这些例子都涉及窗口之间的协作。本节介绍有关的函数和技巧。窗口之间的协...
2020-03-09 10:01:57
1039
原创 PB通过特定字符解析数据
解析TXT文本)//以行模式读取数据ll_handle = FileOpen(ls_file, LineMode!, Read!, LockReadWrite!)ll_file_ret = FileRead(ll_handle, ls_string)Do Until ll_file_ret <= 0ls_item_code = Trim(f_substr(ls_string, “|...
2020-01-10 10:06:36
692
原创 PB数据窗口报错提示
传入一个sqlca,返回错误信息if sqlca.sqlcode < 0 thenf_db_error(sqlca,‘查询借床科室名称出错!’)returnend if
2019-12-25 10:01:38
726
原创 PB 取月份最后一天
PB 取月份最后一天//参数格式为YYYY-MMint year_num,month_numstring next_daydate d_next_dayyear_num = Integer(Left(ls_themonth,4))month_num = Integer(Mid(ls_themonth,6,2)) + 1IF month_num > 12 THENyear_nu...
2019-12-05 09:09:13
859
原创 PB关于datastore Datashare 给dw
PB关于datastore Datashare 给dw1.需要保证datastore数据列与dw中的dataobject数据列的数据类型,名称,顺序完全一致,2.datastore 生存期需要跟dw_1一致,不然datastore被回收后共享的数据也就没了ds如果是Sub,Fuction等局部变量的话dataShare后数据很快又被清空,一般将ds声明成窗体(实例变量)...
2019-12-04 14:20:11
548
原创 【精华】PB函数大全
• Abs()功能计算绝对值。语法Abs ( n )参数n:要得到绝对值的数值型变量或表达式返回值返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值。如果参数n的值为NULL,Abs()函数返回NULL。• Ceiling()功能返回大于n的最小整数。语法Ceiling ( n )参数n:数值型变量或表达式返回值返回值的数据类型与n的数据类型相同。函数执行成功时返回大于...
2019-11-19 10:17:43
1363
原创 PB事件函数的触发机制和触发方式
PB作为windows下的一个非常便捷的DB开发工具,有着和windows一样的消息触发机制PB提供了相应event/function触发机制和触发方式,用户可以根据自己的实际需要选用不同方法。触发机制 trigger/post使用trigger会即时触发event/function;使用post的时候则有所不同,系统会将event/function放在消息队列中,等待排在前面的eve...
2019-11-19 10:16:04
888
原创 pb dw使用技巧1
pb dw使用技巧1.如何让存储文件目录的列,显示图片?答:选择对应的column的display as picture属性为true 2、如何复制grid类型的所选择的行的数据到系统剪切板?答:string ls_selectedls_selected=dw_1.Object.DataWindow.Selected.Dataclipboard(ls_selected)3、如何复制...
2019-11-19 10:14:49
1701
原创 #【精华】PB将错误写到出错日至文件中
//====================================================================// Event: gf_log//--------------------------------------------------------------------// Description: 将错误写到出错日至文件中//----------...
2019-11-19 09:37:43
306
原创 #【精华】转换大写人民币
//====================================================================// Event: f_convert//--------------------------------------------------------------------// Description: 转换成大写//--------------...
2019-11-19 09:34:55
130
原创 #【精华】 PB根据一串字符串生成拼音码
#【精华】 PB根据一串字符串生成拼音码U有序列表:Ctrl/Command + Shift + O检查列表:Ctrl/Command + Shift + C| | ||–|--|| | |//====================================================================// Event: f_auto_srm/...
2019-11-19 09:07:25
504
输入法切换(新)PB9.rar
2020-06-11
ntwdblib动态库.rar
2020-06-08
ViewApi.rar
2020-05-09
PB调用C# DLL样例.rar
2020-05-07
kmplayerportable_v4.2.2.39.zip
2020-04-20
PDF-无水印.zip
2020-04-16
SQLMonitor3.0.0.57.rar
2020-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人