PB8简明开发指南

合集下载

pb8.0技术

pb8.0技术

在下拉数据窗口中查找与输入数据匹配的数据本篇文章来源与时代朝阳数据库(原晓通数据库)培训部PowerBuilder资料库。

从下拉数据窗口中查找数据时,一般情况下,需要从下拉数据窗口的第一行开始查找。

如果下拉数据窗口中的数据很少,只有十条左右,查找很方便。

但是,如果下拉数据窗口的数据很多,如上百条,则查找起来就会很麻烦。

下面讲述一种从下拉数据窗口中查找数据的方法。

该方法可以实现:将数据输入该列时,该列自动显示下拉数据窗口中与输入数据最匹配的第一个数据,下拉数据窗口自动滚动到被选数据所在的行,并且高亮度显示该行。

下面举例介绍,步骤如下:1. 创建窗口win_article_subject,在窗口中放置数据窗口控制dw_1。

2. 创建与窗口win_article_subject相连的数据窗口dw_article_subject,该数据窗口基于表“article_subject”。

创建“subject”列的下拉数据窗口dw_subject,该下拉数据窗口基于表“subject”。

创建好的窗口及数据窗口如下图所示:注意,在带有下拉数据窗口的列(“subject”列)中,必须指定该列的“Allow Editing”属性为True。

3. 在窗口中定义如下的实例变量:long il_rowcountboolean ib_keyworddatawindowchild idwc_datastring is_mach, is_type4. 在窗口的open事件写入如下的语句:ib_keyword = false5. 在窗口中定义名为“highlight”的用户自定义事件,不指定事件ID号、传入参数和返回值,并在事件中写入如下的语句:idwc_data.SelectRow(il_rowcount, TRUE)6. 创建全局函数gf_match_row,函数的参数和返回值定义如下表所示:返回类型为:长整型(Long)。

函数程序如下:string ls_mthtextlong ll_mthrowlong ll_counter = 1long ll_rowIF s_type = "number" THEN //检测列的数据类型是否为number//逐行检测下拉数据窗口中与输入数据最匹配的数据所在的行DO UNTIL ll_counter > dwc_name.RowCount()ll_mthrow = dwc_name.GetItemNumber(ll_counter, s_col_name)IF Left(string(ll_mthrow), i_length) = s_text THENll_row = ll_counterEXITELSEll_counter = ll_counter + 1END IFLOOPELSE//列的数据类型不是number//逐行检测下拉数据窗口中与输入数据最匹配的数据所在的行DO UNTIL ll_counter > dwc_name.RowCount()ls_mthtext = dwc_name.GetItemString(ll_counter, s_col_name)IF Left(ls_mthtext, i_length) = s_text thenll_row = ll_counterEXITELSEll_counter = ll_counter + 1END IFLOOPEND IFreturn(ll_row) //返回与输入数据最匹配的数据所在行的行号7. 在数据窗口控制的“cl icked”事件中写入如下的程序:ib_keyword = false8. 在数据窗口控制(dw_1)的“editchanged”事件写入如下程序://定义变量string ls_search, ls_col_namestring ls_attributeinteger li_string_length//获得具有下拉数据窗口列的列名ib_keyword = falsels_col_name = dw_1.GetColumnName()//判别当前列是否具有下拉数据窗口,如果不具有,则退出事件程序IF dw_1.GetChild(ls_col_name,idwc_data) < 0 THENreturnEND IF//获得下拉数据窗口的显示列及其类型ls_attribute = ls_col_name + ".dddw.displaycolumn"ls_col_name = this.Describe ( ls_attribute)ls_attribute = ls_col_name+".coltype"is_type = idwc_data.Describe(ls_attribute)//获得输入到列中的文本ls_search = dw_1.GetText()li_string_length = Len(ls_search)IF li_string_length = 0 THENreturnEND IF//找出下拉数据窗口中与输入数据最匹配的行il_rowcount = gf_match_row(idwc_data, ls_search,+&li_string_length,is_type,ls_col_name)IF il_rowcount <= 0 THENib_keyword = FALSEELSEib_keyword = TRUEidwc_data.SetRow(il_rowcount)IF is_type = "number" THENis_mach =string(idwc_data.GetItemNumber(il_rowcount,ls_col_name))dw_1.SetItem(dw_1.GetRow(),dw_1.GetColumn(), is_mach)ELSEis_mach = idwc_data.GetItemString(il_rowcount, ls_col_name)dw_1.SetItem(dw_1.GetRow(),dw_1.GetColumn(),is_mach)END IF//事件editchanged结束后,下拉数据窗口中被选中的行以高亮度显示parent.PostEvent("highlight")END IF运行窗口“win_article_type”,在数据窗口中的“subject”列中输入第一个字时,该列显示下拉数据窗口中与输入的第一个字相匹配的数据,下拉数据窗口自动滚动到该行,并且高亮度显示该行。

2024年PB培训教程(提高篇)-(多场景)

2024年PB培训教程(提高篇)-(多场景)

PB培训教程(提高篇)-(多场景)PB培训教程(提高篇)一、引言随着我国经济的快速发展,企业对人才的需求日益增长,专业技能培训成为了提升员工素质的重要途径。

PB(PowerBuilder)作为一款优秀的客户端/服务器应用程序开发工具,具有强大的数据处理能力和灵活的界面设计功能,广泛应用于企业级应用开发。

为了帮助广大PB爱好者提高开发技能,本教程将从实战角度出发,详细讲解PB的高级应用技巧。

二、PB开发环境介绍1.PB简介PowerBuilder(简称PB)是美国Sybase公司推出的一款客户端/服务器应用程序开发工具。

它采用面向对象的编程思想,支持多种数据库,具有强大的数据处理能力和灵活的界面设计功能。

PB在我国的企业级应用开发领域具有广泛的应用。

2.PB开发环境搭建(1)安装PB开发工具:并安装PB开发工具,根据提示完成安装过程。

(2)配置数据库连接:安装并配置数据库软件(如Oracle、SQLServer等),建立数据库连接。

(3)创建PB项目:在PB开发环境中创建新项目,配置项目属性,为后续开发做好准备。

三、PB高级应用技巧1.数据窗口应用(1)数据窗口简介:数据窗口是PB中用于数据显示和编辑的重要组件,具有强大的数据处理能力。

(2)数据窗口设计:掌握数据窗口的设计方法,包括数据源设置、列属性设置、样式设置等。

(3)数据窗口事件处理:了解数据窗口的事件处理机制,掌握常见事件(如Click、DoubleClick等)的编写方法。

(4)数据窗口与数据库交互:学习如何使用数据窗口进行数据的增、删、改、查操作。

2.PB与Web技术结合(1)Web开发简介:了解Web开发的基本概念,掌握、CSS、JavaScript等基本技术。

(2)PBWeb应用程序:学习如何使用PBWeb应用程序,包括Web数据窗口的使用、Web事件处理等。

(3)PB与WebService交互:掌握PB调用WebService的方法,实现PB与WebService的数据交互。

如何使用VSS对PB8.0下进行版本控制详解

如何使用VSS对PB8.0下进行版本控制详解

