悠闲饭团
这个作者很懒,什么都没留下…
展开
-
PB:如何获取Excel中的工作表数量
在PowerBuilder(PB)中,可以通过调用Excel的COM接口来获取Excel文件中的工作表数量。ole_1.Workbooks.Open("C:\YourPath\YourFile.xlsx") // 打开你的Excel文件。ole_1.ConnectToNewObject("Excel.Application") // 连接到Excel应用程序。ll_sheet_count = ole_1.ActiveWorkbook.Sheets.Count // 获取工作表数量。原创 2025-03-10 09:50:54 · 160 阅读 · 0 评论 -
PB:GetFileSaveName 函数,功能显示保存文件对话框,让用户选择要保存到的文件(多格式选择)。
li_value = GetFileSaveName("请选择输出到文件名:", ls_docname, ls_named, "XLS", "Excel Files (*.XLS), *.XLS,DBF Files (*.DBF), *.DBF,DOC Files (*.DOC), *.DOC" )li_value = GetFileSaveName("导出到EXCEL", ls_docname, ls_named, "XLS", "Excel Files (*.XLS), *.XLS" )原创 2025-03-04 10:42:33 · 41 阅读 · 0 评论 -
pb:显示器分辨率
A1:The first function returns the color of a specific pixel(像素;显示器的最小分辨单元). The SetPixel function changes the targeted。原创 2024-09-09 17:39:22 · 159 阅读 · 0 评论 -
PB:取得NT用户名
WNetGetUser(ls_Name,ls_UserName,ll_Len) messagebox("用户名",ls_username)PB:取得NT用户名。原创 2024-09-02 09:30:23 · 100 阅读 · 0 评论 -
PB:使Ctrl+Alt+Del失效
先定义: Function uLong SystemParametersInfoA (ulong uAction, ulong uParam, ref any lpvParam, ulong fuWinIni) Library "user32.dll"程序是调用SystemParametersInfo API函数完成。原创 2024-08-27 15:10:58 · 73 阅读 · 0 评论 -
PB:程序不出现在任务列表
这样程序将不出现在任务列表中,用户也就无法强行结束任务。原创 2024-08-26 09:10:05 · 68 阅读 · 0 评论 -
pb:如何实现HTML格式帮助文件的相关调用
4、至于在菜单中启动帮助文件,用run("hh help.chm")命令即可。pb:如何实现HTML格式帮助文件的相关调用。原创 2024-08-23 09:12:03 · 74 阅读 · 0 评论 -
如何在PowerBuilder中创建图标栏应用
--- 在创建程序前,先准备一个用于在图标栏中显示的图标文件(.ICO),并准备一个用于弹出窗口显示的图片(BMP 256色)。---- 在一些应用埸合,常需要在Windows 9.X或Winnt中的图标栏中显示出公司/应用程序的图标,在单击图标时弹出相应的窗口,就象金山词霸一。---- 这时,最小化该窗口,不会在Windows 9.x或Windows NT的任务栏中显示,而是缩小成一个在图标栏中的图标。---- 1、AddToTray(),参数:无;---- 设置其它窗口的有关信息,如窗口名等。原创 2024-08-19 11:16:25 · 117 阅读 · 0 评论 -
如何使PB窗口总在最上层(Always On Top)
通过SetWindowPos函数把窗口的显示层次修改为HWND-TOPMOST,就可使指定窗口永远不会被其它窗口覆。变,取2表示保持位置不变,因此,取3(=1+2)表示大小和位置均保持不变,取0表示将窗口的大小和。) //将Splash窗口置于其它窗口之上。参数2取-1表示在最顶层显示窗口,取1表示在最底层显示;最后一个参数若取1,表示窗口大小保持不。参数1为要顶层显示的窗口句柄,参数2指定显示的层次,参数7为附加选项,其余参数指定窗口位置和。1.如何使PB窗口总在最上层(Always On Top)原创 2024-08-16 09:05:53 · 205 阅读 · 0 评论 -
pb:获取驱动器的信息
通过GetDriveType函数可以获取驱动器(如:软驱、硬盘、光驱、网络映射驱动器等)的信息,该函数。参数为一个盘符(如"C:"),返回值:1表示未知,2表示软驱,3表示本地硬盘,4表示网络驱动器,---- 关键:GetDriveTypeA API函数。drvinfo='CD-ROM驱动器'//列举所有可能的CDROM驱动器。drvinfo='可移动驱动器'drvinfo='固定驱动器'drvinfo='网络驱动器'drvinfo='不是驱动器'Exit //退出列举。//若找到CDROM。原创 2024-08-15 13:32:45 · 68 阅读 · 0 评论 -
pb:获取目录信息
⑵获取Windows及系统目录。参数2为接收当前目录的字符缓冲区,前面必须加ref表示地址引用;参数1用来指定字符缓冲区的长度。//为字符缓冲区开辟内存空间。原创 2024-08-14 12:38:40 · 184 阅读 · 0 评论 -
pb:注销当前用户、关闭计算机、重启计算机
参数2保留不用,可取0;参数1取0可以注销当前用户,取1可以关闭计算机,取2可以重启计算机,其值。为方便用户,有时需要在应用程序中增加退出并关闭计算机的功能,其实只要几行代码即可实现。uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起)EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)dwReserved Long,保留,设为零。EWX_FORCE 强迫中止没有响应的进程。EWX_LOGOFF 中止进程,然后注销。EWX_SHUTDOWN 关闭系统。原创 2024-08-13 13:34:24 · 79 阅读 · 0 评论 -
PB:控制由Run运行的程序
在PB程序设计中,可以用Run()来运行一些程序。比如用户按了F1,就运行一个chm文件。与PB主程序协调工作,若用户按了多次F1,就会启动Run程序的多个实例,主程序退出时,Run程序依然。//查找Run程序是否已经运行,wtitle为Run程序的标题。//使Run程序窗口成为PB主程序的子窗口。⑵PB主程序退出时,Run程序也关闭。⑴使Run程序只运行一个实例。//若已经在运行就返回。//否则运行Run程序。原创 2024-08-12 10:02:25 · 447 阅读 · 0 评论 -
pb:映射网络驱动器
WNetAddConnectionA(″\\Alexander\My Documents″,″″,″J:″)//参数2为访问口令。它的作用相当于在DOS提示符下执行:Net Use J: \\Alexander\My Documents。pb:映射网络驱动器。原创 2024-08-06 11:04:07 · 108 阅读 · 0 评论 -
pb:显示或隐藏windows的任务栏
隐藏任务栏的方法,在OnCreate事件里利用Window API函数SetWindowLong:SetWindowLong(Application.Handle,GWL_EXstyle,WS_EX_TOOLWINDOW);handle = FindWindowEx(0,0,″Shell-TrayWnd″, wn)//wn为空串。然后调用:SetWindowLong(Handle(this),-20,128);ShowWindow(handle,0)//隐藏任务栏。原创 2024-08-05 14:07:23 · 126 阅读 · 0 评论 -
pb:播放音乐、延时、长文件名改成短文件名
GetShortPathNameA(″C:\My Documents\PowerBuilder编程实践.Doc″, sf,256)//sf=Space(256)参数1为wav文件名,参数2必须取0,参数3取1表示后台播放,取8表示循环播放,因此取9(=1+8)表示在后台循环播放。参数1为长文件名,参数2为保存短文件名的缓冲区,参数3为缓冲区长度。调用:Sleep(1000)//延时1秒。原创 2024-08-02 11:11:05 · 123 阅读 · 0 评论 -
PB:播放AVI文件
定义External用户对象uo_comctl_animate,DLL名字填入comctl32.dll,类名填入sysanimate32。GetFileOpenName("打开文件",ls_path,ls_file,"*","All Files (*.*),*.*")~r~n" + ls_path)接下来,在窗口中新建该用户对象uo_test,调用uo_test.of_playavi("xxx.avi”)和uo_test.of_stopplay()即可播放和停止文件名为"xxx.avi”的AVI。原创 2024-08-01 09:04:06 · 63 阅读 · 0 评论 -
PB:限制应用程序只运行一次
创建一个窗口’w_test’ . 将title 设置为"Test Window".MessageBox (″提示信息″, ″程序已经运行了!这种方法必须在应用程序编译成可执行文件.exe后才有效。else //开发模式。原创 2024-07-31 11:21:48 · 142 阅读 · 0 评论 -
pb:得到程序运行时的路径
/要编译成可执行文件.exe才可用,否则得到的是Powerbuilder的pb.exe的路径。//要编译成可执行文件.exe才可用,否则得到的是Powerbuilder的pb.exe的路径。//在global external functions。//程序路径保存在变量ls_AppPath中。//程序路径保存在变量ls_AppPath中。//得到程序运行时的路径。//得到程序运行时的路径。原创 2024-07-30 09:18:23 · 164 阅读 · 0 评论 -
PB:获取IP
声明win32 API函数:使用方法:ELSEEND IFELSEEND IF。原创 2024-07-29 13:18:45 · 185 阅读 · 0 评论 -
pb:在最近访问的文件中增加文件
每当执行上面这段程序时,文件将会加入到最近访问文件列表之中,如果给SHAddtoRecentDocs传递一个Null参数,将清空最近访问文件列表。Windows有一个很酪的特色,它可以显示很多在资源管理器或其他应用程序中打开的文件。但不幸的是你需要在应用程序中由程序自己将文件加入到最。近访问文件列表之中。你可以通过调用API函数在你编写的程序中将文件加入到最近访问文件列表之中。在最近访问的文件中增加文件。原创 2024-07-26 13:12:27 · 64 阅读 · 0 评论 -
pb:闪动标题栏
------------------------------------------------------------------------------------------------------------------------------------------------------- 1.创建含有如下控件的窗体:(插入ACTIVEX的ctClock控件.)ll_hwnd = FindWindowA(0,"闪动的时钟")控件 控件名 text。原创 2024-07-25 09:32:26 · 61 阅读 · 0 评论 -
PB:关于如何在pb中选择目录的方法
ls_dir = BrowseForFolder( parent, '选择目录' ) //parent为按钮所在的窗口。关于如何在pb中选择目录的方法。//ls_dir为选择的目录。原创 2024-07-24 13:47:27 · 212 阅读 · 0 评论 -
pb:自动卷滚条
我们必须告诉该函数需要的是哪个窗口上的哪个卷滚条的信息。接下来要监视resize事件,根据用户改变窗口大小的不同方式,改变卷滚条的状态。统本身并没有提供自动处理上述操作的功能,但是我们自己加上这一功能是很容易的,而且实现上述自动卷滚条的功能也用不到Windows API调用,只需。然而在整个例子中,真正有难度的是在关闭卷滚条之前,我们需要检查用户是否滚动了卷滚条。为了使窗口更为通用,我们也可以定义一个窗口级的函数,该函数在窗口的open事件中能分析窗口的control属性,也就是窗口内所有控件的最。原创 2024-07-23 13:13:50 · 47 阅读 · 0 评论 -
pb:文件拷贝例程
但不幸的是,PowerBuilder提供的FileOpen函数返回的文件句柄并不是LzCopy所需要的那个句柄。当我们打开了源文件和目标文件后,我们只要简单地将返回的这两个文件的句柄传递给LzCopy函数,就可实现文件拷贝。因此,如果调用WindowsAPI中的LzCopy函数,我们必须同时使用LzOpenFile和LzClose函数,以确保获得所需要的文件句柄。MessageBox ("程序错误","无法拷贝文件: " + as_source + " to file: " + as_dest )原创 2024-07-19 10:32:51 · 144 阅读 · 0 评论 -
pb:判断另一应用是否正在运行
在我们的例子中,如果查询的应用是Microsoft Word,该应用不允许多个实例同时运行,但像NotePad这样的应用,可多个实例同时运行。在上面的窗口级函数中,我们首先在用户的Windows目录中查找WIN.INI文件。于是我们所要做的第一件事就是在WIN.INI文档中查找这一关联,以知道我们所要寻找的应用是通过哪个软件装入的。如果应用正在运行,我们将获得的应用的句柄传递给GetModuleUsage函数。我们可以将它包含在应用的.INI文件中,也可以通过写入源代码的方法将它嵌入可执行程序。原创 2024-07-17 10:35:18 · 233 阅读 · 0 评论 -
pb:激活另一个应用实现
例如,在窗口函数fw_make_app_active中,我们可以用这种手段使FindWindow函数搜索ControlPanel窗口。把"Microsoft Word"传递给这个窗口函数时,这个函数判断文本的长度并将它加1,这样只将我们要比较的字符串的长度传递给了GetWindowText函数,该。如果将一个顶层窗口句柄传递给该函数,该函数将在所有顶层窗口之间循环。我们要充分利用最后一个参数,因为我们并不想要匹配整个窗口标题,而是要匹配能保证我们发现所要寻找的窗口的长度。文档的名字也将出现在窗口的标题上。原创 2024-07-16 08:59:17 · 106 阅读 · 0 评论 -
pb:获得当前计算机的名称
获得当前计算机的名称。原创 2024-07-15 11:14:50 · 112 阅读 · 0 评论 -
pb:启动 WINDOWS 控制面板
ls_cmd = 'rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1'//显示 属性-屏幕保护程序。在应用程序中启动控制面板,只需用ShellExecute函数打开对应的CPL文件即可,例如要在应用程序中修改Windows密码,只需打开。//{添加/删除程序 属性-Windows安装程序}//{添加/删除程序 属性-安装/卸载}//{添加/删除程序 属性-启动盘}//{Internet 属性-常规}//{Internet 属性-程序}原创 2024-07-12 10:08:05 · 96 阅读 · 0 评论 -
PB:中英文切换
在数据窗口录入数据时,有的域要输英文、有的域要输中文,每次要手工切换,很麻烦,能不能在程序中自动控制切换中英文输入法?可根据需要,触发两段不同的脚本以达到动态切换中英文输入法的目的。原创 2024-07-11 14:27:12 · 196 阅读 · 0 评论 -
如何在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 · 126 阅读 · 0 评论 -
pb:ProfileString函数详细解释
其中,database为‘section’(节),dbms为‘key’(键),syc enterprise server是键dbms的取值。如果能够正确读取指定配置文件中、指定节的、指定键的取值,则返回该键的取值,否则返回参数default指定的数据;函数作用:从指定的配置文件中获取String类型的数据。学习该函数,首先应该熟悉配置文件的格式。ldefault:当指定的filename、section、key中任意一个没有找到时,或者读取的数据不能转换成string类型时,函数则返回该参数指定的数据。原创 2024-07-09 09:14:43 · 176 阅读 · 0 评论 -
pb:TriggerEvent函数的解释
这两个参数都可以传递long类型的数据,但是参数long还可以传递string类型的数据,而该参数仅能传递long类型的。如果使用了该参数,在被触发的事件中使用Message.WordParm接收传递过去的数据。当传递string类型的数据时,对象Message.LongParm中保存的是所传数据的存储地址,必须使用string(XX,’address’)来读取该地址中的string类型数据。需要注意的是,这里的事件应该提供了脚本。函数作用:触发指定对象的指定事件,并且立即执行该事件中的脚本。原创 2024-07-08 15:21:12 · 336 阅读 · 0 评论 -
pb常用函数(四)
其它字符也可以出现在显示格式字符串中(只能放在格式串的开头和末尾),但它们没有特殊意义,系统只是照原样显示。参数为数值类型的情况来说,格式为:正数格式;)类型的情况来说,语法格式为:正常日期时间格式;日期时间为空值时的格式日期时间类型使用的掩码就是把日期掩码和时间掩码结合起来即可。)类型的情况来说,语法格式为:正常时间格式;代表字符串中的任意字符,除此之外的任何字符照原样显示,例如,如果定义了下面的格式:(参数的语法格式为:正常日期格式;)、逗号(,)等字符也可以出现在格式字符串中,但是,除小数点(原创 2024-07-05 15:26:03 · 113 阅读 · 0 评论 -
pb常用函数(三)
数值型变量或表达式,指定要计算平方根的数据返回值。位的数值,如果函数执行失败或任何参数的值为。变量的第一个值、或一个整数转换成字符。变量或整数,也可以是包含上述类型数据的。功能计算正弦,其中参数以弧度为单位。功能计算正切,其中参数以弧度为单位。类型变量时,把该变量第一个值转换为。类型变量时,把该变量第一个值转换为。类型变量时,把该变量第一个值转换为。参数也可以是包含上述类型数据的。参数也可以是包含上述类型数据的。参数也可以是包含上述类型数据的。功能截断数值到指定的小数位。:数值型变量或表达式返回值。原创 2024-07-01 17:13:47 · 70 阅读 · 0 评论 -
pb常用函数(二)
中数据类型更精确的数据类型作为该函数的返回值数据类型。中数据类型更精确的数据类型作为该函数的返回值数据类型。时,可以产生不同的伪随机数序列,但是,如果两次使用相同的伪随机数生成器起始值,那么两次生成的伪随机数序列相同。:数值型变量或表达式,指定伪随机数生成器使用的起始值,不同的起始值可以生成不同的伪随机数序列。时,该函数把系统时钟作为伪随机数生成器的起始值,这样可以生成不可重复的伪随机数序列。中数据类型更精确的数据类型作为该函数的返回值数据类型。:数值型变量或表达式,指定要产生的伪随机数的上界。原创 2024-06-28 17:15:06 · 73 阅读 · 0 评论 -
pb常用函数(一)
要得到绝对值的数值型变量或表达式返回值返回值的数据类型与。的值太小或太大,超过了整数的表示范围,则函数返回。:数值型变量或表达式返回值返回值的数据类型与。函数执行成功时返回大于。功能计算余弦,其中参数以弧度为单位。的数据类型相同,函数执行成功时返回。:数值型变量或表达式,其值必须大于。:数值型变量或表达式,其值必须大于。函数执行成功时返回小于等于。:数值型变量或表达式返回值。:数值型变量或表达式返回值。:数值型变量或表达式返回值。原创 2024-06-28 15:15:35 · 187 阅读 · 0 评论 -
pb:函数将日期转换成中文名称
将日期转换成中文名称原创 2024-04-28 13:53:16 · 187 阅读 · 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 · 295 阅读 · 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 · 1189 阅读 · 0 评论