PB基础语句.docx

上传人:b****0 文档编号:9014881 上传时间:2023-05-16 格式:DOCX 页数:9 大小:18.96KB
下载 相关 举报
PB基础语句.docx_第1页
第1页 / 共9页
PB基础语句.docx_第2页
第2页 / 共9页
PB基础语句.docx_第3页
第3页 / 共9页
PB基础语句.docx_第4页
第4页 / 共9页
PB基础语句.docx_第5页
第5页 / 共9页
PB基础语句.docx_第6页
第6页 / 共9页
PB基础语句.docx_第7页
第7页 / 共9页
PB基础语句.docx_第8页
第8页 / 共9页
PB基础语句.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PB基础语句.docx

《PB基础语句.docx》由会员分享,可在线阅读,更多相关《PB基础语句.docx(9页珍藏版)》请在冰点文库上搜索。

PB基础语句.docx

PB基础语句

PB基本语句循环语句

PB基本语句

一、赋值语句

赋值语句用于给变量、对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:

variablename=expression

其中:

⑴variablename是变量名或对象属性;

⑵expression是表达式,其数据类型应该与variablename的数据类型兼容。

下面是赋值语句的几个简单示例:

    

Address="北京"    

TaxRate=.05    

Age=30    

mle.text="北京欢迎你"

PowerScript的赋值语句不支持多重赋值,也就是说,一条赋值语句只对一个变量赋值,不能同时对多个变量赋值。

下面的语句:

A=B=0

在有些编程语言中同时把A和B均赋值0,但PowerScript中,该语句等价于:

A=(B=0)

其意义为,检查B等于0是否成立,成立时将TRUE赋给变量A,否则把FALSE赋给变量A。

如果A不是Boolean类型的变量,则上述语句将引起编译错误。

二、条件语句

IF语句有两种形式,下面我们按照从简单到复杂的次序逐一介绍。

1.单行IF...THEN语句

单行IF...THEN语句的格式为:

IF逻辑表达式THEN语句1[ELSE语句2]

单行IF...THEN语句书写时整条语句写在一行上,当逻辑表达式的结果为True时执行语句1,否则执行语句2(如果有该子句的话)。

例如:

IFsle_State.text="BJ"THEN  MessageBox("欢迎","北京")

2.多行IF...THEN语句

多行IF...THEN语句的语法格式为:

IF逻辑表达式1THEN

        语句1

[ELSEIF逻辑表达式2THEN

    语句2     

...  

][ELSE   语句n]

ENDIF

本语句的执行过程为:

计算逻辑表达式1,如果其结果为True,则执行语句1,然后离开整个IF语句;否则计算逻辑表达式2,如果其结果为True,则执行语句2,然后离开整个IF语句;...如果逻辑表达式的结果都是False,且存在ELSE子句,则执行语句3。

例1:

从单行编辑框中输入考分,按“输入”按钮再根据考分显示及格或不及格。

Integers

s=integer(sle_1.text)      //sle_1text单行编辑框文本

Ifs<60then

  St_1.text=“不及格”  //St_1.text静态编辑框文本

Else

  St_1.text=“及格”

Endif

例2:

从单行编辑框中输入考分,按“输入”按钮后,再根据考分显示优、良、中、及格或不及格。

Integers

s=integer(sle_1.text)      //sle_1text单行编辑框文本

ifs>=90then

St_1.text=“优”

elseifs>=80then

  St_1.text=“良”

elseifs>=70then

  St_1.text=“中”

elseifs>=60then

  St_1.text=“及格”

else

St_1.text=“不及格”

endif

3.CHOOSECASE语句

根据测试表达式的值选择不同的操作,其语法格式为:

CHOOSECASE测试表达式

    CASE判断表达式

执行语句块

      [CASE判断表达式

语句块

...

       CASE判断表达式

语句块]

      [CASEELSE

语句块]

ENDCHOOSE

判断表达式可以使用如下的形式:

1.用逗号分隔的一组数据,例如:

2,4,7

2.用TO表示一个区间范围,例如:

2TO15

3.用IS代表测试值,后跟关系操作符和比较值,例如:

IS>30

4.组合运用上述三种方法,并用逗号进行分隔,例如:

5,6,8TO12,IS>20  

执行CHOOSECASE语句时,PowerBuilder将逐条查找CASE,如果找到与测试值相匹配的判断表达式,就执行该CASE后的语句块,然后执行ENDCHOOSE后的第一条语句。

如果CHOOSECASE语句中包含CASEELSE子句,则未找到任何匹配的CASE条件时,执行CASEELSE子句中的语句块。

例3:

从单行编辑框中输入考分,按“输入”按钮后,再根据考分显示优、良、种、及格或不及格。