如何使用VSS对PB8.0下进行版本控制详解分类:PB文档(777)(0)在PB8.0下如何进行版本控制说明:由于本系统暂定使用微软的microsoft visual sourcesafe作为版本控制系统,所以,下面所提到的版本控制系统(source control system),就是指VSS。

写给开发人员:1、组织工作环境如果你是第一次接触本系统的开发,请您先登陆vss,到×××下载本系统的程序目录结构,然后运行PB8.0,添加此目录结构。

完成后,进行下一步PB与VSS的连接。

2、配置连接文件在PB8.0集成开发环境下,右击workspace ,在弹出的菜单中选择properties,弹出如图1所示的对话框。

选择source control项,进行连接文件的配置。

source control system:选择要使用的版本控制系统。

本系统使用微软的VSS,即选择microsoft visual sourcesafe项。

userID:输入你在版本控制系统(VSS)里的用户名。

Project:选择VSS上对应的工程。

首先单击文本框后面的按钮,显示登陆VSS的对话框,如图2,输入登录名称和密码后单击ok,弹出添加工程对话框.选则你所需要的工程,单击ok,系统会自动将工程名称和路径添加到文本框中。

※建议:不要自己填写工程名称和路径,通过选择会更准确且不容易出错。

Local Root Directory:为本地根目录输入或选择路径。

在这里就是你从VSS上下载程序目录结构所保存路径的上游路径,或者说就是你保存pbw文件的路径的上游路径。

注意:所有从版本控制系统check in和check out的workspace文件都必须包含在此路径里。

Connect:单击此按钮即于版本控制系统进行连接。

Advanced:单击进行高级选项的设置。

下面还有几个选项,他们的作用如下表,根据需要进行设置。

PowerBasic入门教程(流狼)

PowerBasic入门教程(流狼)

目录第一章PowerBASIC集成开发环境 (4)1启动 (4)1.1定位/G: (4)1.2主源文件/P: (4)2.PowerBASIC用户界面 (5)2.1菜单栏介绍 (6)2.1.1文件菜单(File) (6)2.1.2编辑菜单(Edit) (8)2.1.3运行菜单(Run) (10)2.1.4工具菜单(Tools) (10)2.1.5窗口菜单(Window) (11)2.1.6调试菜单(Debug) (12)2.1.7 帮助菜单(Help) (13)2.2 IDE 选项对话框 (14)2.2.1文件选项卡(File) (15)2.2.2 编辑器选项卡(Editor) (17)2.2.3编辑器文本选项卡(Editor Text) (19)2.2.4颜色选项卡(Color) (20)2.2.5打印机选项卡(Printer) (22)2.2.6编译器选项卡(Compiler) (23)2.2.7通用选项卡(General) (24)第二章编程基础 (26)1数据类型 (26)类型定义 (27)1.1整数型数据 (28)1.1.1字节(Byte ?) (28)1.1.2 字型(WORD ??) (28)1.1.3整型(Integers %) (28)1.1.4双字型(Double-word ) (29)1.1.5长整型(Long integers &) (29)1.1.6四字整型(Quad integers &&) (29)1.1.7小结 (29)变量类型与其它语言的对应关系 ...................................................................... 错误!未定义书签。

C/C++ .................................................................................................................... 错误!未定义书签。

pb08

pb08

• 选中要使用的用户对象,双击鼠标左键 或单击【OK】按钮,关闭选择用户对象 对话框;在窗口中要放置该用户对象单 击鼠标左键,所选用户对象即出现在窗 口中。窗口中用户对象的使用可以像其 它控件一样。
图8-3-1 选择用户对象对话框
• 2.应用举例 • (1)使用标准可视用户对象 • 修改系部主窗口,删除退出按钮,加入 uo_exit用户对象,运行应用程序,可以 看到运行结果与原来一样。 • (2)使用自定义可视用户对象 • 进一步修改系部主窗口,删除插入、保 存、删除3个按钮和数据窗口控件dw_1, 加入uo_dataedit用户对象,并且为系部主 窗口open事件增加脚本,如图8-3-2所示。
图8-2-1 标准可视用户对象类型选择对话框
• (2)选中一标准可视用户对象,双击鼠 标左键或单击【OK】按钮,弹出创建用 户对象窗口,如图8-2-2所示。 • 窗口内控件根据所选标准可视用户对象 类型变化而变化,其属性、事件、函数 与窗口控件一致。
图8-2-2 标准可视用户对象定义窗口
• (3)编写脚本,单击窗口工具条上的图 标,弹出用户对象保存对话框,如图8-23所示。 • 在【UserObjects】中输入用户对象名, 可视用户对象的命名规则为以uo_开头, 在【Application Libraries】中选择用户对 象要保存的应用库名,在【Comments】 中输入该用户对象的注释,可以省略, 单击【OK】即可完成新用户对象的创建。
8.4 用户事件概述
• PowerBuilder的窗口、控件、用户对象等 都有一组预先定义好的事件,这些事件 基本包括了PowerBuilder编程可能涉及的 所有事件,已经能够满足应用程序的基 本需求,但实际中某些应用需要执行特 殊功能,开发人员需要根据用户的要求 为PowerBuilder对象定义自己的事件,即 用户事件。 • 用户事件与用户函数很相似,用户事件 的运用提高了应用程序的灵活性和适应 性。

数据库系统开发与PB8-4

数据库系统开发与PB8-4
END IF
nindex=ddlb_1.finditem(ddlb_1.text,0)
szmodify=szmodify+"datawindow.print.page.rangeinclude="+string(nindex - 1)
szreturn= i_dwtoacton.modify(szmodify)
cbx_file.checked=(I_SZFILENAME <> "")
i_dwtoacton.modify("datawindow.print.paper.size=9")
·“打印”按扭“Clicked”事件脚本
int nindex
string szmodify,szpage,szreturn,RN,sz1
close(parent)
②打印窗口
·设置实例变量
datawindow i_dwtoacton
string i_szfilename
·窗口“Open”事件脚本
string szcopies
i_dwtoacton = message.powerobjectparm
st_c_p.text="当前打印机:"+string(i_dwtoacton.object.datawindow.printer)
datawindow dw_dy
dw_dy = dw_1
openwithparm(w_print_a4,dw_dy)
·“关闭”按扭“Clicked”事件脚本
Close(PARENT)
cb_2.enabled=true

AIP8F1016 C语言开发注意事项 -

AIP8F1016 C语言开发注意事项 -

AIP8F1016开发注意事项1.端口方向位操作与或问题:PXIO(端口输出输出寄存器)执行ANL、XRL、INC、DEC时会发生指令异常的情况。

解决方法:可通过设置一个缓冲寄存器,经过与或运算或在赋值给PXIO寄存器。

例:原程序:P1IO&=0xFB修改后的程序:io_temp=P1IO,io_temp&=0xFB,P1IO=io_temp;辅助纠正措施:烧录器软件PXIO逻辑运算提醒功能,在V3.5.1D之后的烧录器软件解析烧录文件时会自动检测是否存在PXIO逻辑运算。

图当出现该提示时需要查源程序中是否存在PXIO逻辑运算2.端口输入问题:切记:PX1端口不能作为输入口!,其他端口可以作为输入。

如果必须要用,则读取PX端口状态的时候,需利用push和pop指令。

