首页 > 编程知识 正文

pb语言教程,pb怎么学

时间:2023-05-03 22:16:41 阅读:244664 作者:3958

一.基础语法规则 1.注释行 1)作用域从双斜杠(//)开始,到该行尾结束. 2)块注释 作用域从结束,其中包含的代码全是注释内容. 2.大小写 一般不区分大小写. 3.标识符 1)必须以字母开头(A到z),其余字符可以是字母或者数字,最长为40个字符. 2)可以使用的特殊字符有 连接符:- 下划线:_ 美元符:$ 号码符:# 百分号:% 不可使用空格. 4.续行符&: 它可以使一条语句分多行编写. 例: name="wangying& ping" 5.分隔符";" 在一行写多条语句 例: Integer i;a=b+c;i=a 二.运算符 四种运算符: 算术运算符 关系运算符 逻辑运算符 字符串连接运算符:"+" 三.数据类型 1.标准数据类型  数据类型  含义  Blob 二进制大对象,用于保存大量的数据,如:位图,大文本等.   Boolean  布尔型,True或False  Char  单个ASCII字符  Date  日期,包括年,月,日  Datetime  将日期和时间合并为一个数据类型.  Decimal  有符号的十进制数,最大精度可达18位.  Double  有符号的浮点数,精度为15位,范围从2.2E-308到1.7E+308  Int  16位有符号数,范围从-32768到+32767  Long  32位有符号数,范围从-2,147,483,648到+2,147,483,648  Real  有符号的浮点数,精度为6位,范围从1.17E-38到3.4E+38  String  ASCII字符串,长度从0到59,999  Time  24小时制时间,即小时,分,秒及秒的小数位(长度位)  Uint  16位无符号整数,范围从0到65,535  Ulong  32位无符号整数,范围从0到4,294,967,295 2.系统对象数据类型 3.枚举数据类型 枚举变量可以赋值给一组固定的值,该固定值以叹号(!)结束. 四.变量 1.作用域 1).Global全局变量 在整个应用程序中都可访问的变量. 2).Instrance实例变量 该类型的变量在一个对象(窗口,菜单,应用程序等)中定义,可以在该对象的任何处访问它们. 3).Shared共享变量 Shared与Instrance的相同之处也是在一个对象中定义的,不同之处是Instrance只与该对象的某个事例相关,而Shared与该对象的类相关.因此可以为该对象类的所有事例访问. 4).Local局部变量 在脚本中定义,因此也仅可在脚本中使用. 2.Instrance的访问权限 1)Public PB缺省的访问权限. 2)Private 仅可在定义变量的对象的脚本中访问. 3)Protected Protected变量的访问权限与Private变量相似,但Protected变量不仅可以为声明它的变量访问,还可以为继承它的对象的脚本访问. 以上是3种基本的访问权限,此外Instrance还支持如下4种扩展的访问权限. .ProtectedRead:只有定义变量的对象和其后代的脚本才有权对该变量执行读操作. .ProtectedWrite:只有定义变量的对象和其后代的脚本才有权对该变量执行写操作. .PrivateRead:只有定义变量的对象的脚本方可对该变量挂靠 读操作. .PrivateWrite:只有定义变量的对象的脚本方可对该变量执行写操作. 五.常量 1.声明常量使用关键字Constant 例: constant Integer lizi_code=20 定义常量并对其赋值后不可修改. 六.数组 数组是有序的变量的集合. 数组可分为: .一维数组 .二维数组 .多维数组 .动态数组 1.一维数组 1)声明数组 声明时设置数组的下标 例: Integer A[4] 一个名为A的整型数组,数组中包含的元素为:A[1],A[2],A[3],A[4] 注:在缺省情况下,数组元素的下标值从1开始,直到声明的设定值. 如有特殊要求,也可以在下标中指明. 例: Integer B[3 To 10] 不例声明的数组B包括下标值从3到10的8个元素,即从B3到B10. 2)赋值 .可以一次为一个数组元素赋值:B[3]=15 .也可以一次为多个数组元素赋值: Integer Code[5] Code={1,2,3,4,5} 2.动态数组与多维数组 1)动态数组 .动态数组即不定长数组. .当定义数组时如果不知道数组的长度,则应使用动态数组. 声明动态数组时,在方括号中不设定数组的下标: Integer Li[] 2)二维数组及多维数组 .定义数组时,下标用逗号分开.例: Integer Lizi[2,3] 七.代词 .当引用一个对象时,可以不使用该对象的名称,而使用相应的代词. This Parent Super 1.This 其代替对象本身. 例一个命令按钮:cb_close This.enabled=false 等价于: cb_close.enabled=false 2.Parent .表示所在对象的父对象 例在一个窗口w_main中有一个按钮,在其按钮中有一命令: Close(Parent) 等价于: Close(w_main) 3.Super .只有在处理继承时才使用Super代词,Super用于引用一个后代对象的直接祖先. 例如,如果要在当前窗口的Close事件中执行其祖先窗口w_ance的Close事件脚本,应在当前窗口的Close事件中添加如下代码: Call Super::Close 等价于 Call w_ance::Close 八.语句 1.流程控制 1)IF THEN语句 . If condition then action
End  if . If condition1 then Beep(1)
elseif condition2 then Beep(2)
else Beep(3)
end  if Beep(1)喇叭响一下;  Beep(2)喇叭响二下;  Beep(3)喇叭响三下. 2)CHOOSE CASE .choose case testexpression case expressionlist
statementblock
{...}
{case else statementblock}
end choose .textexpression:要测试的表达式 .expressionList:表达式列表,有如下方式: (1)一个单独的值,如3,"ab"等. (2)一组用逗号分开的值,如:1,3,5,7. (3)用to表示的一个区间的数据,如:1 to 20. (4)用IS表示测试值,再加上关系运算符和比较值,如: IS<20. (5)以上方式的结合使用,之间用逗号分开. 3)DO...LOOP .循环语句 .有4种格式 (1) DO UNTIL condition statementblock
LOOP 执行循环语句,直到condition条件表达式为True.如果第一次测试表达式的值就为True,则不执行循环体中的语句. 例: Integer A=1 do until A>10 Beep(A)
A=A+1
loop 上例重复执行Beep函数,直到A大于10为止. (2) do while condition statementblock
loop 当condition条件表达式为True,执行循环语句.如果第一次测试表达式的值为False,则不执行循环体中的语句. 例: Integer A=1 do while A<=10 Beep(A)
A=A+1
loop 当A小于等于10时,重复执行Beep函数. (3) do statementblock
loop until condition 这种循环语句至少运行一次,直到condition条件表达式的值为True时为止. (4) do statementblock
loop while condition 这种循环语句至少运行一次,当condition条件表达式的值为True时继续运行,直到condition条件表达式的值为False时为止. 4)FOR...NEXT for varname=start to end {step increment} statementblock
next 其中: .varname:循环变量 .start:起始值 .end:终止值 .increment:步长 2.其它语句 1)HALT 中断应用程序的执行. 格式: HALT {CLOSE} 说明: 如果语句中有CLOSE选项,则执行应用程序的CLOSE事件处理程序. 中断之前,首先执行应用程序的CLOSE事件处理程序. 2)CREATE .创建非可视类用户对象 .在 PB语言中,有两类用户对象: (1)可视类 (2)非可视类 用户对象. 创建可视类用户对象使用Open()函数. 创建非可视用户对象要使用CREATE语句. 格式: objectvariable=creatE objecttype .objectvariable:对象变量 .objecttype:对象数据类型 例: transaction DBTrans DBTrans=create transaction DBTrans.DBMS="ODBC" 3)DESTROY 删除由CREATE语句创建的对象 格式: destroy objectvariable 4)RETURN 从脚本中返回调用程序. 例: if arg2<>0 then return arg1/arg2
else return -1
end  if

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。