首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

PB10连接数据库

SqlServer 2000在工具栏上点击数据库配置文件图标,选择OLE Microsoft OLE DB ,点击New ,打开设置界面:Provider: SQLOLEDBData Source : workstation18 即server,可惜没有localUser ID : saPassword :Extended : database = pb_test选择 Preview 选项卡 ,单击 Test Connection 测试一下。Access 在工具栏上点击数据库配置文件图标,选择OLE Microsoft OLE DB ,点击New ,打开设置界面:Provider : Microsoft.Jet.OLEDB.4.0Data Source : c: ysacc.datUser ID : Password :Extended : database = pb_test选择 Preview 选项卡 ,单击 Test Connection 测试一下。...
类别:程序开发 - PowerBuilder    查看:91    更新:2014-05-12

脱离开发主机,在其他电脑里独立运行PB程序

我发现很多的同志不知道如何脱离自己的开发主机,在别人的计算机上独立运行。其实很简单,关键在于怎样在注册表中自动注册你的ASA数据源。现在我把以前我发的帖子再发一次。希望对初学者有帮助!大家用PB编好的程序,用安装软件(例如:InstallShile,InstallWais,Creatinstall等)安装打包后,在用户机上一使用就出现数据库没有连接等问题,原因就是我们没有在WINDOWS的注册表中注册我们的数据源。怎样注册呢?现在我来说一下:首先我们用安装软件把我们的主运行文件要注册到注册表中的HKEY_LOCAL_MACHINE OFTWAREMicrosoftWindowsCurrentVersionApp Paths里,在这里我的主应用程序是idmis.exe,数...
类别:程序开发 - PowerBuilder    查看:71    更新:2014-05-12

使用PB调用API自动更新(非FTP模式)

一、STRUCTURE定义 1、s_filetime global type s_filetime from structure long dwlowdatetime long dwhighdatetime end type 2、s_win32_find_data global type s_win32_find_data from structure long dwfileattributes s_filetime ftcreationtime s_filetime ftlastaccesstime s_filetime ftlastwritetime long nfilesizehigh long nfilesizelow long dwreserved0 long dwreserved1 character cfilename[255] character calternatefilename[14] end type 3、s_netresource global type s_netresource from structure long dwScope long dwType long dwDisplayType long dwUsage string lpLocalName string lpRemoteName str...
类别:程序开发 - PowerBuilder    查看:122    更新:2014-05-12

PB通过OLEObject使用Word

1 引言在编程的时候,常常需要访问Word文档。除了使用DDE之外,PowerBuilder还有一种操作Word的方式,就是通过OLEObjcet和OLEControl。OLEObject是不可视的OLE对象,而OLEControl则是可视的窗口控件。由于OLEObject较后者更灵活方便,如果不是必须在窗口上显示Word文档内容,使用前者是更好的选择。程序开发员在使用OLE连接Word文档的时候,常常遇到这样两个问题:第一:如果某文档已经打开,再使用程序调用的时候,会产生程序运行错误;第二:经常发现创建的WinWord.exe进程没有能够正常终止。2 分析下面我们来分析这两个错误产生的原因。对于第一个错误,往往是由于使用OLEObjectVar.ConnectToOb...
类别:程序开发 - PowerBuilder    查看:143    更新:2014-05-12

PB中下拉数据窗口联动的实现

  近日在开发过程中遇到使用下拉数据窗口的情况:数据表Data中有二列Dept_id(主管部门编码)、Unit_id(企业编码)的取值分别来自数据表Dept(主管部门)及Unit(企业基本情况),且要求选择某一主管部门后,能将该主管部门的所有企业显示出来以便选择。有关数据表的结构如下(已简化):表 名字段名类型长度关键字含义DataDept_idChar5否主管部门编码Unit_idChar9是企业编码NumNumeric7(无小数) 否上交金额DeptIdChar5是主管部门编码NameChar15否主管部门?/TD>UnitIdChar7是企业编码NameChar30否企业名称Dept_idChar5否主管部门编码  为实现这些要求,可将Data表的2个字段Dept_id、Unit_id设计为2个相关...
类别:程序开发 - PowerBuilder    查看:133    更新:2014-05-12

PB动态报表格式实现自由定义

  在通常的Server/Client方式MIS开发中,总是有没完没了的报表需要制作,调试报表花费的时间也是最多而且乏味,还常常不能满足客户的要求。要是能够让用户自己调整报表的格式和内容,然后将它保存下来,程序下次启动时它自动调用保存了的报表格式那有多好。本人通过如下方法最终实现了用的要求。PB(PowerBuilder)有一种以PSR结尾的特殊的保存报表的文件格式(本文简称作PSR文件)。根据数据窗口可以直接读取PSR文件生成报表的原理,程序通过生成PSR文件,实现动态报表格式的保存。  一、实现原理:   PB中的报表其实就相当于是数据窗口。  第一步,动态报表的实现。通过设置数据窗口对象(dataobject)中文本、...