ea_temp = EA; //缓冲当前EA状态EA = 0; //关闭总中断_push_(P0); //P0的值入栈_pop_(FSADRM); //P0的值出栈到FSADRM寄存器中P0_temp = FSADRM; // FSADRM的值给P0_tempEA = ea_temp; //恢复EA状态key_buff = (~P0_temp)&0x72; //读取状态值3.用软件自动生成的中断序列号要比说明书中的序列号小1.4.端口位操作注意事项:在使AIP8F1016 芯片时,要注意,当端口作为输入,且使用位读时(如if(P01 == 1)),可能回出现死机的等问题。

所以工程师建议做输入口时,不要使用位操作,可采用整个字节操作(如if(P0 & 0x01 !=0) )。

5.中断标志清零:EIFLAG0中中断标志位必须用软件clear。

芯片不会自动清零。

6.WDT:应用AIP8F1016 芯片在看门狗设置时注意,请将WDTCR值设置为0xE2,应用看门狗专用时钟,不要用主时钟!WDTDR值请根据主程序运行时间合理设置!初始设置:WDTDR=0xXX;WDTCR=0xE2;主循环清狗操作:WDTCR|=0xE2;7.中断防抖设置:AIP8F1016 全系列芯片,凡用到外部中断端口功能时,一定要打开该端口的防抖功能(debounce):以AIP8F1016 芯片为例,涉及到的外部中断端口有:P02~P07,----对应P0DB寄存器(Bit0~Bit5)P16,P17,P11,P12,P52,P54 ---对应P15DB寄存器(Bit0~Bit5)设置时将相应的位置1即可!需要着重注意的是:P0DB,Bit7,Bit6是设置去抖时间,不管用到哪个中断端口,这两个位都要设置,否则选择debounce 也无意义:00,fx/101,fx/410, fx/4096 (建议设置成10)设置后:在上升沿和下降沿有干扰时,芯片不会多次进入中断。

利用PB8和EAServer进行多层Web应用开发

利用PB8和EAServer进行多层Web应用开发
摘 要 : 用 S B S 的 P 8和 E ev r 我 们 能 方便 地 开发 出 多层 模 式 的应 用 。 本 文 通过 对 多 层模 式 应 用 的 开 发 和 总 结 详 细 阐 述 利 Y AE B AS re , ・

了基 于 P we nmo aur T o r a J ga S的 多层 It n t 用开 发 Dy C ne e 应 r
随着 计 算 机 网络 技 术 的发 展 , 多企 业 已经 不 能 再 满 足 于 在 众 企 业 内 部 网络 上 架 构 数 据 库 应 用 系 统 ,他 们 希 望 架 构 在 互 联 网 上 ,将 遍 及 多 处 的 各 分 支 机 构 纳 入 统 一 的企 业 应 用 管 理 系 统 中 , 实现 统 一 管 理 和 方 便 与 其 他 企 业 密 切合 作 。
ga Fls y aelga C S 35 aa l ss rm i k bsk u eS a r T .jv ̄ a e; \ cs
CLrga : o rm P
2三层体 系和 E S re 简 u \ k 2 k bca ss i; i k b skh rdS nj 1 2l  ̄lse. p eS d i z CWrl m Fls y a&sae Wo eB i e ̄ a ss i; 后 单 : o a i k b s h rd w r u d r se . p然 p eS l d z 击 “ 定 ” 钮 确 按

l e fnent p hao a f o r nmoJg a C Sdtl , ydvlp n dsnia f hl e ap cd n a r t e pcf nbs o we y oI r a i e P Dy a . ur T e id B ee me t 2 iyr p h ao . a ae o n a u n o mu a K yw rsmu l e s m;A evrau T ;o ry a e od : l a ryt E Sre ̄g a C SP wednmo dy s e J r

pb教程入门到精通pdf

pb教程入门到精通pdf
数据处理函数
介绍PowerBuilder中提供的数据处理函数,如字符串处理、数值计算、日期时间处理 等,以方便用户对数据进行加工和转换。
数据窗口技术
数据窗口基础
简要介绍数据窗口的概念、作用以及 基本使用方法。
数据窗口控件
详细讲解数据窗口控件的种类、属性 以及事件处理方法,如DW、 DataWindowChild等控件。
TCP/IP协议栈的深入理解
非阻塞式I/O与异步I/O的 使用
图形图像处理技术
常见图形图像格式解析
图形图像基本概念
01
图形图像的绘制与渲染技术
02
03
图像处理算法的实现与优化
04
05
OpenGL与DirectX等图形库 的使用
自定义控件开发
控件开发基础概念
04
常用控件的扩展与改进方法
01 03
Windows消息机制的理解与 应用
02
自定义控件的绘制与事件处 理
07
实例分析与实战演练
实例一:简单计算器设计
设计思路:通过界面设计、事件处理和 算法实现,完成一个基本的计算器功能 。
编写计算逻辑,根据用户输入的数字和 运算符进行计算,并显示结果。
为每个按钮添加事件处理函数,实现点 击按钮时的相应操作。
关键步骤
设计计算器的界面,包括数字按钮、运 算符按钮和结果显示框。
设计工具界面,包括菜单栏、工 具栏和绘图区域。
引入图形库,支持多种图形元素 的绘制,如直线、圆形、矩形等 。
实现事件处理功能,响应用户的 鼠标操作和键盘快捷键,完成图 形的绘制和编辑操作。
THANKS
感谢观看
01
02
03
04

PB8程序设计培训讲义

PB8程序设计培训讲义

PB8程序设计培训讲义PB8 程序设计培训课程⽬录前⾔------PB8 程序设计培训课程安排 (1)第⼀章PB8集成开发环境介绍 (2)第⼆章PB8的数据库管理功能 (6)第三章PB8语⾔及其系统函数 (8)第四章PB8的窗⼝对象及实例 (14)第五章PB8控件应⽤实例详解 (21)第六章PB8数据窗⼝控件详解 (22)第七章PB8数据窗⼝对象详解 (30)第⼋章模块复⽤技术实例详解 (33)第九章PB8开发多层应⽤详解 (36)第⼗章程序的发布与安装制作 (37)注意:本培训讲义中所⽤的特殊符号含义如下。

