PB函数大全.docx
- 文档编号:9777919
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:191
- 大小:86.12KB
PB函数大全.docx
《PB函数大全.docx》由会员分享,可在线阅读,更多相关《PB函数大全.docx(191页珍藏版)》请在冰豆网上搜索。
PB函数大全
PB函数大全
一、数组函数
1、LowerBound()
功能:
得到指定数组第n维的下界。
语法:
LowerBound(array{,n})
参数:
array:
数组名。
n:
数值类型,可选项,指定要得到数组哪一维的下界。
缺省值为1。
返回值:
Long。
函数执行成功时返回array数组第n维的下界。
如果n的值超过了指定数组的最大维数,那么该函数返回-1。
如果任何参数的值为NULL,LowerBound()函数返回NULL。
示例:
integera[5],b[2,5]
LowerBound(a)//Returns1
LowerBound(a,1)//Returns1
LowerBound(a,2)//Returns-1,ahasonly1dim
LowerBound(b,2)//Returns1
integerc[]
LowerBound(c)//Returns1
c[50]=900
LowerBound(c)//Returns1
integerd[-10to50]
LowerBound(d)//Returns-10
2、UpperBound()
功能:
得到指定数组第n维的上界。
语法:
UpperBound(array{,n})
参数:
array:
数组名。
n:
数值类型,可选项,指定要得到数组哪一维的上界。
缺省值为1。
返回值:
Long。
函数执行成功时返回array数组第n维的上界。
如果n的值超过了指定数组的最大维数,那么该函数返回-1。
如果任何参数的值为NULL,UpperBound()函数返回NULL。
示例:
integera[5],b[2,5]
LowerBound(a)//Returns1
LowerBound(a,1)//Returns1
LowerBound(a,2)//Returns-1,ahasonly1dim
LowerBound(b,2)//Returns1
integerc[]
LowerBound(c)//Returns1
c[50]=900
LowerBound(c)//Returns1
integerd[-10to50]
LowerBound(d)//Returns-10
二、Blob(大二进制对象)函数
Blob函数得到Blob数据类型的信息、完成数据类型转换以及操作Blob类型数据。
1、Blob()
功能:
将字符串转换成Blob类型数据。
语法:
Blob(text)
参数:
text:
string类型,指定要转换的数据。
返回值:
Blob。
函数执行成功时返回转换后的Blob类型数据;如果text参数的值为NULL,则Blob()函数返回NULL。
示例:
BlobB
B=Blob(“北京”)
2、BlobEdit()
功能:
将任意类型的数据插入到Blob类型变量的指定位置。
语法:
BlobEdit(blobvariable,n,data)
参数:
blobvariable:
Blob类型的已初始化变量,将向该变量中插入数据。
n:
指定插入位置,有效值在1到4,294,967,295之间。
data:
要插入到Blob类型变量中的数据,其数据类型可以是任何有效的PowerBuilder数据类型。
返回值:
Unsignedlong。
函数执行成功时返回下次可以插入数据的位置;如果blobvariable变量中空间不够或任何参数的值为NULL,则BlobEdit()函数返回NULL。
示例:
下面的代码把一幅位图的数据复制到Blob类型变量emp_photo的起始位置,并把下次数据复制位置保存到变量nbr中,之后将当天的日期复制到emp_photo变量中位图数据的后面。
blob{1000}emp_photo
blobtemp
datepic_date
ulongnbr
...//ReadBMPfilecontainingemployeepicture
...//intotempusingFileOpenandFileRead.
pic_date=Today()
nbr=BlobEdit(emp_photo,1,temp)
BlobEdit(emp_photo,nbr,pic_date)
UPDATEBLOBEmployee
SETpic=:
emp_photo
WHERE...
3、BlobMid()
功能:
从Blob变量中提取出一段数据。
提取之后,原Blob变量内容不变。
语法:
BlobMid(data,n{,length})
参数:
data:
Blob类型的数据。
n:
指定要提取数据的起始位置,有效值在1到4,294,967,295之间。
length:
可选项,指定要提取数据的长度,以字节为单位,有效值在1到4,294,967,295之间。
缺省时提取从指定位置n到末尾的所有数据
返回值:
Blob。
函数执行成功时返回指定字节数的数据。
如果n的值大于data的字节数,函数返回空。
如果n与length的和超过了data数据的字节数,那么BlobMid()函数返回剩下的数据,数据长度将小于参数length的值。
如果任何参数的值为NULL,则BlobMid()函数返回NULL。
示例:
Inthisexample,thefirstcalltoBlobMidstores10bytesoftheblobdatablobstartingatposition5intheblobdata_1;thesecondcallstoresthebytesofdatablobfromposition5totheendindata_2:
blobdata_1,data_2,datablob
...//Readablobdatatypeintodatablob.
data_1=BlobMid(datablob,5,10)
data_2=BlobMid(datablob,5)
Thiscodecopiesabitmapintheblobemp_photostartingatposition1,storesthepositionatwhichthenextcopycanbegininnbr,andthencopiesadateintotheblobemp_photoafterthebitmapdata.Then,usingthedate'sstartposition,itextractsthedatefromtheblobanddisplaysitintheStaticTextst_1:
blob{1000}emp_photo
blobtemp
datepic_date
ulongnbr
...//ReadBMPfilecontainingemployeepicture
...//intotempusingFileOpenandFileRead.
pic_date=Today()
nbr=BlobEdit(emp_photo,1,temp)
BlobEdit(emp_photo,nbr,pic_date)
st_1.Text=String(Date(BlobMid(emp_photo,nbr)))
4、Len()
功能:
得到Blob类型变量的数据长度,以字节为单位。
语法:
Len(blob)
参数:
blob:
Blob类型变量。
返回值:
Long。
函数执行成功时返回blob变量的长度,发生错误时返回-1。
如果任何参数的值为NULL,则Len()函数返回NULL。
用法:
如果在说明Blob类型的变量时指定了变量长度,那么对该变量来说,Len()函数得到的就是这个指定的长度。
如果在变量说明时未指定变量长度,那么PowerBuilder在赋值时调整长度,未赋值Blob类型变量的长度为0。
示例:
Thisstatementreturns0:
Len("")
Thesestatementsstoreinthevariables_address_lenthelengthofthetextintheSingleLineEditsle_address:
longs_address_len
s_address_len=Len(sle_address.Text)
Thefollowingscenariosillustratehowthedeclarationofblobsaffectstheirlength,asreportedbyLen.
Inthefirstexample,aninstancevariablecalledib_blobisdeclaredbutnotinitializedwithasize.IfyoucallLenbeforedataisassignedtoib_blob,Lenreturns0.Afterdataisassigned,Lenreturnstheblob'snewlength.
Thedeclarationoftheinstancevariableis:
blobib_blob
Thesamplecodeis:
longll_len
ll_len=Len(ib_blob)//ll_lensetto0
ib_blob=Blob("TestString")
ll_len=Len(ib_blob)//ll_lensetto11
Inthesecondexample,ib_blobisinitializedtothesize100whenitisdeclared.WhenyoucallLenforib_blob,italwaysreturns100.ThisexampleusesBlobEdit,insteadofBlob,toassigndatatotheblobbecauseitssizeisalreadyestablished.Thedeclarationoftheinstancevariableis:
blob{100}ib_blob
Thesamplecodeis:
longll_len
ll_len=Len(ib_blob)//ll_lensetto100
BlobEdit(ib_blob,1,"TestString")
ll_len=Len(ib_blob)//ll_lensetto100
5、String()
功能:
将Blob类型变量的值转换成字符串类型。
如果Blob类型变量的值不是文本型数据,String()函数将其值解释成字符。
语法:
String(blob)
参数:
blob:
要对其值进行类型转换的Blob类型变量。
返回值:
String。
函数执行成功时返回转换后的数据,失败时返回空字符串("")。
如果blob变量中包含的数据不是字符串类型的数据,那么String()函数尽可能把数据解释为字符,并返回字符串类型数据。
如果blob参数的值为NULL,则String()函数返回NULL。
示例:
Thisexampleconvertstheblobinstancevariableib_sblob,whichcontainsstringdata,toastringandstorestheresultinsstr:
stringsstr
sstr=String(ib_sblob)
Thisexamplestorestoday'sdateandteststatusinformationintheblobbb.Pos1andpos2storethebeginningandendofthestatustextintheblob.Finally,BlobMidextractsa"sub-blob"thatStringconvertstoastring.Sle_statusdisplaysthereturnedstatustext:
blob{100}bb
longpos1,pos2
stringtest_status
datetest_date
test_date=Today()
IFDayName(test_date)="Wednesday"THENtest_status="CoolantTest"
IFDayName(test_date)="Thursday"THENtest_status="EmissionsTest"
//Storedataintheblob
pos1=BlobEdit(bb,1,test_date)
pos2=BlobEdit(bb,pos1,test_status)
...//Someprocessing
//Extractthestatusstoredinbbanddisplayit
sle_status.text=String(BlobMid(bb,pos1,pos2-pos1))
三、数据类型检查和转换函数
1、Asc()
功能:
得到字符串第一个字符的ASCII码整数值。
语法:
Asc(string)
参数:
string:
要得到第一个字符ASCII值的字符串。
返回值:
Integer。
函数执行成功时返回string参数第一个字符的ASCII值,如果string参数的值为NULL,则Asc()函数返回NULL。
示例:
下面的语句返回66,即字母B的ASCII值。
Asc(B)
下面的代码检查字符串ls_name的第一个字母是否是大写字母。
IFAsc(ls_name)>64andAsc(ls_name)<91THEN…
2、Char()
功能:
将字符串的第一个字符、Blob变量的第一个值、或一个整数转换成字符。
语法:
Char(n)
参数:
n:
字符串、Blob变量或整数,也可以是包含上述类型数据的Any类型变量。
返回值:
Char。
返回参数n的第一个字符。
如果n参数的值为NULL,则Char()函数返回NULL。
示例:
下面的代码ls_S的值设置为星号(*),对应于ASCII值42。
Stringls_S
ls_S=Char(42)
3、Dec()
功能:
将字符串或Blob值转换成Decimal类型的值。
语法:
Dec(stringorblob)
参数:
stringorblob:
string类型变量或Blob类型变量。
Blob类型变量时,把该变量第一个值转换为
Decimal类型的值,其余部分被忽略。
stringorblob参数也可以是包含上述类型数据的Any类型变量。
返回值:
Decimal。
函数执行成功时返回相应的Decimal类型值。
如果stringorblob参数中的值不是有效的PowerScript数字或数据类型不兼容,那么Dec()函数返回0。
如果stringorblob参数的值为NULL,则Dec()函数返回NULL。
示例:
Dec(“24.3”)
4、Double()
功能:
将字符串或Blob值转换成Double类型的值。
语法:
Double(stringorblob)
参数:
stringorblob:
string类型变量或Blob类型变量。
Blob类型变量时,把该变量第一个值转换为
Double类型的值,其余部分被忽略。
stringorblob参数也可以是包含上述类型数据的Any类型变量。
返回值:
Double。
函数执行成功时返回相应的Double类型值。
如果stringorblob参数中的值不是有效的PowerScript数字或数据类型不兼容,那么Double()函数返回0。
如果stringorblob参数的值为NULL,则Double()函数返回NULL。
示例:
Double(“24.332”)
5、Integer()
功能:
将字符串或Blob值转换成Integer类型的值。
语法:
Integer(stringorblob)
参数:
stringorblob:
string类型变量或Blob类型变量。
Blob类型变量时,把该变量第一个值转换为
Integer类型的值,其余部分被忽略。
stringorblob参数也可以是包含上述类型数据的Any类型变量。
返回值:
Integer。
函数执行成功时返回相应的Integer类型值。
如果stringorblob参数中的值不是有效的PowerScript数字或数据类型不兼容,那么Integer()函数返回0。
如果stringorblob参数的值为NULL,则Integer()函数返回NULL。
示例:
下面的语句以Integer数据类型返回24。
Integer(“24.332”)
6、Long()
功能:
将其它类型的数据转换为Long类型的值。
该函数有两种语法格式:
语法一、将两个无符号整数组合成一个长整数值;
语法二、将字符串或Blob值转换成Long类型的值。
下面分别予以介绍:
语法一、将两个无符号整数组合成一个长整数值
语法:
Long(lowword,highword)
参数:
lowword:
UnsignedInteger类型,指定长整数中的低位值。
highword:
UnsignedInteger类型,指定长整数中的高位值。
返回值:
Long。
函数执行成功时返回由低位值和高位值组合后的长整数值,发生错误时返回-1。
如果任何参数的值为NULL,则Long()函数返回NULL。
语法二、将字符串或Blob值转换成Long类型的值
语法:
Long(stringorblob)
参数:
stringorblob:
string类型变量或Blob类型变量。
Blob类型变量时,把该变量第一个值转换为Long类型的值,其余部分被忽略。
stringorblob参数也可以是包含上述类型数据的Any类型变量。
返回值:
Long。
函数执行成功时返回相应的Long类型值。
如果stringorblob参数中的值不是有效的
PowerScript数字或数据类型不兼容,那么Long()函数返回0。
如果stringorblob参数的值为NULL,则Long()函数返回NULL。
示例:
下面的语句以Long数据类型返回23458888。
Long(“23458888”)
7、Real()
功能:
将字符串或Blob值转换成Real类型的值。
语法:
Real(stringorblob)
参数:
stringorblob:
string类型变量或Blob类型变量。
当该参数是Blob类型变量时,把该变量第一个值转换为Real类型的值,其余部分被忽略。
stringorblob参数也可以是包含上述类型数据的Any类型变量。
返回值:
Real。
函数执行成功时返回相应的Real类型值。
如果stringorblob参数中的值不是有效的
PowerScript数字或数据类型不兼容,那么Real()函数返回0。
如果stringorblob参数的值为NULL,则Real()函数返回NULL。
示例:
下面的语句以Long数据类型返回2323.3222。
Real(“2323.3222”)
8、Date()
功能:
将其它类型的数据转换为Date类型的数据。
该函数有三种语法格式:
语法一、将DateTime类型或第一个值是DateTime或Date的Blob值转换成Date类型的值;
语法二、将其值是个有效日期的字符串转换成Date类型的值;
语法三、将三个整数组合成一个日期。
下面分别予以介绍:
语法一、将DateTime类型或第一个值是DateTime或Date的Blob值转换成Date类型的值
语法:
Date(datetime)
参数:
datetime:
DateTime类型的值或第一个值是DateTime或Date的Blob类型的值。
当该参数是Blob类型变量时,把该变量第一个值转换为Date类型的值,其余部分被忽略。
datetime参数也可以是包含上述类型数据的Any类型变量。
返回值:
Date。
函数执行成功时返回相应的Date类型值。
如果datetime参数中的值不是有效的PowerScript日期或数据类型不兼容,那么Date()函数返回1900-01-01。
如果datetime参数的值为NULL,则Date()函数返回NULL。
示例:
下面的语句从DateTime类型变量ldt_StartDateTime中提取日期值并保存在ld_StartDate变量中。
Dateld_StartDate
ld_StartDate=Date(ldt_StartDateTime)
语法二、将其值是个有效日期的字符串转换成Date类型的值
语法:
Date(string)
参数:
string:
string类型,其值包括一个有效的以字符串形式表示的日期(比如January1,1998或12-31-99),string参数也可以是包含字符串类型数据的Any类型变量。
返回值:
Date。
函数执行成功时返回相应的Date类型值。
如果string参数中的值不是有效的PowerScript日期或数据类型不兼容,那么Date()函数返回1900-01-01。
如果string参数的值为NULL,则Date()函数返回NULL。
示例:
下面的语句把字符串形式表示的日期转换为日期类型的日期。
Dateld_date
ld_date=Date(“2004-02-04”)
语法三、将三个表示年、月、日的整数组合成一个日期
语法:
Date(year,month,day)
参数:
year:
integer类型,指定日期中的年份,用四位数字表示,从0到9999;
month:
integer类型,指定日期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PB 函数 大全