(用choosecase重写例2)

integerf

Strings

f=integer(sle_1.text)

CHOOSECASEf

CASEIS>=90   //改进90to100

S="优"

CASE80TO89

  S="良"

CASE70TO79   

S="中"

CASE60TO69   

S="及格"

      CASE0TO59

S="不及格"

CASEELSE   

S="输入错,请重新输入!

"

ENDCHOOSE

St_1.text=string(S)

三、循环语句

各种语言都提供了自己的循环语句,PowerScript也不例外,它的循环语句有三种形式:

DO…LOOP、FOR…NEXT、GOTO,将前两种形式与EXIT和CONTINUE语句配合使用,可以完全抛弃GOTO语句,而且DO…LOOP本身有四种格式,丰富多采的表达方式为我们编写清晰流畅的程序提供了有效手段。

下面介绍PowerScript循环语句的格式、中途退出循环或中途开始下次循环的方法、以及循环嵌套的概念。

1DOLOOP循环

DOLOOP结构提供了一种基于某个条件的灵活的循环方法,它有四种形式,分别为:

 DOUNTILu<条件>…LOOP

 DOWHILEu<条件>…LOOP(类似c)

 DO…LOOPUNTILu<条件>

uDO…LOOPWHILE<条件>(类似c)

DO表示循环的开始,LOOP表示循环的结束,condition表示循环条件,是个逻辑表达式,其值为True或False。

(1)DOUNTIL…LOOP的语法格式为:

DOUNTIL<条件>

  语句块

LOOP

其执行过程为:

先计算条件condition,其结果为False时,执行语句块,接着再检查条件,直到条件的结果为True时退出循环。

例:

按计算按钮求s=1+2+3+…+10。

解1:

integeri=1,s=0

DOUNTILi>10

  s+=i

i++

LOOP

st_1.text=string(s)

(2)DOWHILE…LOOP的语法格式为:

DOWHILE<条件>

语句块

LOOP

其执行过程为:

先计算条件,其结果为True时,执行语句块,接着再检查条件,直到条件的结果为False时退出循环。

例:

按计算按钮求s=1+2+3+…+10。

解2:

integeri=1,s=0

DOWHILEi<=10

  s+=i

i++

LOOP

st_1.text=string(s)

(3)DO…LOOPUNTIL的语法格式为:

DO   

语句块

LOOPUNTIL<条件>

其执行过程为:

先执行语句块,然后计算条件,如果其结果为False,则继续执行语句块,直到条件的结果为True时退出循环。

例:

按计算按钮求s=1+2+3+…+10。

解3:

解1与解3完全等价

integeri=1,s=0

DO

  s+=i

i++

LOOPUNTILi>10

st_1.text=string(s)

(4)DO…LOOPWHILE的语法格式为:

DO   

语句块

LOOPWHILE<条件>

其执行过程为:

先执行语句块,然后计算条件,如果其结果为True,则继续执行语句块,直到条件的结果为False时退出循环。

例:

按计算按钮求s=1+2+3+…+10。

解4:

解2与解4完全等价

integeri=1,s=0

DO

  s+=i

i++

LOOPWHILEi<=10

st_1.text=string(s)

这四种循环结构中,前两种结构可以一次也不执行,后两种结构则至少执行一次。

实际上,只需要从前两种和后两种结构中各取其一就能表达所有的逻辑关系,但为了更清晰地表达条件,PowerScript还是提供了四种结构。

2FORNEXT循环

FOR…NEXT是个循环次数确定的循环结构,它使循环体内的语句执行规定的次数,其语法结构为:

FORvarname=startTOend[STEPincrement]   

Statementblock

NEXT

其中,varname是循环变量,可以是任意的数值类型,start、end分别是循环变量的初值和终值,increment是每次循环后循环变量的步长增量(缺省值为1),statementblock是一组语句,称做循环体,方括号表示该子句可以省略。

FOR…NEXT语句的执行过程为:

循环变量varname从start开始,到end为止,重复执行循环体,每执行一次,varname被重新赋值,新值为:

varname+increment。

另外,如果start和/或end在循环体内被修改,将影响循环次数。

例:

按计算按钮求s=1+2+3+…+10。

解5:

integeri,s=0

fori=1to10

  s+=i

next

st_1.text=string(s)

3EXIT(退出循环)

在循环语句的循环体中,当我们想在中途退出循环时,使用EXIT语句是个好办法,执行该语句后,程序的控制权转至循环语句后的语句,执行该语句后,程序的控制权转至循环语句后的语句。

在嵌套循环的情况下,EXIT语句退出当前层循环,而不是所有循环。

功能:

执行该语句后,程序的控制权转至循环语句后的语句。

例:

下列程序运行后,变量s中的值是多少?

integeri,j,s=0

fori=1to10

forj=1to10

    ifj>6then

    exit

    endif

  next

  s=s+i

next

4CONTINUE(继续循环)

功能:

在循环语句的循环体中,遇到CONTINUE语句后,将不执行CONTINUE语句后与循环结束前的所有语句,而开始新一轮循环。

四、返回语句与终止程序运行

   在编写事件处理程序或函数时,使用RETURN语句返回控制给用户或调用函数的地方。

当希望终止应用程序的运行时,使用HALT语句。

1RETURN语句

RETURN语句立即终止事件处理程序或函数的执行,把控制返回到调用程序。

语法格式:

RETURN[表达式]

功能:

RETURN语句立即终止事件处理程序或函数的执行,把控制返回到调用程序。

表达式值作为事件处理程序或函数的返回值返回。

2HALT语句

HALT语句用于终止应用程序的运行,其语法为:

HALT{CLOSE}

其中CLOSE是个可选项。

当HALT语句不带CLOSE选项时,该语句立即终止应用程序的运行;当HALT语句带CLOSE选项时,执行到该语句后,应用程序先执行应用对象的Close事件处理程序,之后再终止应用程序的运行。

 

OpenWithParm()

功能

带参数打开窗口,与打开窗口的Open()函数相似,OpenWithParm()有两种语法格式:

语法一、带参数打开编程时已知数据类型的窗口对象;

语法二、带参数打开程序运行后才能确定数据类型的窗口对象。

下面分别予以介绍:

语法一、带参数打开编程时已知数据类型的窗口对象语法

OpenWithParm(windowvar,parameter{,parent})

参数windowvar:

要打开窗口的窗口名,可以使用窗口画笔定义的窗口对象名,也可以使用该窗口对象的某个变量。

Open()函数把打开窗口的引用放置到windowvar变量中

parameter:

指定要传递给打开窗口的数据,该数据保存在Message对象的属性中,parameter参数的数据类型必须是下述三种类型之一:

String、Numeric、PowerObjectparent:

可选项,指定要打开窗口的父窗口,要打开窗口成为父窗口的子窗口,只有当要打开窗口需要成为某个窗口的子窗口时才需要指定该参数。

如果应用程序使用Open()函数打开某个子窗口或弹出窗口而又省略了该参数,那么当前活动窗口成为被打开窗口的父窗口返回值Integer。

函数执行成功时返回1,发生错误时返回-1。

如果任何参数的值为NULL,OpenWithParm()函数返回NULL。

用法消息对象Message有三个属性用于存储OpenWithParm()函数传递给打开窗口的数据。

根据parameter参数数据类型的不同,该参数的值保存在Message对象的不同属性中。

parameter参数的类型与使用的Message对象属性的对应关系为:

parameter参数的类型   使用的Message对象属性

数值类型               Message.DoubleParm

PowerObject(比如结构)Message.PowerObjectParm

字符串类型             Message.StringParm 

应用程序根据OpenWithParm()函数parameter参数的数据类型,从Message对象的不同属性中提取该函数传送给被打开窗口的值。

语法二、带参数打开程序运行后才能确定数据类型的窗口对象

语法

OpenWithParm(windowvar,parameter,windowtype{,parent})

参数

windowvar:

指定窗口变量名,Open()函数把打开窗口的引用放置到该变量中parameter:

指定要传递给打开窗口的数据,该数据保存在Message对象的属性中,parameter参数的数据类型必须是下述三种类型之一:

String、Numeric、PowerObjectwindowtype:

string类型,指定要打开窗口的数据类型,该参数指定的窗口数据类型必须与windowvar参数的类型相同或是windowvar类型的后继对象

parent:

可选项,指定要打开窗口的父窗口,要打开窗口成为父窗口的子窗口,只有当要打开窗口需要成为某个窗口的子窗口时才需要指定该参数。

如果

应用程序使用Open()函数打开某个子窗口或弹出窗口而又省略了该参数,那么当前活动窗口成为被打开窗口的父窗口

返回值

Integer。

函数执行成功时返回1,发生错误时返回-1。

如果任何参数的值为NULL,OpenWithParm()函数返回NULL。

示例1. 下面的代码从表中选择要打开窗口的类型,然后打开该窗口,并把单行编辑框sle_location的内容放置在消息对象的Message.StringParm属性中:

window w_to_open

string s_w_name, e_location

e_location = sle_location.Text

SELECT next_window INTO :

s_w_nameFROM routing_tableWHERE ... ;

OpenWithParm(w_to_open, e_location, s_w_name)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2