要点?实例配置步骤&选学内容第⼀章PB8集成开发环境介绍⼀、PB8与现⾏开发⼯具对⽐开发效率(MIS) 多层构架界⾯制作适⽤范围PB 很⾼很⾼⼀般数据库VB ⼀般⼀般较好⼀般DELPHI ⼀般⼀般最好最⼴⼆、PB8开发⼯具的发展历程PB6 每次只能开发⼀个应⽤,不能同时修改代码与界⾯PB7 每次只能开发⼀个应⽤,可以同时修改代码与界⾯PB8 每次可以开发多个应⽤,可以同时修改代码与界⾯三、PB8的特点1.初学有障碍,⼊门后进境迅速2.界⾯较单⼀,需⽤⼼制作界⾯3.完全的⾯向对象4.基于事件驱动的程序设计5.开放的数据库系统6.多平台的⽀持7.⽀持团队开发,集成的源代码控制系统8.⽀持多层应⽤程序组件的部署9.简洁的模块复⽤技术四、PB8新增的功能1.功能强⼤的系统树2.灵巧的输出窗⼝3.深得⼈⼼的剪贴窗⼝4.⽅便的WEB开发,集成了PowerSite站点开发⼯具5.优雅的源代码编辑器6.整合的组件服务器7.新的数据库驱动接⼝8.新增的系统函数9.新增的错误捕获技术五、PB8的IDE环境1.新增[new]的使⽤2.继承[inherit]的使⽤3.打开[open]的使⽤4.预览[preview]的使⽤5.系统树[system tree]的使⽤6.输⼊窗⼝[output]的使⽤7.错误消息切换[error message]的使⽤8.任务列表[to-do list]的使⽤9.浏览窗⼝[browse]的应⽤10.剪贴窗⼝[clip window]的使⽤11.库画板画板[library]的使⽤12.数据库配置⽂件[db profile]的使⽤13.服务器配置⽂件[easerver profile]的使⽤14.数据库画板[database]的使⽤15.多功能编辑器[edit]的使⽤16.部署应⽤程序[deploy]的使⽤17.调试[debug]的使⽤18.运⾏[run]的使⽤六、PB8做MIS系统的流程1.不得不做的需求分析(⽤户⼿册)2.系统设计⽅法(概要设计、详细设计、操作⼿册)3.数据库设计⽅法4.程序设计⽅法及注意事项5.软件测试及试运⾏6.后期维护与⼆次开发七、PB8开发应⽤程序的步骤1.创建⼀个⼯作区(*.pbw)NEW>WORKSPACE2.创建⼀个⽬标⽂件(*.pbt),规划库列表(*.pbl),设置全局属性3.创建数据库配置⽂件(*.ini)4.设置事务属性、连接数据库、测试连接是否成功5.创建主菜单、为菜单指定⼯具条图标6.创建主窗⼝(TYPE:mdihelp),关联主菜单到主窗⼝(主窗⼝不充许放置控件)7.创建⼯作窗⼝(TYPE:main),在主菜单中打开8.布置控件到⼯作窗⼝、9.⽣成数据窗⼝对象,将它与⼯作窗⼝的数据窗⼝控件关联10.为⼯作窗⼝的事件编写代码(OPEN)11.为⼯作窗⼝的控件编写代码⼋、PB8创建菜单的⽅法1.创建⼦菜单(submenu)2.添加菜单3.插⼊菜单4.编辑菜单5.复制⽣成菜单6.删除菜单九、PB8创建⼯具栏的⽅法1.为对应菜单指定⼯具条图标2.为对应菜单指定⼯具条提⽰3.为对应菜单指定⼯具条次序4.为对应菜单指定⼯具条索引⼗、PB8应⽤对象、菜单对象详解1.应⽤对象属性、事件、函数及附加属性AppName StringClassDefinition PowerObjectDDETimeOut IntegerDisplayName StringDWMessageTitle StringFreeDBLibraries BooleanMicroHelpDefault StringRightToLeft BooleanToolbarFrameTitle StringToolbarPopMenuText StringToolbarSheetTitle StringToolbarText BooleanToolbarTips BooleanToolbarUserControl BooleanClose When the user closes the application.ConnectionBegin Obsolete (used for distributed PowerBuilder connections) ConnectionEnd Obsolete (used for distributed PowerBuilder connections) Idle 由空闲函数触发Open When the user runs the application.SystemError When a serious execution time error occursClassName String Returns the class of the Application object. GetContextService IntegerPostEvent BooleanSetLibraryList Integer Sets the PBD library list in an executable. SetTransPool IntegerTriggerEvent IntegerTypeOf Object (if typeof(this)=application! Then end if)2.菜单对象属性、事件、函数Checked BooleanClassDefinition PowerObjectDefault Boolean (是否加⿊)Enabled BooleanItem[ ] Menu Specifies the Menu objects under a Menu object.MenuItemType MenuItemTypeMergeOption MenuMergeMicroHelp String Specifies the text of the MicroHelp for the object.ParentWindow Window Specifies the window that owns the Menu object.ShiftToRight Boolean (在继承菜单中指定菜单项的位置)Shortcut IntegerTag String Specifies the tag value assigned to the Menu object.Text String Specifies the text in the Menu object.ToolbarItemDown Boolean .ToolbarItemDownName StringToolbarItemBarIndex IntegerToolbarItemName StringToolbarItemOrder Integer Specifies the order of the item in the toolbar.ToolbarItemSpace IntegerToolbarItemText StringToolbarItemVisible BooleanClicked When the Menu object is clicked (selected or unselected).Help When the user presses the F1 key or drags the context help buttonSelected When the user moves to the Menu object using the arrow keys or the mouse.Check IntegerClassName String Returns the class of the Menu object.Disable IntegerEnable IntegerGetContextService IntegerGetParent PowerObject (getparent().classname()如果是菜单,返回上级菜单) Hide Integer Makes the Menu object invisible. PopMenu Integer Displays the Menu object at the specified location.PostEvent IntegerShow Integer Makes the Menu object visible.TriggerEvent IntegerTypeOf Object Returns the type of the control.Uncheck Integer3.⼀个PB应⽤实例第⼆章PB8的数据库管理功能⼀、如何使⽤ODBC连接数据库创建数据源、创建ODBC配置⽂件(ACCESS、SQL、ORACLE)DB PROFILE ⼆、如何使⽤专⽤接⼝连接数据库创建专⽤接⼝的配置⽂件(SQL、ORACLE)三、如何使⽤OLE DB接⼝连接数据库创建OLE DB接⼝的配置⽂件(SQL、ORACLE)四、事务对象与事务控制语句(SQLCA)1、事务对象的属性、事件、函数2、常⽤的事务控制语句五、常⽤的SQL语句1、DML语句SELECT 、INSERT 、DELETE 、UPDA TE2、DCL 语句GRANT、REVOKE3、DDL语句CREA TE DA TABASE、CREA TE TABLE、CREA TE VIEW、CREA TE DEFAULT CREA TE RULE、CREA TE INDEX ALTER DA TABASE、ALTER TABLE、ALTER VIEW、ALTERDEFAULTALTER RULE 、ALTER INDEXDROP DA TABASE、DROP TABLE、DROP VIEW、DROP DEFAULTDROP RULE、DROP INDEX4、⾼级SQL选项GROUP BY、ORDER BY、DISTINCT、UNION5、常⽤SQL聚合函数SUM()、MAX()、MIN()、COUNT()、A VG()6、常⽤SQL函数GETDA TE()、CONVERT()、CAST()六、使⽤数据库画板创建数据库对象、数据管道的使⽤1、创建、修改与删除表、视图2、创建⾓⾊、登录帐号、⽤户3、创建主键、外键、索引及其作⽤4、创建与使⽤数据管道导⼊数据5、数据库画板中不得不注意的事项(恢复原来布局)七、创建存储过程、函数、触发器与游标CREA TE PROCEDURE、CREA TE FUNCTIONCREA TE TRIGGER、DECLARE CURSORALTER PROCEDURE、ALTER FUNCTION、ALTER TRIGGER DROP PROCEDURE、DROP FUNCTION、DROP TRIGGER ⼋、配置⽂件的⽣成与⽤法1、⽣成配置⽂件2、使⽤配置⽂件3、使⽤注册表项九、接对象的创建与⽤法创建与使⽤连接对象(声明实例对象)⼗、动态SQL的四种语法格式(help:Dynamic)1、没有输⼊与输出参数的SQL2、有输⼊参数没有输出参数的SQL3、有输⼊参数输出参数的SQL4、未知的返回结果集类型的SQL5、PB⾃带的系统表⽤法6、上机练习作业:按下图所⽰、制作出“商品类别录⼊”窗⼝与“商品单位录⼊”窗⼝第三章PB8语⾔及其系统函数⼀、Power Script语⾔的数据类型Blob(图像)Integer or Int 2^16(2*8)Boolean Long 2^32(4*8)Char or character(单个字符)RealDate StringDateTime TimeDecimal or Dec UnsignedInteger, UnsignedInt, or UInt decimal {3} ld_price Double UnsignedLong or ULong ⼆、Power Script语⾔的运算符1、算术运算符+、-、*、/、^(2^3=8)2、关系运算符=、>、<、>=、<=、<>3、连接运算符+ ‘a’+’b’=’ab’4、续⾏运算符& 两⾏或多⾏做为⼀⾏来执⾏5、逻辑运算符AND、OR、NOT6、特殊运算符适⽤于SQL语句IS、LIKE、NOT LIKE、BEWTEEN…AND、IN、NOT IN三、Power Script语⾔的注释1、⾏注释// int li_msg = 12、块注释/* int li_msg = 1 */3、注释的作⽤四、常量、变量、数组的定义与使⽤1、常量的定义与使⽤(CONSTANT int MIN = 1000)常量不允许修改2、变量的定义与使⽤数据类型变量名int li_max3、数组的定义与使⽤数据类型数组名[n,m] int li_demo[] int li_demo1[2 to 10]4、标识符的声明规范(变量与对象)五、Power Script语⾔的系统函数1.数组函数LowerBound The lower bound of dimension n of a specified array. UpperBound The upper bound of dimension n of a specified array.2.BLOB函数Blob Convert or copy data to a blob data typeBlobEdit Copy data into a variable starting at a given positionBlobMid Obtain characters in blob data starting at character n.Len Obtain the length of a blobString Convert a blob to a string3.数据类型转换函数Asc Obtain the ASCII value of a character.Char Obtain a blob, integer, or string as a char.Dec 把⼀个(数字)字符串转换为⼀个DEC类型的数dec(‘123.45’)=123.45 Double Obtain the contents of a string as a double.Integer Obtain the contents of a string as an integer.Long Obtain the contents of a string as a long.Real Obtain the contents of a string as a real.Date Obtain the date portion of a DateTime valueDateTime Obtain a date and a time as a DateTime value.IsDate Determine whether the specified string contains a valid dateIsNull Determine whether the argument is NULL.IsNumber Determine whether the specified string contains a number. IsTime Determine whether the specified string contains a valid time. String Obtain a date to a string formatted in a specified formatTime Obtain the time portion of a DateTime value4.⽇期时间函数Day The day (an integer between 1 and 31)DayName The name of the day of the weekDayNumber for example, Sunday is 1 and Wednesday is 4 DaysAfter The number of days one date occurs after anotherHour The time from which you want to obtain the hourMinute The time from which you want to obtain the minutesMonth The month (an integer between 1 and 12)Now系统时间RelativeDate The date that occurs n days after a given date RelativeTime The time that occurs n seconds after a given time. Second The number of seconds in the seconds portion of a given time. SecondsAfter The number of seconds one time occurs after another. Today系统⽇期Y ear The year (an integer between 1000 and 3000)5.⽬录⽂件函数FileClose (3)Close a fileFileCopy Copy a fileFileDelete Delete a fileFileExists Determine whether a file existsFileLength Obtain the length of a fileFileMove Move a fileFileOpen(1)Open a fileFileRead (2)Read a fileFileSeek Seek to a position in a fileFileWrite (2) Write to a file.ChangeDirectory Change directoryCreateDirectory Create a directoryDirectoryExists Determine if a named directory exists GetCurrentDirectory Get the name of the current directory GetFileOpenName Display Open File dialog. GetFileSaveName Display Save File dialog.RemoveDirectory Remove a directory6.数值函数Abs Obtain the absolute value of a number.ASin Obtain the arcsine of an angle. The angle is in radians.ACos Obtain the arccosine of an angle. The angle is in radians.A Tan Obtain the arctangent of an angle. The angle is in radians.Ceiling 返回⼤于给定值的最⼩整数ceiling(3.2) = 4Cos Obtain the cosine of an angle. The angle is in radians.Exp Obtain e raised to the power of x.Fact Obtain the factorial of x.Int 返回⼩于给定值的最⼤整数int(3.2) = 3Log Obtain the natural logarithm (base e) of a number.LogTen Obtain the decimal logarithm (base 10) of a number.Max Obtain the larger of two numbers.Min Obtain the smaller of two numbers.Mod Obtain the modulus of two numbers (for example :mod(1,2)=1)余数Pi Obtain pi (3.14159265358979323) times a number.Rand Obtain a random whole number (between 1 and a specified number). Rand(10) Randomize Initialize the random number generator.Round Obtain a number rounded to a number of decimal places.Sign Obtain a number (-1, 0, or 1) indicating the sign of a number.Sin Obtain the sine of an angle. The angle is in radians.Sqrt Obtain the square root of a number.Tan Obtain the tangent of an angle. The angle is in radians.Truncate Obtain a number truncated to a specified number of decimal places.7.打印打印机函数Print Print a string in the current font.PrintBitmap Print a specified bitmap image at a specified location in the print area.PrintCancel Cancel printing.PrintClose(3)Close the print job and sends the page to the printer.PrintDataWindow(2)Print a DataWindow with other DataWindows in a print job.PrintDefineFont Define a font for the print job.PrintLine Print a line of a specified thickness at a specified location.PrintOpen(1)Start the print job and assigns it a print job number.PrintOval Print an oval with a specified line thickness at a specified location.PrintPage Send the current page to the printer and sets up a new blank page.PrintRect Print rectangle with specified line thickness at a specified location.PrintRoundRect Print round rectangle with specified line thickness specified location.PrintScreen(2)Print the screen image as part of a print job.PrintSend Send a specified string directly to the printer.PrintSetFont Set the current print job font to one of the defined fonts.PrintSetSpacing Sets the spacing factorPrintSetup Call the Printer Setup dialog box for the printer driver.PrintText Print specified text at a specified location.PrintWidth Return the width (1/1000s inch) of the specified string.PrintX Return the X coordinate of the cursor.PrintY Return the Y coordinate of the cursor.// 打印机函数PrintGetPrinter Get the name of the current printerPrintGetPrinters Get the names of available printersPrintSetPrinter Set the default printerPrintSetupPrinter Display the printer setup dialog box8.注册表函数RegistryDelete Delete a key or value for an entry in the system registry. RegistryGet从注册表读取信息RegistryKeys Get the subkeys available for a particular key.RegistrySet向注册表写⼊信息.RegistryV alues Get the set of named values for a particular key.9.字符串函数Asc The ASCII value of the first character of a string.Char The character that corresponds to an ASCII value.Fill A string of a specified length filled with occurrences of a specified string. LastPos The last position of a string within a specified string.Lastpos(‘adaddadda’,’da’)Left A specified number of characters from a string, starting with the first character. LeftTrim A copy of a specified string with leading blanks deleted.Len 求字符串的字符个数Lower A copy of a specified string with all uppercase letters converted to lowercase. Match A determination whether a string contains a particular pattern of characters. Mid从给定的字符串中取⼀个指定的⼦串mid(‘abcde’,2,3)=’bcd’Pos pos(‘abcde’,’bc’)=2Lastpos(‘adaddadda’,’da’)=8Replace A copy of a specified string in which a specified number of characters Reverse Reverses the order or characters in a string.Right A specified number of characters from the end of a specified string. RightTrim A copy of a specified string with trailing blanks deleted.Space A string of a specified length filled with a specified number of spaces.Trim A string with leading and trailing blanks deleted.WordCap Capitalize the first letter of each word in a passed scriptUpper all lowercase letters converted to uppercase.10.系统与环境函数Clipboard Obtain the contents of the Windows clipboard CommandParm Retrieve the parameter stringGetApplication Gets the handle of the current Application object GetEnvironment about system, processor, and screen display of the system GetFocus 返回当前具有焦点的控件Handle Obtain the Windows handle of a PowerBuilder object.Post Adds a specified message, wordProfileInt Obtain an integer from a specified profile fileProfileString Obtain a string from a specified profile fileRestart and disconnects from the database, and restarts the application Run Execute (run) a specified programSend sends a specified message, lowword, or long to a specified window SetProfileString Write a value to a specified profile fileSignalError Cause a SystemError event at the application levelYield checks the message queue11.定时函数CPU Obtain the number of milliseconds of CPU time elapsed.Idle 必须在应⽤对象中作⽤Start Activate a timing object causing a Timer eventTimer定时函数,在窗⼝对象中使⽤12.未归类函数Beep Cause the computer to beep a specified number of times. ChooseColor Display the standard color selection dialog box. ClassName Determine the data type of a variable.DebugBreak Suspend execution and opens the Debug window. GetFolder Display a folder selection dialog box.IntHigh Obtain the high word of a long value.IntLow Obtain the low word of a long value.IsV alid Determine whether a specified window is openKeyDown Determine whether the user pressed a specified key MessageBox Display a box containing a message.PixelsToUnits Convert pixels to PowerBuilder unitsPopulateError Fill in the Error object without causing a SystemError event.RGB Determine the long that represents a specified color.SetNull Set any variable to NULLSetPointer Set the pointer to a specified typeSignalError Cause a SystemError event at the application level.Sleep Cause the application to pauseUnitsToPixels Convert units to pixels六、变量的类型与作⽤域1、全局变量及作⽤域在程序的任何地⽅都起作⽤。

