悠闲饭团
这个作者很懒,什么都没留下…
展开
-
如何在PB中通过读取硬盘序列号实现软件加密
mod N = 173 mod 33 = 29,依次将其余分组进行加密得到,Y2=14,Y3=27,Y4=26,Y5=26,Y6=3,Y7=31。由模的定理我们可以将公式ed=1 modф(N)转换成形式ed= k * ф(N)+ 1,即3d = k * 20 + 1,将0,1,2,3…可以分成,X1=17,X2=20,X3=3,X4=5,X5=5,X6=9,X7=4。从RSA的基本原理我们得知,对明文进行加密选择一个合适的e很重要,如果你选择合适的话,RSA的加密速度将快得多,并且也不会因为用户机器。原创 2024-07-10 11:24:47 · 0 阅读 · 0 评论 -
pb常用函数(四)
其它字符也可以出现在显示格式字符串中(只能放在格式串的开头和末尾),但它们没有特殊意义,系统只是照原样显示。参数为数值类型的情况来说,格式为:正数格式;)类型的情况来说,语法格式为:正常日期时间格式;日期时间为空值时的格式日期时间类型使用的掩码就是把日期掩码和时间掩码结合起来即可。)类型的情况来说,语法格式为:正常时间格式;代表字符串中的任意字符,除此之外的任何字符照原样显示,例如,如果定义了下面的格式:(参数的语法格式为:正常日期格式;)、逗号(,)等字符也可以出现在格式字符串中,但是,除小数点(原创 2024-07-05 15:26:03 · 9 阅读 · 0 评论 -
pb常用函数(三)
数值型变量或表达式,指定要计算平方根的数据返回值。位的数值,如果函数执行失败或任何参数的值为。变量的第一个值、或一个整数转换成字符。变量或整数,也可以是包含上述类型数据的。功能计算正弦,其中参数以弧度为单位。功能计算正切,其中参数以弧度为单位。类型变量时,把该变量第一个值转换为。类型变量时,把该变量第一个值转换为。类型变量时,把该变量第一个值转换为。参数也可以是包含上述类型数据的。参数也可以是包含上述类型数据的。参数也可以是包含上述类型数据的。功能截断数值到指定的小数位。:数值型变量或表达式返回值。原创 2024-07-01 17:13:47 · 26 阅读 · 0 评论 -
pb常用函数(二)
中数据类型更精确的数据类型作为该函数的返回值数据类型。中数据类型更精确的数据类型作为该函数的返回值数据类型。时,可以产生不同的伪随机数序列,但是,如果两次使用相同的伪随机数生成器起始值,那么两次生成的伪随机数序列相同。:数值型变量或表达式,指定伪随机数生成器使用的起始值,不同的起始值可以生成不同的伪随机数序列。时,该函数把系统时钟作为伪随机数生成器的起始值,这样可以生成不可重复的伪随机数序列。中数据类型更精确的数据类型作为该函数的返回值数据类型。:数值型变量或表达式,指定要产生的伪随机数的上界。原创 2024-06-28 17:15:06 · 11 阅读 · 0 评论 -
pb常用函数(一)
要得到绝对值的数值型变量或表达式返回值返回值的数据类型与。的值太小或太大,超过了整数的表示范围,则函数返回。:数值型变量或表达式返回值返回值的数据类型与。函数执行成功时返回大于。功能计算余弦,其中参数以弧度为单位。的数据类型相同,函数执行成功时返回。:数值型变量或表达式,其值必须大于。:数值型变量或表达式,其值必须大于。函数执行成功时返回小于等于。:数值型变量或表达式返回值。:数值型变量或表达式返回值。:数值型变量或表达式返回值。原创 2024-06-28 15:15:35 · 133 阅读 · 0 评论 -
Powerbuilder中利用API实现动画特效
6/8 height,5/8 width *5/8 height,4/8 width*4/8 height,3/8 width *3/8 height,2/8 width *2/8 height,1/8 width *1/8 height、零尺。height,3/8 width *3/8 height,4/8 width *4/8 height,5/8 width *5/8 height,6/8 width *6/8 height,7/8 width *7/8 height,整个控件。原创 2023-11-27 10:46:00 · 212 阅读 · 0 评论 -
pb:导入EXCEL,提示“不能连接EXCEL”
regedit中,节点的路径:Computer\HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{00024500-0000-0000-C000-000000000046}\LocalServer32下。因Excel.Application这个组件在注册表中没有正确注册的话,在打开的时候会找不到具体的执行文件时。按LocalServer32的值找不找的到对应的EXCEL.EXE,如找不到,去修改正确的路径。messagebox("提示","不能连接EXCEL")原创 2023-11-03 15:16:33 · 799 阅读 · 0 评论 -
pb:获取服务器时间、判断是否有重复数据
使用Update函数保存数据之前,通常要判断数据窗口中是否有主键重复的数据,如果有重复则不允许提交。这里介绍的是效率非常高的一种方法。该方法的思路是,通过过滤,将只显示过一次的数据虑除,如果过滤之后数据窗口中还有数据,则说明有重复数据。messagebox("出错信息","在函数gf_get_sysdate()运行时数据库出现错误!MessageBox("注意",ls_fieldname + "列中存在重复的数据!* 函数名称:datetime gf_getsysdate(string as_dbms)原创 2023-11-02 13:03:29 · 360 阅读 · 0 评论 -
pb:数据处理窗口CloseQuery事件编程、如何在窗口之间传递结构
该事件下的脚本流程是首先判断数据是否修改过,如果修改过,则让用户选择是否保存,用户确认保存则保存,不保存则退回事务然后关闭窗口。保存数据时,保存成功则直接关闭窗口,保存失败则让用户确认是否关闭窗口,用户确认要关闭则关闭窗口。If MessageBox("错误","数据保存不成功,是否还要关闭窗口?li_flag = MessageBox("确认","数据已经修改,是否保存",Question!MessageBox("提示", "数据已经修改,请先保存数据再退出!return 1//不关闭窗口。原创 2023-10-24 14:38:17 · 166 阅读 · 0 评论 -
pb: 将日期型字段初始化为当天的日期、在DataWindow中调整列顺序、 Retrieve时不清除原有Datawindow数据、美化DataWindow的显示效果、用Line建立漂亮的Grid D
pb: 将日期型字段初始化为当天的日期、在DataWindow中调整列顺序、 Retrieve时不清除原有Datawindow数据、美化DataWindow的显示效果、用Line。在 Gird 风格的 DataWindow 中,列的排列顺序是按照你选择 Column 的顺序排列的,并且不能改变.要改变列的顺序则必须重新制作 DataWindow.在调整线条位置是一个即伤脑筋又伤眼睛的事件,而一旦需要调整行高,所有工作都得重来,试一试用下面方法,会大大减轻你的工作量:在。将日期型字段初始化为当天的日期。原创 2023-10-17 15:19:54 · 201 阅读 · 0 评论 -
pb技巧:(使DataWindow列只能追加不能修改、 如何在DataWindow中实现列的自动折行、在数据窗口中实现动画、使数据窗口中的被选中行具有更好的外观)
要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。大家都知道,在选择数据窗口中的某一行时,如果使用pb提供的选择函数SelectRow(),那么的外观真是不能恭维,单调而古板的蓝色背景,可能和您的漂亮而生动的应用程序格格不入。其次,修改各个字段的背景颜色属性,设置为:if(flag=1,RGB(255,126,0),RGB(255,255,255))原创 2023-10-11 10:59:44 · 401 阅读 · 0 评论 -
pb:常用函数和语句清单
硬着头皮,走过了不知多少弯路,查阅了非常多的资料(当然是联机帮助了,当时国内还没有任何网上资料),才能解决。这些,是在任何书本中都学习不到的。PB中提供的函数非常多,目前版本有600多个函数(不包括数据窗口对象中的、Web应用中的),但是经常使用的不过100个,掌握了这100个函数就可以开发软件项目了。PB的自带例子程序编码虽然不是非常规范,但是非常系统,涉及到PB中的各种实用技术,很多程序稍加改造就可以用到实际的软件开发中。规范的变量命名、详细的注释等等,一旦形成了良好的编程习惯,才能编写规范的程序。原创 2023-10-10 17:30:46 · 103 阅读 · 0 评论 -
PB:自动卷滚条
我们必须告诉该函数需要的是哪个窗口上的哪个卷滚条的信息。接下来要监视resize事件,根据用户改变窗口大小的不同方式,改变卷滚条的状态。统本身并没有提供自动处理上述操作的功能,但是我们自己加上这一功能是很容易的,而且实现上述自动卷滚条的功能也用不到Windows API调用,只需。然而在整个例子中,真正有难度的是在关闭卷滚条之前,我们需要检查用户是否滚动了卷滚条。为了使窗口更为通用,我们也可以定义一个窗口级的函数,该函数在窗口的open事件中能分析窗口的control属性,也就是窗口内所有控件的最。原创 2023-10-07 13:06:41 · 175 阅读 · 0 评论 -
pb:自动生成编号
函数名称:String gf_getbh(string as_bh)* 调用举例:ls_new = gf_getbh(ls_old)*其中,ls_old为数据窗口中已经存在的当天的最大编号。String ls_DbSn//数据库中的当天最大流水号。String ls_Part1//用来保存编码的前6位。String ls_Part2//用来保存编码的后4位。string ls_AgrSn//参数中的流水号。* 返 回 值:string类型的,编号。String ls_sn//新生成的编号。原创 2023-09-27 14:52:28 · 202 阅读 · 0 评论 -
pb:10个用一条语句写成的有关日期函数
'星期'+mid('日一二三四五六',(mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -mid(fill('甲乙丙丁戊己庚辛壬癸',40),(mod(ls_year -1924,10)+11)*2 -1,2)+mid(fill('子丑寅卯辰巳午未申酉戌亥',48),(mod(ls_year -原创 2023-09-25 13:45:20 · 178 阅读 · 0 评论 -
pb系统函数:其他函数
“终止”、“重试”、“忽略”按钮。各分量中,数值越小,亮度越低,数值越大,亮度越高。如果你希望应用程序执行某条语句后暂停执行,然后进入调试模式,那么可以在该语句后面放上DebugBreak()函数,应用程序执行到DebugBreak()函数后,打开Debug(调试)窗口,并在其中显示当前上下文信息。用 法:PowerBuilder应用程序在说明变量时,并不自动地将其初值设置为NULL,而是根据类型的不同而设置不同的初值,比如,数值类型的变量自动初始化为0,字符串型变量自动初始化为空字符串("")。原创 2023-09-21 11:15:17 · 109 阅读 · 0 评论 -
pb系统函数介绍:提供帮助函数
功 能:显示应用程序帮助,该帮助的文件格式可以是传统的Microsoft Windows帮助格式,也可以是编译后的HTML帮助格式。Index,而又指定了typeid参数时,函数返回-1。返回值:Integer。参 数:helpfile:String类型,指定帮助文件的名称,可以是编译后的HLP文件,也可以是编译后的。参 数:helpfile:String类型,指定帮助文件的名称,可以是编译后的HLP文件,也可以是编译后的。helpcommand:HelpCommand枚举类型,指定显示帮助的方式。原创 2023-09-18 12:59:18 · 116 阅读 · 0 评论 -
PB系统函数介绍:共享对象函数
客户应用程序不能够直接使用共享对象,因此,要得到已注册共享对象的名称,必须在服务器的执行上下文中调用该函数,或者在服务器上的某个客户会话中调用该函数。用 法:当调用SharedObjectRegister()函数时,PowerBuilder为共享对象打开一个运行时会话,并创建该共享对象。用 法:SharedObjectGet()函数得到由SharedObjectRegister()函数注册的某共享对象的引用。参 数:instancenames:指定要得到其引用的共享对象实例的名称;原创 2023-09-13 10:24:33 · 130 阅读 · 0 评论 -
pb:垃圾收集函数
用 法:该函数强制系统立即开始收集垃圾。参 数:newtime:Long类型,指定两次垃圾收集之间的最短时间间隔(以毫秒为单位)。用 法:如果把垃圾收集的时间间隔设置很大,就相当于关闭了垃圾收集功能,这样,未使用的类就不会被清除出类缓冲区。垃圾收集函数让应用程序能够控制何时开始收集系统产生的垃圾。返回当前收集垃圾的最小时间间隔。用 法:返回两次垃圾收集之前的最短时间间隔。功 能:设置垃圾收集操作之间的最小时间间隔。功 能:得到当前收集的最小时间间隔。功 能:强制系统立即开始收集垃圾。原创 2023-09-11 09:16:42 · 163 阅读 · 0 评论 -
pb:类定义查找函数
librarylist:可选参数,它是一个字符串数组,其值为要在其中查找对象的应用库(PBL)的名称,该名称使用完整的路径名,如果省略了该参数,那么FindFunctionDefinition()函数按当前运行应用程序的库列表查找对象。librarylist:可选参数,它是一个字符串数组,其值为要在其中查找对象的应用库(PBL)的名称,该名称使用完整的路径名,如果省略了该参数,那么FindFunctionDefinition()函数按当前运行应用程序的库列表查找对象。返回包含指定函数脚本信息的对象的引用。原创 2023-09-07 11:45:23 · 210 阅读 · 0 评论 -
PB:窗口操作函数
parent:可选项,指定要打开窗口的父窗口,要打开窗口成为父窗口的子窗口,只有当要打开窗口需要成为某个窗口的子窗口时才需要指定该参数。parent:可选项,指定要打开窗口的父窗口,要打开窗口成为父窗口的子窗口,只有当要打开窗口需要成为某个窗口的子窗口时才需要指定该参数。parent:可选项,指定要打开窗口的父窗口,要打开窗口成为父窗口的子窗口,只有当要打开窗口需要成为某个窗口的子窗口时才需要指定该参数。根据parameter参数数据类型的不同,该参数的值保存在Message对象的不同属性中。原创 2023-09-05 11:12:41 · 523 阅读 · 0 评论 -
pb:定时函数
Idle()函数启动定时器后,如果在指定的时间间隔(从用户最近一次操作算起)内没有操作应用程序,那么就触发应用对象的Idle事件,在这个事件中可以编写关闭窗口、退出数据库登录等一系列代码,然后使用Restart()函数重新启动应用程序,起到保密的目的。需要注意的是,在Microsoft Windows系统中,该函数能够计时的最小时间间隔为0.055秒(约1/18秒),如果把interval参数的值设置小于0.055,那么该定时器将每隔0.055秒触发一次窗口的Timer事件。返回值:Integer。原创 2023-09-01 11:16:52 · 365 阅读 · 0 评论 -
pb:系统与环境函数
Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中,这一点与Post()函数不同,Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。对耗时短暂的代码段来说,这种处理方式没有什么不妥的地方,但是,如果某个代码段的执行耗时较长,应用程序又希望为用户提供更多的控制权,那么需要在这段代码中插入Yield()函数,让用户能够进行其它操作,特别在循环执行的代码中更应该如此。省略string参数时,仅仅得到剪贴板的内容。原创 2023-08-30 13:04:40 · 146 阅读 · 0 评论 -
pb:字符串操作函数
返回值:String。如果声明BLOB类型的变量时没有指定它的长度,那么应用程序在第一次给这个变量赋值时,PB以该值的长度作为这个变量的长度,LenW()以双字节单位报告该变量的长度。如果string1中根本不包含string2,或者参数searchlength的值为0,那么函数返回0,如果任何参数的值为NULL,LastPos()函数返回NULL。用 法:如果start参数指定的位置超过了string1的长度,那么Replace()函数把将string2拼接到string1的后面形成的字符串返回。原创 2023-08-28 13:19:48 · 474 阅读 · 0 评论 -
Pb:注册表操作函数
当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有值名,但是,在具体得到值名之前,没有办法能够预先知道实际值名个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有子键,但是,在具体得到子键之前,没有办法能够预先知道实际子键个数。要访问未命名的值,把该参数指定为空字符串("")。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。用 法:为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。原创 2023-08-24 13:01:36 · 179 阅读 · 0 评论 -
PB:打印和打印机设置函数
如果系统中只有一个打印机,则直接打开该打印机的打印设置对话框。tab1:Integer类型,可选项,指定文本开始打印的位置,在开始打印字符串之前将打印光标移动到该位置,从打印区的左边界开始计算,以千分之一英寸为单位。如果打印光标已经位于指定位置、或打印光标已经超过了指定位置、或省略了该参数,那么,Print()函数从打印光标的当前位置开始打印string:string类型,指定要打印的字符串。PrintOval()函数绘出的椭圆或圆是实心的,也就是说,执行该函数后,椭圆或圆下面的文字或图像将完全被覆盖。原创 2023-08-21 12:56:19 · 713 阅读 · 0 评论 -
在PB中控制数据窗口列的修改属性
三、有选择的保护某些行上述方法将对DataWindow的所有行起作用,但要想只保护其中的某些行,则需要用列的保护(Protect)属性(取值同上述方法二),但这是在建立DataWindow时实现的。No 则相反,默认值是No。(4)在表中增加一个标志列上述方法基本上均要求要保护的行有一定的规律可循,当这些行没有规律时,可以在相应的表中专门增加一个标志列(设列名为flag),取值为1和0,然后在其它列的Protect后的框中直接输入flag的表达式。运行时若该行的flag=1, 在该行相应的列处于保护状态。原创 2023-08-17 13:17:24 · 254 阅读 · 0 评论 -
PB:数值计算函数
当n的值不为0时,可以产生不同的伪随机数序列,但是,如果两次使用相同的伪随机数生成器起始值,那么两次生成的伪随机数序列相同。函数执行成功时返回将x截断到小数点后第n位的数值,如果函数执行失败或任何参数的值为NULL,Truncate()函数返回NULL。如果参数n的值为NULL,Pi()函数返回NULL。函数执行成功时返回将x四舍五入到小数点后第n位的数值,如果函数执行失败或任何参数的值为NULL,Round()函数返回NULL。返回值:返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值。原创 2023-08-16 13:06:12 · 313 阅读 · 0 评论 -
PB:库管理函数
使用LibraryDirectory()函数得到指定对象的名称、修改日期/时间以及可能的注释后,应用程序既可以使用Pos()函数进行定位和字符串分割,也可以使用数据窗口的ImportString()函数将结果显示在数据窗口中。使用LibraryDirectory()函数得到指定对象的名称、修改日期/时间以及可能的注释后,应用程序既可以使用Pos()函数进行定位和字符串分割,也可以使用数据窗口的ImportString()函数将结果显示在数据窗口中。函数执行成功时返回1,发生错误时返回-1。原创 2023-08-15 11:39:06 · 159 阅读 · 0 评论 -
PB:国际化函数
用 法:如果你现在使用的是Unicode版本的PowerBuilder,那么FromUnicode()函数把Blob中包含的Unicode数据转换成Unicode字符串;如果你现在使用的是ANSI版本的PowerBuilder,那么FromUnicode ()函数把Blob中的数据转换成ANSI字符串。用 法:如果你现在使用的是Unicode版本的PowerBuilder,那么FromAnsi()函数把Blob中包含的ANSI中转换成Unicode字符串;返回值:Boolean。原创 2023-08-10 10:04:17 · 83 阅读 · 0 评论 -
PB:文件操作函数
当文件以流模式打开时,执行一次FileRead()函数读取32,765个字节的数据,如果余下数据没有这么多,那么FileRead()函数就读取所有余下的数据;用 法:当指定文件以行模式(Line Mode)打开时,FileRead()函数一次读取一行数据,并把它保存到参数variable中,然后跳过行结束符(回车换行符,操作系统不同,使用的字符也不同),把文件指针移动到下一行的起始位置。函数执行成功时返回打开文件的句柄,随后的文件操作函数利用该句柄完成对文件的操作。发生错误时函数返回-1。原创 2023-08-08 10:57:56 · 384 阅读 · 0 评论 -
PB:DDE服务器函数
用 法:当DDE客户应用向DDE服务器应用发送一条命令时,这个动作将触发DDE服务器应用活动窗口的RemoteExec事件,在这个事件的事件处理程序中,可以使用GetCommandDDE()函数得到DDE客户应用发送的命令。函数执行成功时返回1,发生错误时返回-1,表示当前应用已经设置为DDE服务器。函数执行成功时返回1,发生错误时返回-1,表示当前应用未曾作为DDE服务器启动。函数执行成功时返回1,发生错误时返回-1。函数执行成功时返回1,发生错误时返回-1。函数执行成功时返回1,发生错误时返回-1。原创 2023-08-04 13:16:24 · 712 阅读 · 0 评论 -
pb:DDE客户函数
使用Handle()函数可以得到窗口的句柄。该函数有两种语法格式:语法一、请求DDE服务器应用接收保存在指定位置的数据,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况;功 能:请求服务器应用传送数据,该函数有两种格式:语法一、请求DDE服务器应用提供数据并将数据保存在变量中,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况;功 能:建立与DDE服务器应用的热连接,热连接建立之后,DDE服务器端相关数据的变化会立即触发PowerBuilder应用相关窗口的HotLinkAlarm事件。原创 2023-08-02 10:43:35 · 208 阅读 · 0 评论 -
PB:日期、时间函数
用 法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。函数执行成功时得到date参数中的年份(采用四位数字),发生错误时返回1900,如果date参数的值为NULL,则Year()函数返回NULL。如果date参数的值为NULL,则Day()函数返回NULL。如果任何参数的值为NULL,则函数返回NULL。原创 2023-07-31 14:43:27 · 906 阅读 · 0 评论 -
pb:数据类型检查和转换函数
另外,货币符号($或¥)、百分号(%)、小数点(.)、逗号(,)等字符也可以出现在格式字符串中,但是,除小数点(.)、逗号(,)能够出现在格式字符#和0之间外,其它字符只能放置在格式串的前面或后面,例如,###,###$###是个错误的格式串,¥###,###,###是个正确的格式串。返回值:String。参 数:string:string类型,其值包括一个有效的以字符串形式表示的日期(比如January 1, 1998或12-31-99),string参数也可以是包含字符串类型数据的Any类型变量。原创 2023-07-27 14:23:33 · 402 阅读 · 0 评论 -
PB:Blob(大二进制对象)函数
如果n与length的和超过了data数据的字节数,那么BlobMid()函数返回剩下的数据,数据长度将小于参数length的值。用 法:如果在说明Blob类型的变量时指定了变量长度,那么对该变量来说,Len()函数得到的就是这个指定的长度。示 例:下面的代码把一幅位图的数据复制到Blob类型变量emp_photo的起始位置,并把下次数据复制位置保存到变量nbr中,之后将当天的日期复制到emp_photo变量中位图数据的后面。功 能:将任意类型的数据插入到Blob类型变量的指定位置。原创 2023-07-25 09:49:40 · 502 阅读 · 0 评论 -
pb调用user32.dll屏蔽Ctrl+Alt+Del、PB获取目录
先定义: Function uLong SystemParametersInfoA (ulong uAction, ulong uParam, ref any lpvParam, ulong fuWinIni) Library "user32.dll"参数2为接收当前目录的字符缓冲区,前面必须加ref表示地址引用;参数1用来指定字符缓冲区的长度。程序是调用SystemParametersInfo API函数完成。//为字符缓冲区开辟内存空间。原创 2023-07-21 11:49:52 · 122 阅读 · 0 评论 -
pb:子数据窗口
ls_filter = "czrw_bh = '"+dw_3.GetItemString(dw_3.GetRow(),"czrw_bh")+"'"//过滤条件。rtncode = dw_1.GetChild("Unit_id",fld_child) //获得Unit_id字段名下拉数据窗口的句柄。dw_1、dw_2分别是嵌套的数据窗口的NAME*/ls_deptid=dw_1.Object.dept_id[GetRow()] //取得当前dept_id选定值。", "不是下拉数据窗口!原创 2023-07-19 11:46:27 · 573 阅读 · 0 评论 -
pb:控制DATAWINDOW里每页显示的行数、数据窗口的closeQuery事件:提示保存数据、增量查询功能实现
",Question!ll_found_row = dw_1.Find(ls_find, 1, dw_name.RowCount()) //查找符合条件的行。//1.定义单行编辑器的用户事件ue_enchange,事件的ID为:pbm_enchange。dw_1.SelectRow(ll_found_row,true) //将匹配行加亮显示。dw_1.ScrollToRow(ll_found_row) //滚动到相匹配的行。Return 1//不会运行Close Event,维持原来的情况。原创 2023-07-17 11:14:27 · 559 阅读 · 0 评论 -
PB:报表格式自动实现
通过数据窗口dw_print的clicked事件捕获数据窗口中对象,并将对象名存放在实现变量is_dwobject中,为下一步修改报表。在通常的Server/Client方式MIS开发中,总是有没完没了的报表需要制作,调试报表花费的时间也是最多而且乏味,还常常不能满足客户的要求。然后再通过modify()函数可以实现基本的动态报表操作,这一类的文章较多,PB中也有大量的例子可直接使用,在此这不再累述。3、在窗口的OPEN事件中加入如下代码, 校验报表格式是否存在,如果存在读取定义好的报表格式到数据窗口。原创 2023-07-13 09:09:27 · 509 阅读 · 0 评论