好文档 - 专业文书写作范文服务资料分享网站

PowerBuilder编程技巧实例.

天下 分享 时间: 加入收藏 我要投稿 点赞

PowerBuilder 编程技巧实例

随着数据库技术在各行各业的广泛应用,作为企业级数据库前端开发工具的Power Builder日益成为开发人员的得力助手。PowerBuilder以其开放的体系结构,友好的用户界面和简洁高效的开发环境赢得了众多程序员的喜爱,连续多年被评为美国计算机界的年度风云产品,在数据库开发工具领域占据了高达44%的市场份额。PowerBuilder进入我国的时间不长,许多编程人员希望了解并掌握这一先进工具。在这里,笔者将自己平日用PowerBuilder作开发的一些体会整理出来,奉献给大家。PowerBuilder是由多个功能模块组成的可视化集成开发环境,是面向对象的开发工具,用它可以方便地建立起基于Windows的分布式数据库应用。其功能模块分别完成应用管理、窗口对象设计、菜单对象设计、数据窗对象设计和数据库查询等工作,这些功能模块由于PowerBuilder提供的色彩丰富的工具条而被称作\画板。下文便依据各模块作大的分类介绍相应的编程技巧。

一、有关应用的编程技巧仅让应用程序运行一次的技巧:

有时需要限制一个PowerBuilder应用同时运行的实例(Instance个数或仅让应用运行一次,我们可以通过调用WindowsSDK函数或使用PowerBuilder的Handle(函数来实现。

先谈调用SDK函数的方法。为了调用SDK函数,需要在ApplicationPainter的菜单项

Declare\\GlobalExternalFunctions中定义:

FunctionuintGetModuleHandle(stringModuleNameLibrary\FunctionuintGetModuleUsage(uintModuleHandleLibrary\

下面这段程序写在Application的Open事件中。它先通过调用SDK函数GetModuleHandle(获得指定应用程序的句柄,然后调用GetModuleUsage(函数确定应用程序同时运行的实例个数。

uint IApplHandle int App_num

IApplHandle=GetModuleHandle(\if IApplHandle>0 then

App_num=GetModuleUsage(IApplHandle if App_num>1 then

Messagebox(\注意\本程序已经运行!\return endif endif Open(w_main

若需要限制应用同时运行的实例个数,比如仅允许同时运行N个实例,那么将上述程序中的语句“if App_num>1 then”改为“if App_num>N then”即可。

采用Handle(函数的方法更简洁一些,代码如下: int hand

hand=Handle(this,TRUE If hand>0 then

Messagebox(\注意\本程序已经运行!\Halt

else

Open(w_main endif

二、有关窗口的编程技巧 1、提供实时帮助条

中文之星2.0版的链形菜单管理器提供了实时帮助条,增强了系统的易用性,在PowerBuilder中也可以实现类似的功能。当鼠标移动到窗口中的某些控制(Control,如编辑器、图片等时,会在鼠标附近自动产生帮助条,实时地提示操作要领。

首先在窗口w_main中任意位置定义一个黄底黑字的静态文本st_help,设定st_help.visible=false, st_help.text=&Help;然后在该窗口模块的

Declare\\WindowFunctions...下定义函数show_help(,其参数只有一个,参数名为text,类型为string,通过传值方式接收参数;无返值。show_help(

代码如下:

if st_help.visible then return endif

st_help.text=text

st_help.width=Len(st_help.text*38 st_help.x=w_main.PointerX( st_help.y=w_main.PointerY(+50

PowerBuilder编程技巧实例.

PowerBuilder编程技巧实例随着数据库技术在各行各业的广泛应用,作为企业级数据库前端开发工具的PowerBuilder日益成为开发人员的得力助手。PowerBuilder以其开放的体系结构,友好的用户界面和简洁高效的开发环境赢得了众多程序员的喜爱,连续多年被评为美国计算机界的年度风云产品,在数据库开发工具领域占据了高达44%的市场份额。PowerB
推荐度:
点击下载文档文档为doc格式
2rzcf6zw3x8xswm2yhl07916095ebr009aw
领取福利

微信扫码领取福利

微信扫码分享