PowerBuilder8安装手册

PowerBuilder8安装手册
图52单击确定如图52所示图53单击否如图53所示图54单击确定如图54所示图55单击否如图55所示图56单击确定如图56所示图57单击next如图57所示
PowerBuilder8安装
. 打开到PB8.0原程序所在的光盘或目录中,双击安装程序“SETUP”图标,之后系统自动弹出安装界面,如图-46所示;
图-46
. 单击“Next”,如图-46所示;
图-47
. 单击“Yes”,如图-47所示;
图-48
. 单击“Next”,如图-48所示;
图-49
. 单击“Next”,如图-49所示;
图-50
. 单击“Next”,如图-50所示;
图-51
. 只勾选“PowБайду номын сангаасrBuilder”,单击“Next”,如图-51所示;
. 接下来的步骤,等到系统重新启动后,选择默认选项,单击“Next”即可完成PowerBuilder 8.0的安装!
图-52
. 单击“确定”,如图-52所示
图-53
单击“否”,如图-53所示
图-54
单击“确定”,如图-54所示
图-55
. 单击“否”,如图-55所示
图-56
. 单击“确定”,如图-56所示
图-57
. 单击“Next”,如图-57所示;
图-58
. 单击“Next”,如图-58所示;
图-59
. 点选“Install without Web Targets functionality”,单击“Next”,如图-59所示;