类别:程序开发 - PowerBuilder    查看:120    更新:2014-05-12

PB中实现数据窗口动态排序

在PowerBuilder中使用数据窗口检索到的数据往往是无序的,虽然可以通过设置Select语句实现排序的功能,但是数据窗口一旦生成都无法进行动态调整。笔者总结了在已经生成的数据窗口中实现动态排序的三种方法,现介绍给大家。 一、 准备工作 设计如图1所示的示例窗口。为了更好地比较三种不同的方法,dw—1中的数据来自两个表student和class。student表中包含四个字段sid(学号)、sname(姓名)、saddr(住址)和cid(班号),class表中包含两个字段cid(班号)和cname(班级名称)。 图1二、三种方法的源程序 三种方法中的“执行”按钮的代码分别为: 方法1:用SetSQLselect() string ls—oldsql,ls—newsql,ls—order ls...
类别:程序开发 - PowerBuilder    查看:114    更新:2014-05-12

在PB中实现热键的方法

如果你能在你的应用程序中添加一些热键,就可以加快用户的操作速度,特别是对那些熟练的操作人员,他们特别欢迎快捷键的操作方式。在不少大型应用软件中,用户可以通过使用Ctrl+Alt+F5之类的组合键来方便地进行功能切换和处理。那么,我们在用PowerBuilder开发应用程序时,怎样在其中实现需要的热键功能呢?下面笔者就根据自身的经验,介绍两种实用的方法。第一种方法:该方法可以实现:无论何时,只要用户按下热键,都将触发窗口中的事件。1.声明 API的外部函数FUNCTION Integer GlobalAddAtom(ref string lpString) LIBRARY "kernel32.dll" ALIAS FOR "GlobalAddAtomA"FUNC...
类别:程序开发 - PowerBuilder    查看:78    更新:2014-05-12

利用PB实现动态添加菜单

本文拟结合POWERBUILDER语言,简述如何实现动态添加菜单效果。在实际开发过程当中很多时候会因为权限控制的需要,根据用户的不同权限来动态添加菜单项目,如何避免使用繁琐的API函数(如:CreateMenu、InsertMenu、InsertMenuItem、AppendMenu等),利用POWERBUILDER语言自身功能达到这一目的呢?本文将就此问题简单予以论述。一、基本思路在PB帮助的MENU OBJECT一节当中,关于其PROPERTIES描述当中有一项:Item[ ] Menu Specifies the Menu objects under a Menu object.这看似简单的一句话其实包含了三层含义:1、这句话说明MENU对象有一个属性为数组类型,它其中的各个元...
类别:程序开发 - PowerBuilder    查看:85    更新:2014-05-10

利用PB实现图片透明叠加

本文拟结合POWERBUILDER语言,简述如何实现图片透明叠加效果,本例参考并改编了以前流传甚广的一篇VB文章,由于时间太久,源出处已无从查找,在此向原作者致意。程序效果图见:http://blog.csdn.net/images/blog_csdn_net/balloonman2002/17312/r_PIC_OVERLAP.JPG一、基本思路程序的原理是先创建两个用于起屏蔽作用的模板DC(装载单色掩码位图,且这二者正好是相反的关系,通过NotSrcCopy实现),分别与源DC和目标DC进行与操作(SrcAnd),这时就能将源DC和目标DC中要透明的区域和不要透明的区域正好各自划分成黑色部分(即象素颜色为0)(具体为源DC中透明区域为黑色,目标DC中不要透明区域为黑色...
类别:程序开发 - PowerBuilder    查看:90    更新:2014-05-10

利用PB实现树型列表动态半透明提示

本文拟结合POWERBUILDER语言,简述如何实现树型列表动态半透明提示,即鼠标移动到树型列表某一项ITEM时会动态提示,且为类似金山词霸的半透明提示效果。 效果图见: http://blog.csdn.net/images/blog_csdn_net/balloonman2002/17312/r_BALLOON-1.JPG 本文拟分以下四部分论述分三次完成: (一)基本思路 (二)如何获取当前鼠标坐标对应NODE结点信息 (三)半透明效果实现 (四)气泡形状效果实现 一、基本思路 (一)在POWERBUILDER语言中,TREEVIEW控件并不具备如VB等其他语言一样当鼠标未选中NODE时,直接获取当前鼠标对应X、Y坐标下所属NODE结点的方法,VB中可以直接利用H...
类别:程序开发 - PowerBuilder    查看:99    更新:2014-05-10

