
PowerBuilder
文章平均质量分 56
mazhiguo_nuaa
这个作者很懒,什么都没留下…
展开
-
PB中实现图片按钮的mousemove事件
---- PB中除窗口(window)和富文本(richtextedit)具有mousemove事件外,其他控件都不接收ousemove事件。在某些程序中,可能会对按钮进行动态的图片切换,如:鼠标移到按钮上时,切换按钮的图片以实现动感。 ---- 创建一个用户自定义对象(User Object),取名uo_picbutton,其上放一个Picture控件(p_1)。选中p_1,定义用户自定义事件转载 2007-07-24 11:05:00 · 741 阅读 · 0 评论 -
向窗口传递多个参数
用 OpenWithParm 打开窗口并向窗口传递参数时,PowerBuilder 只允许传递一个参数,例如: OpenWithParm(w_abc, "hello")如何传递多个参数呢?很简单,创建一个结构,将你希望传递的参数都定义到这个结构中去。例如:首先定义结构 str_parms然后在 script中声明结构变量:str_parms l_str_parms给结构变量赋值:l_s原创 2007-09-23 23:50:00 · 789 阅读 · 0 评论 -
鼠标移动时让数据窗口中当前鼠标下的数据行改变颜色
编程步骤如下: 1、定义窗口实例变量: String is_OldColor 2、在数据窗口的Constructor事件中编写如下脚本: is_OldColor = This.Describe("datawindow.detail.color") 3、为数据窗口定义一个自定义事件,事件名称叫什么并不重要,关键要映射pbm_MouseMove事件。然后在该自定义事件上编写如下脚本: string l原创 2007-09-23 23:53:00 · 847 阅读 · 0 评论 -
API函数之二:如何使PB窗口总在最上层_SetWindowPos
1.如何使PB窗口总在最上层(Always On Top) 通过SetWindowPos函数把窗口的显示层次修改为HWND—TOPMOST,就可使指定窗口永远不会被其它窗口覆盖,该函数声明为: Function Long SetWindowPos(Long hwnd,Long ord,Long x,Long y,Long dx,Long dy,Long uflag) Library原创 2007-09-24 00:01:00 · 2141 阅读 · 0 评论 -
控件编程规范
一、 书写格式a. 用分层缩进的写法显示嵌套结构的层次。b. 在注释段与程序段,以及不同逻辑的程序段之间插入空行。c. 每行只写一条语句,当需要滚动显示时应该分行书写。二、 流控制流控制首先应遵守PowerBuilder语法规范,且用分层缩进的写法突出显示嵌套的层次结构,例如:For i = 1 To 100 For j = 1 To 50原创 2007-09-23 23:52:00 · 510 阅读 · 0 评论 -
API函数之三_如何在PB中播放音乐
PB没有提供任何多媒体函数,要播放音乐只能通过Win32 API的PlaySound来实现: Function Long PlaySound (String Filename,Int Mod,Int Flags ) Library ″winmm.dll″ 参数1为wav文件名,参数2必须取0,参数3取1表示后台播放,取8表示循环播放,因此取9(=1+8)表示在后台循环播放。原创 2007-09-23 23:56:00 · 1335 阅读 · 0 评论 -
API之五在PB中如何获取目录信息
在PB中如何获取目录信息 ⑴获取当前目录。通过GetCurrentDirectory函数可以获取当前目录,该函数声明为: Function Ulong GetCurrentDirectoryA(Ulong buflen, ref String dir) Library ″kernel32.dll″ 参数2为接收当前目录的字符缓冲区,前面必须加ref表示地址引用;参数1用来指定原创 2007-09-23 23:55:00 · 1957 阅读 · 0 评论 -
oracle-序列(SEQUENCE)-
序列(SEQUENCE)序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特殊的Oracle程序自动生成,因此序列避免了在应用层实现序列而引起的性能瓶颈。Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。允许设计缺省序列,不需指定任何子句。该序列为上升序列,由1开始,原创 2007-09-24 00:03:00 · 645 阅读 · 0 评论 -
安装好easerver后怎样部署和配置
EAS使用起来确实有点难,但只要你坚持,掌握了EAS的特点后,EAS还是很好用的. 1,EAS安装最好不要使用默认路径,因为默认路径一般都是C:/Program Files/Sybase,这个目录有空格,虽然EAS不会有问题,你不能保证你使用的第三方jar包不出问题,所以为将来打算,还是安装在路径没有空格并且不是中文目录下.2,如何知道EAS的服务已经启动了呢?你可以到windo原创 2007-09-28 22:47:00 · 2104 阅读 · 0 评论 -
EAServer 新手上路----JaguarCts开发者必读
Sybase EAServer的文章也有一些,很少提及到开发中的一些细节问题。本人从事JaguarCts开发不久,遇到了许多细节问题,想来刚从事JaguarCts开发者也会遇上,以做参考,另则心中还存有许多问题,故撰此文,起抛砖引玉之效,望JaguarCts高手能释疑,深表感谢。一、系统配置部分:1、运行环境:WIN2000 SERVER版,SP2补丁,P3850CPU,PB8.0Beta+EAS原创 2007-09-28 22:43:00 · 1086 阅读 · 0 评论 -
Powerbuilder中run命令参数
调用控制面板: Run("rundll32.exe shell32.dll,Control_RunDLL") 注意:大小写 其他的控制举例如下: 设置时间/日期: Run("rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0") 进行拨号连接原创 2007-09-28 22:40:00 · 3472 阅读 · 0 评论 -
EAServer的安装及遇到的问题处理
我在这里说的均以EAServer5.0升级到5.3为例。一般我们拿到的都是一个压缩包,解压缩后运行setup.exe即可开始安装过程。如果是第一次安装,一般不会出现问题,根据向导走就行了。这里需要特别说明的是,安装路径最好不要安装在默认路径(C:/Program Files/Sybase)下,因为这个路径下有空格。虽然EAServer的运行没有问题,但你可能会使用第三方的jar软件包,这些软件原创 2007-09-28 22:44:00 · 2950 阅读 · 0 评论 -
PowerBuilder通过ODBC连接MySQL
软件版本:PowerBuilder 8.0.4 Build10501MySQL 5.1.14-beta-community-ntMySQL Connector/ODBC 3.51.12(这个版本比较稳定)1、下载并安装MySQL数据库服务器和MySQL Connector/ODBC(即MySQL的ODBC驱动程序),启动MySQL服务;2、在ODBC中添加数据源,会弹出MySQL Conn原创 2008-01-23 19:10:00 · 868 阅读 · 0 评论 -
如何在数据窗口中加入一列空列做为选中一行的标志?
1.加一计算列,设置edit为checkbox ,将列的EditStyle改为CheckBox(字段属性Edit页Style项),这一列没有任何含义,只是作为一个选中行的标志!2.增加计算列,在选择数据源画板中的Compute页中增加 as CheckMark就可以了。注:CheckMark作为计算列的名字3.打开数窗,查看数据源,看窗口sql语法,在select后面加上一个自定义列就可以原创 2007-11-18 01:31:00 · 902 阅读 · 0 评论 -
API函数之一:根据窗口标题查找窗口_FindWindowA
Function Long FindWindowA(uLong lpClassName,ref string lpWindowName) Library "user32"************************************************************************************功能:根据窗口标题查找窗口示例:ulong l_handles原创 2007-09-24 00:02:00 · 8098 阅读 · 0 评论 -
API函数之四_客户机服务器体系
摘要: 在实际应用中,经常要求客户机/服务器体系结构中各工作站的时钟与服务器的时钟保持同步;本文基于SYBASE数据库、Powerbuilder开发工具说明了一种解决方法。 一、前言 PowerBuilder通过数据窗口对象,可方便、直接地对数据库进行操作,故已成为当前开发Client/Server模式应用的首选开发工具。在开发医院信息管理系统时,我们采用了PowerBuilder 作原创 2007-09-24 00:00:00 · 519 阅读 · 0 评论 -
如何在PB中创建图标栏应用
在PowerBuilder中创建图标栏应用 ---- 在一些应用埸合,常需要在Windows 9.X或Winnt中的图标栏中显示出公司/应用程序的图标,在单击图标时弹出相应的窗口,就象金山词霸一样。下面介绍采用PowerBuilder中在Windows 9.x和Windows NT下显示图标栏图标的方法。 一、 建立一个应用程序 ---- 在创建程序前,先准备一个用于在图标栏中显示的图标原创 2007-09-06 15:46:00 · 1120 阅读 · 0 评论 -
用PB做一个通用右键菜单
对象被右键单击就弹出一个功能菜单是Windows应用程序一项不可缺少的功能。在PowerBuilder应用开发中,可在需弹出右键菜单对象的rbuttondown事件中调用该菜单的Popmenu( )方法实现这一功能。但多数情况下,应用中有多处要用到不同的弹出式菜单,如一一用这种方法就需要做大量的工作。能不能做一个通用的菜单,可以用任何对象的rbuttondown事件激发弹出,并在弹出前动转载 2007-07-19 10:31:00 · 2133 阅读 · 1 评论 -
在PB打印中实现人民币大写
---- 函数名:自定义函数:no_to_char_sell()---- 函数内容:string hz[15] string money[2] //hz[16]=零if not rmbthen hz[1]=一hz[2]=二hz[3]=三hz[4]=四hz[5]=五hz[6]=六hz[7]=七hz[8]=八hz[9]=九hz[10]=十hz[11]=百转载 2007-07-19 10:27:00 · 583 阅读 · 0 评论 -
PowerBuilder中数据窗口的精确页面打印技 术
1.引言----自PowerBuild4.0问世以来,以其简洁高效的集成开发环境、强大的数据窗口技术、(几乎)无所不能的数据库访问能力,越来越受到编程人员的青睐。据Sybase自己 的统计, 目前全 球有60万 程序员 和系统 分析人 员在使 用他们 的Powerbuilder和S-designer,进行各种类型的应用程序开发。最新发布的PowerBuilder6.0族系列开发工具,直接转载 2007-07-20 09:28:00 · 1626 阅读 · 0 评论 -
数据从文本文件写入数据库表的捷径
许多情况下,文本文件中的数据排列顺序与数据库表中列的顺序一致,并且其数据类型与数据库表中对应列也一致,要做的就是将该文件中的内容存入对应数据库表中。例如在点对点通信的情况下,一方把数据库表中的数据以文本文件格式存储并传送给另一方,另一方要做的工作就是将收到的数据存入相应的数据库表中。PowerBuilder有多种方式与文本文件打交道,比如使用ODBC的文本文件驱动器、采用DDE(动态数据交换原创 2007-07-27 09:36:00 · 1237 阅读 · 0 评论 -
在一个DataWindow中修改多个Table
下面的脚本示例了在一个DataWindow中修改它所对应的多个表,int rcstring errDataWindow建立了两个表Department和Employee的Join之上,它的Select语句为:SELECT department.dept_id, department.dept_name,employee.emp_id, employee.emp_fname,employee.emp转载 2007-07-25 09:52:00 · 584 阅读 · 0 评论 -
PowerBuilder与外界的交互方式
一.概述 一般来说,如果系统是一个纯粹的C/S模式的MIS应用系统,则与外部程序的交互比较少,PB本身提供的功能就足够实现所有的功能;但有的时候,当对系统的界面,性能要求比较严,或是在系统中还有很多其它的功能时,比如说办公自动化系统,此时需要比较多的与外界(或是外部程序)通迅,比如要发送EMAIL等等。 就PowerBuilder来说,它是一个开放式的开发平台,提供了多种手段来原创 2007-07-25 11:02:00 · 823 阅读 · 0 评论 -
在PB应用中收发电子邮件
---- 随 着Internet 进 入 千 家 万 户, 通 过Internet 收 发 电 子 邮 件 将 成 为 人 们 最 受 欢 迎 的 通 讯 手 段 之 一。 如 果 我 们 的 应 用 程 序也 能 够 提 供 收 发 电 子 邮 件 的 功 能, 就 可 以 使 我 们 方 便 快 捷 地 与 他 人 交 换 和 共 享 应 用 的 数 据 和 信 息, 使 其 应 用 真 正转载 2007-07-26 09:31:00 · 1932 阅读 · 0 评论 -
与Excel通讯
如果要传数据到Excel,可以用OLE2.0,用它实现非常简单。OLE Automatic让你可以直接控制整个Excel应用,在Excel中可以做的,在PB中都可做到。下面是一些主要步骤:首先,建立一个与Excel通讯的Object。实现如下:OLEObject ExcelServerinteger ExcelOKExcelServer = CREATE OLEObjectExcelOK =原创 2007-07-26 08:36:00 · 788 阅读 · 0 评论 -
在EXE文件中注册OCX部件
你是否遇到过这样的问题:一个带有OCX部件的应用程序在开发环境与你的计算机上运行得很好,但当你发行你的程序并安装到用户的机器上时,OCX不能正常工作了? 这个问题现OCX的工作方式有关:每个OCX部件在其constructor事件中存取系统注册表中它自已的信息。这由OCX容器通过调用在每个OCX控件中的DLLRegisterServer函数来实现。 问题是PowerBuild原创 2007-07-26 10:25:00 · 913 阅读 · 0 评论 -
如何实现数据窗口的多行选择
作一数据窗口通用对象(UserObject),在CLICKED事件中写入如下代码:long lng_currentrow,lng_jif row=0 then returnelse lng_currentrow=row //当前鼠标点中行end ifif keydown(keyshift!) then //按下SHIFT键 if i_lng_lastrow=0 then /原创 2007-07-30 16:26:00 · 640 阅读 · 0 评论 -
PB中窗口自动居中
在计算机软件开发的过程中,经常遇到计算机显示器的分辨率设置不一样的情况。如在程序设计中不注意,可能造成程序界面在不同分辨率下,显示不一致的现象。为了解决这个问题,我设计了一段程序,在每一个Windows的窗口打开之时,窗口自动位于屏幕中央。 下列代码放在Window对象的OPEN事件之中: / Description: This will position the window in转载 2007-07-27 10:04:00 · 993 阅读 · 0 评论 -
如何从数组里检索?
问题:数组:int nums[] 里面存储了需要显示的商品的商品编号 数据窗口dw_1 显示的是所有商品或未显示数据 现在用dw_1.modify()修改dw_1的sql语句,只检索nums[]存的编号sql语句改如何写? select * from goods where goods.num in "nums[]" ? 这样应该不对,反正不知道如何做,或者不sql,有没有别的方法,总之能原创 2007-05-09 21:02:00 · 580 阅读 · 0 评论 -
关于opensheet()的使用问题
OpenSheet() 功 能:在MDI框架窗口中打开MDI子窗口,并在指定菜单中创建选择该子窗口的菜单项。 语 法:OpenSheet(sheetrefvar{,windowtype},mdiframe{,position{,arrangeopen}}) 参 数:sheetrefvar:指定要作为工作表打开的窗口原创 2007-08-21 11:10:00 · 778 阅读 · 0 评论 -
PowerBuilder应用程序开发过程
创建一个PowerBuilder应用程序的具体步骤包括分析、设计、开发、调试、生成可执行文件这几个部分。 1. 系统分析就是在进行任何设计和开发之前,一定要搞清楚程序到底要做些什么,千万不能在没有完全理解需求的时候就开始开发和建立项目。当我们完全理解了开发需求之后,必须去制定一个计划,这个应用程序看上去应该是什么样,它是如何工作的,组成结构是什么,采取什么样的数据库,组织它的最好方式是什么,原创 2007-11-18 16:17:00 · 2314 阅读 · 0 评论