PB培训第二章PB的集成开发环境

PB培训第二章PB的集成开发环境
16
2.7PB画板
Power Builder8.0的集成开发环境 的集成开发环境
2.7.1 使用PB画板 在PB中,各种对象的开发和设计都是在PB 的画板中进行的。画板就是PB在工作区打开 的窗口,而这个窗口包含了若干个称为视图 的子窗口。 打开某个对象时,PB会自动打开与之对应 的画板。画板的大小和位置可以通过PB菜单 栏的Window菜单控制。
5
Power Builder8.0的集成开发环境 的集成开发环境
6. 7. 8.
2. 2PB8.0的主界面
Power Builder8.0的集成开发环境 的集成开发环境
标题条
菜单条
系统 树
工具 条
工作 区
剪贴窗 口
状态 条 输出窗口
6
2.3工具条
Power Builder8.0的集成开发环境 的集成开发环境
别针定住标题栏 别针未用,标题栏可自动隐藏
19
2.7PB画板
Power Builder8.0的集成开发环境 的集成开发环境
2.7.3 常用视图 Script 视图:允许我们进行PowerScript编程的视图即为Script视 图。该视图的标签在画板中通常会被显示成它所编辑的事件 或函数的名称。我们可以把Script视图当成普通的文件编辑器 来处理。
4
Power Builder8.0的集成开发环境 的集成开发环境
2.
3. 4.
2.1POWERBUILDER安装
5. 2.1.3 POWERBUILDER 术语简介 属性:是对对象和控件的描述。属性既可以在程序 设计阶段通过相应画板的属性视图来进行修改,也 可以在程序运行时通过代码操作进行修改。 事件:PB应用程序时消息(又叫事件)驱动的,用 户可以通过事件响应来控制应用程序的流向。 函数:对对象,比如窗口、控件的操作称为函数, 也叫方法,通过函数可以对对象进行固有的操作。 脚本:PB中通过使用PowerScript脚本语言编写脚本。 脚本包括PowerScript函数、表达式和对事件响应处 理的语句。脚本可以激发事件。

用PB8的Web DataWindow DTC开发Web应用

用PB8的Web DataWindow DTC开发Web应用

用PB8的Web DataWindow DTC开发Web应用
华铨平
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2003(000)007
【摘要】浏览器/Web服务器+应用服务器/数据库服务器的三层或多层体系结构已成为当今应用开发技术的主流,本文着重介绍PowerBuider 8.0的Web Data WindowDTC的使用,阐述瘦客户技术的实现.
【总页数】4页(P73-75,79)
【作者】华铨平
【作者单位】东南大学计算机科学与工程系,南京,210096
【正文语种】中文
【中图分类】TP3
【相关文献】
1.Web应用防护的“利器”——东华Web应用防火墙系统V4.0 [J], ;
2.运营商Web应用安全性管理浅析——从全生命周期构建安全的Web应用 [J], 安诺
3.利用PB8和EAServer进行多层Web应用开发 [J], 李文华
4.走出Web应用防火墙认识误区——谁能保护Web应用? [J],
5.TRS Web应用即将升级:TRS Web Application Seiven3.0再次确定TRS在Web应用 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。