PB中的事务管理

数据库的事务管理在数据库中,所谓的事务可以理解成是一组逻辑操作单元,使数据从一种状态变换到另一种状态。为确保数据库中数据的一致性,DML看作是一个离散的队列:从开始到它全部完成后,数据的一致性可以保持,commit可以提交;而当队列中的某一部分操作fail,那么整个队列应视为违法,所有从起始点以后的操作应全部回退到开始状态,即rollback。对事务的操作是这样进行的:先定义开始一个事务,然后对数据作修改操作,这时如果提交(COMMIT),这些修改就永久地保存下来,如果回退(ROLLBACK),数据库管理系统将放弃您所作的所有修改而回到开始事务时的状态。此外有些数据库支持事务的“存储点(savepoint)”这一概念...
类别:程序开发 - PowerBuilder    查看:98    更新:2014-05-10

PB中TreeView控件使用技巧

PowerBuilder中的TreeView 控件为树状游览,类似于WINDOWS的资源管理器,其特点是信息项呈树状层次结构,能更清晰地表现主、细目关系 ,操作非常方便。在应用中可将其与DataWindow 配合使用, 一个提供信息的分类体系,一个提供具体信息,达到珠连碧合的奇妙效果。它特别适用于多级信息的分类检索, 是多级菜单所无法比似的,它的表现形式深受程序设计人员和广大用户的喜爱,在许多应用软件中都能看到她的英姿。   在PowerBuilder下,TreeView 控件的应用较其它控件要复杂得多,刚接触它时往往有些不知所措。但如果将它的机理搞清楚,掌握它也不是很难的事。下面我结合长白公司图书分类检索的实例,把TreeView 控 件的使用方...
类别:程序开发 - PowerBuilder    查看:107    更新:2014-05-10

PB中自定义事件ID含义

单选或多选按钮消息(前缀:pbm_bm) pbm_bmgetcheck 单选按钮或多选按钮是否被选。 pbm_bmgetstate 按钮是否加亮。pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然。 pbm_bmsetstate 加亮或不加亮按钮。 pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框。 单选或多选按钮通知消息(前缀:pbm_bn) pbm_bnclicked 按钮控件被点中。 pbm_bndisable 使按钮控件无效。 pbm_bndoubleclicked 按钮控件被双点。 pbm_bndragdrop 一个对象被放到按钮控件。 pbm_bndragenter 一个对象被拖到按钮控件。 pbm_bndragleave 一个对象被拖离按钮控件。 pbm_bndragover 一个对象被拖经按钮控件。 pbm_bnhilite 按钮控件被加亮。 pbm_b...
类别:程序开发 - PowerBuilder    查看:84    更新:2014-05-10

如何利用PB实现仿QQ自动显示/隐藏窗口

本文拟结合POWERBUILDER语言,简述如何实现类似QQ的自动显示/隐藏窗口,即:鼠标移入时自动弹出窗口,鼠标移出后自动隐藏窗口,同时当隐藏窗口后实现WINDOWS操作系统启动画面时显示的不同颜色条滚动效果以提示用户。 本文拟分以下四部分论述分三次完成: (一)基本思路 (二)基础准备工作 (三)自动显示/隐藏窗口功能实现 (四)颜色条滚动效果实现 一、基本思路 (一)利用API:TrackMouseEvent函数捕获Wm_MouseLeave消息,来获取并处理鼠标移出事件;利用WINDOW的MOUSEMOVE事件来处理鼠标移入事件。 (二)利用API:CreateSolidBrush、FillRect函数来动态创建颜色渐变区域,以实现不同...
类别:程序开发 - PowerBuilder    查看:89    更新:2014-05-10

PB中实现使用属性(property)访问类的私有字段

大家在delphi或c#中创建类时可以使用一个叫属性(property)的东东,可以用它来访问类的私有成员(当然是用方法控制的), 如下: public class Person { private int _age; public int Age { get { return _age; } set { if(value > 0) _age = value; } } 其好处我就不多言说了,相信各种资料说的比我解释的好,大家也很清楚. 在pb中创建对象的时候有没有这样的东东呢,我们提出疑问:属性(property)是否存在? 我找呀找,终于在朋友的帮助下找到了一个好东东,它就是indirect关键字,有了它就可以帮助我们在pb中实现属性(property )这个东东了. indirect到底怎么用呢,我们来具体操作一下吧;) 1. 创建一个类,姑且叫uo_Person吧. 2. 声明一个实例变量priva...
类别:程序开发 - PowerBuilder    查看:93    更新:2014-05-10