PB8到PB11

PB8到PB11

PB8到PB11.5功能改进1PB9功能改进(生命周期至2006.12.09)1.1PB9.0功能改进1.1.1DataWindow XML supportDataStore、DataWindow导入、导出为XML1.1.2PowerBuilder Document Object ModelPBDOM编程接口1.1.3PowerBuilder Native Interface1.1.4JSP targets1.1.5Web services for JSP clients1.1.6Web services for Windows clients1.1.7EJB clients for third-party application servers1.1.8XML and CSV import and saveDataWindow、Graph object导入、导出为XML、CSV1.1.9Saving as PDF and XSL-FODataWindow数据导出为PDF、XSL-FO1.1.10The OrcaScript languagePB批处理脚本语言,通过命令行工具OrcaScr9执行1.1.11PowerBuilderRuntime PackagerPB运行时发布工具,可以将PB运行时制作为独立安装包1.1.12PowerBuilder Resource Monitor1.1.13Source control enhancements1.1.14DataWindow enhancements新属性:DataWindow.Print.ClipText、DataWindow.Print.OverridePrintJob、DataWindow.Print.PrinterName属性增强属性:DataWindow.Print.Collate、DataWindow.Print.Copies1.1.15PowerScript enhancementsEnvironment对象新属性:PBBuildNumber新系统函数:AddToLibraryList、XMLParseFile、XMLParseString增强系统函数:GetFileOpenName、GetFileSaveName,增加参数initdir(初始路径)、aFlag(对话框标志)新数据类型及其相关函数:LongLong(64位整形)1.1.16Debugger enhancements1.1.17Database connectivity enhancements支持Oracle9i中的连接池和NCHAR、NVARCHAR2、LOB数据类型,支持Unicode数据库1.1.18Miscellaneous enhancements1.2.1User interface enhancements for XP look and feelXP风格用户界面1.2.2PBNI support for Any variables and valuesPBNI支持Any型变量1.2.3PBX_DrawVisualObject function for PBNI visual objectsPBNI可视对象新增函数PBX_DrawVisualObject1.2.4PBNI source files in public directory1.2.5SetProxyServerOptions function for SOAP Web servicesSoapConnection对象函数SetProxyServerOptions1.2.6Heap manager included in pbvm90.dlllibjsybheap.dll中的函数被移到pbvm90.dll中1.2.7Hiding the JSP Page view1.2.8New menu options in the SQL Select and Query paintersSQL Select和Query画笔中的Where和Having视图增加了两个快捷菜单项:Insert Clause 和Delete Clause1.2.9New Excel format for saving data数据窗口数据导出支持Microsoft Excel 97格式1.2.10New DBParm: PBNewSPInvocation新增DBParm参数PBNewSPInvocation1.2.11Additional changesChanged behavior of Extend Ancestor Script menu itemInherited controls and menus cannot be copiedUsing masks with "as is" charactersFormat of WMF files saved from DataWindows changedMTS/COM+ components must be redeployed1.3.1Support for Windows 2003 Server支持Windows 2003 Server作为开发环境1.3.2PBNI result set accessor functionsPBNI中增加了DataWindow和DataStore结果集访问函数CreateResultSet,、GetResultSetAccessor、ReleaseResultSetAccessor1.3.3Environment variables1.3.4TimeStamp database parameter1.3.5PWExpDialog database parameter1.3.6DefaultProcOwner database parameter1.3.7Properties for custom printer page数据窗口新增属性Print.Paper.Size、Print.CustomPage.Length、Print.Custom.Page.Width 1.3.8Context menus for PBD files1.4.1PasteLowercase PB.INI option1.4.2Exporting and importing XML with CDATA sections 1.4.3Changes in the Release database parameter1.4.4OJSyntax parameter now available for SYC1.4.5Configuring Java VM initialization2PB10功能改进(生命周期至2007.07.05)2.1PB10.0功能改进2.1.1PowerDesigner plug-inPowerBuilder中的PowerDesigner插件2.1.2XML Web DataWindow2.1.3DataWindow .NET在支持.NET Framework的开发环境中使用数据窗口和数据存储2.1.4Unicode supportPB10使用Unicode编码2.1.5New controls增加了Animation(动画)控件和MonthCalendar(月历)控件2.1.6UDDI support for Web services可以在PowerBuilder和JSP Web Service Proxy向导中使用UDDI浏览器选择一个Web service,也可以使用UDDI PBNI扩展像应用程序中添加UDDI浏览器2.1.7EAServer components as Web services可以将EAServer组件作为Web service2.1.8SOAP processing methods for Web servicesWeb services提供一些用于各种平台和框架下不同组件之间互动的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、PowerBuilder 8.0设计基础
(一)PB8中的关键概念
1.对象(Object)、属性(Property)、事件(Event)
在所有面向对象的编程工具中,对象都是一个最基本的概念。 PB8中提供了诸如窗口、命令按钮、数据窗口等图形对象 以及数据仓库、错误等非可视对象。对象通过属性对其特征进行描述和区分。例如,一个窗口对象,其属性包括窗口 名、菜单名、是否可见、背景色、宽度、高度、在屏幕中所处的位置等。而用户对对象的操作则是通过对对象进行诸如 点击、双击、拖动等动作来实现的,在动作发生时,“事件”即被触发。
2.窗口(Window)和控件(Control)
窗口是应用中所有可视对象的载体,也是应用与用户直接交互的直观途径。PB8中提供了丰富的控件,你可以在窗口画板 工具栏的控件箱中找到它们。总的来说有五种类型的控件:
(1)激活动作控件:包括Commandbutton(命令按钮)、PictureButton(图像按钮)和PictureHyperLink(图像超链 接)、StaticHyperLink(静态超链接)控件。
/xxgcx/zsyd/ç¨ åº è®¾è®¡è¯è¨ /PowerBuilder%20... 2002-12-7
PowerBuilder 8.0开发指南
页码,5/11
CONNECT:连接一个数据库事务对象。
DISCONNECT:断开已连接的一个数据库事务对象。
3.封装性
封装的目的是为了实现数据隐藏和数据保护。封装为对象提供了对外操作的接口,使其他对象通过函数来访问,而不允 许直接操纵对象的属性。在PB8中有三种访问类型Public、Protect、Private,这三种访问控制类型可以用在对象的变量 和函数上,缺省的实例变量和对象函数都是Public类型的。为保护数据,应尽可能使用Private和Protect类型,前者只 允许对象内部的元素来访问,后者可以接受对象内部和继承类的元素访问。
(二)PowerBuilder 8.0面向对象的特性
提到一门语言的面向对象特性,它应当具有继承性、多态性和封装性,如缺少其中的一个都只能称其为基于对象的系 统,而不是面向对象的系统,而PB8则很好地具备了全部三个特性。
1.继承
在PB8中,只有窗口、菜单和用户对象是可以继承的。一旦继承了一个对象,所得到的子类将具有祖先类的属性、实例变 量、共享变量、控件、用户自定义事件、对象级函数、事件和代码(Script)。也就是说一旦继承了一个类,就几乎得 到了这个类的全部。不过值得注意的是,在子类中可以修改、添加但不能删除任何一个继承到的特性。
(1)PowerScript 目标:是一个C/S的(或多层的)可执行应用或一个服务器组件。
(2)Web 目标:是一个Web应用,包括HTML文件、脚本、图片、下载组件等建立一个Web站点所必须的一切元素。
4.库文件(library)
每个目标是由一个或多个库文件组成的,所有编译过的对象都被储存在其中。当执行应用时,PB8从库文件中取得相应的 对象进行处理。库文件被命名为*.pbl。
重载函数是面向对象程序设计的重要特性,即同一函数名却有着不同的参数和返回值。在运行时,系统自动寻找执行参 数相匹配的那个函数,
对于对象的继承,PB8中所有对象都有其共同的基类PowerObject,从这一个基类下面分成继承Graph-icObject和 NonVisualObject等。
2.多态性
在PB8中有大量的多态函数,如Print()、TriggerEvent()等。在运行过程中,你只需要指出对象和函数名即可。在有些 函数中,即使不知道对象类,也可以用Class Name()函数得到对象类,或得到实例名,将对象名作为函数参数调用该函 数。
(3)指示选择控件:包括RadioButton(单选按钮)和CheckBox(复选框)。
(4)装饰界面控件:包括GroupBox(组框)、Line(线)、Picture(图片)、Rectangle(矩形)、RoundRectangle (圆角矩形)、Oval(椭圆)。
(5)其他辅助控件:包括HprogressBar(水平进度条)、HscrollBar(水平滚动条)、HtrackBar(水平轨道条)、OLE (OLE控件)、Tab(标签页)、VprogressBar(垂直进度条)、VscrollBar(垂直滚动条)和VtrackBar(垂直轨道 条)。
一、安装PowerBuilder 8.0
PB8的安装过程采用InstallShield标准,安装过程极为简单此处不再赘述。需要注意的是,在安装时要选中 PowerBuilder 8.0和Adaptive Server Anywhere 7.0.1两项,否则安装后会无法联接数据引擎。在安装过程中会提示你 安装DCOM98.exe,该文件在与OLE DB进行联接或远程调试一个Web站点时是必需的,但安装盘中并未提供该文件。如果你 只进行一般的C/S模式MIS开发,可以忽略该信息,你也可到/com/dcom/dcom98/download.asp 下载(在VB6里也可找到)。
(2)输入和显示数据控件:包括DataWindow(数据窗口)、DropDownListBox(下拉列表框)、 DropDownPictureListBox(下拉图片列表框)、EditMask(编辑屏蔽)、Graph(图表)、ListBox(列表框)、 ListView(列表视图)、MultiLineEdit(多行编辑框)、PictureListBox(图片列表框)、RichTextEdit(大文本编辑 框)、SingleLineEdit(单行编辑框)、StaticText(静态文本)和TreeView(树形视图)。
在继承了祖先类后,你可以在子类中扩展或覆盖祖先的元素。例如代码,在PB8中缺省的是采用扩展方式,先执行继承到 的祖先代码,后执行子类的扩展代码。你也可以选择 “Compiler→Override Ancestor Script” 菜单命令,只执行子 类的代码,并可在代码中的任意位置调动祖先代码。如,CALL w_l∷open语句行。
/xxgcx/zsyd/ç¨ åº è®¾è®¡è¯è¨ /PowerBuilder%20... 2002-12-7
PowerBuilder 8.0开发指南
页码,4/11
其中CHOOSE CASE 的格式为: CHOOSE CASE 表达式 CASE 值1 语句块 { CASE 值2 语句块 ...CASE 值3 语句块 } CASE ELSE 语句块 } END CHOOSE (4)循环语句:(DO…LOOP,FOR…NEXT,GOTO) 其中DO…LOOP的格式有如下几种: ①DO UNTIL 条件: 语句块 LOOP ②DO WHILE 条件: 语句块 LOOP ③DO: 语句块 LOOP UNTIL 条件 ④DO: 语句块 LOOP WHILE 条件 (5)事务管理语句: COMMIT:向数据库提交一个更新处理。 ROLLBACK:取消对数据库事务对象所作的更新。
页码,3/11
(NOT、AND、OR)以及连接运算符(+)。其中连接运算符“+”用于连接两个同为String类型或Blob类型的变量或常量 的内容,例如:“Power”+“Builder”得到“PowerBuilder”。运算符优先级的排列顺序为:算术运算符(或连接运算 符)、关系运算符、逻辑运算符。 3.变量与常量 变量可以是一个标准数据类型,也可以是一个对象。定义对象的语法如下: 数据类型 变量名(=初值) 如:Integer li_sum=7 (定义一个初值为7的整型变量li_sum) Window w_main (定义一个窗口变量w_main) 根据变量作用域的不同,可将变量划分为全局变量、实例变量、共享变量和局部变量。 常量的定义语法为: CONSTANT 数据类型 常量名=常量值 一经声明,常量值就不可再修改。 4.数组和结构(Structure) 数组是一组相同数据类型的变量或常量的集合。数组有一维数组和多维数组两种类型。后者必须有一个固定的大小,而 前者可为无界数组。 结构也是一组变量或常量的集合。与数组不同的是,组成结构的元素可以是不同的数据类型。 5.函数 PowerScript提供了丰富的内部函数,可以利用这些函数来对应用程序的各种对象和控件进行处理。如打开窗口的函数、 关闭窗口的函数、使按钮有效的函数、获取数据的函数和更新数据库的函数等等。除此以外,我们还可以定义自己的函 数来执行某种特殊的处理过程。函数调用的语法为: {objectname.}{type}{calltype}{when} functionname ({argumentlist}) 这些参数的说明如下: type:所调用方法的类型,可以是EVENT或FUNCTION,其中FUNCTION为缺省。 Calltype :所调用的类型,可以是动态(关键词为DYNAMIC)或静态(关键词为STATIC),其中STATIC为缺省。 When :调用的时间,POST或TRIGGER,其中TRIGGER为缺省。 下表中,我们给出了PowerScript的数据转换函数。 6.语句 在PowerScript中提供了丰富的语句结构,下面是部分常用的语句。 (1)赋值语句:变量名=表达式 (2)调用语句:Call 祖先对象名{控件名} ::事件 (3)条件选择语句:(CHOOSE CASE 和 IF…THEN)
(三)PowerScript语言简介
1.数据类型
PB8中支持的标准数据类型在许多编程语言和数据库服务器之间都是通用的。有数值类型(Integer、Decimal、Double、 Long、Real等)、字符类型(String、Char)、日期类型(Date、Datetime、Time)、逻辑类型(Boolean)、以及二进 制大型对象类型Blob等。
PowerBuilder 8.0开发指南
页码,1/11
PowerBuilder 8.0开发指南
杨志鸿 PowerBuilder是美国Powersoft公司开发的客户机/服务器应用程序开发工具,它所采用的图形用户界面使得程序员能够 快速容易地开发出相互独立的对象,而这些对象可供其他程序员共享或重复使用。作为专门的数据库应用系统开发工 具,PowerBuilder在C/S结构的MIS开发中表现出众,深得用户青睐。其最新版本是PowerBuilder 8.0(以下简称PB8)。
相关文档
最新文档