PB函数大全文档格式.docx
- 文档编号:5350609
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:191
- 大小:86.12KB
PB函数大全文档格式.docx
《PB函数大全文档格式.docx》由会员分享,可在线阅读,更多相关《PB函数大全文档格式.docx(191页珍藏版)》请在冰点文库上搜索。
integerd[-10to50]
LowerBound(d)//Returns-10
2、UpperBound()
得到指定数组第n维的上界。
UpperBound(array{,n})
数值类型,可选项,指定要得到数组哪一维的上界。
函数执行成功时返回array数组第n维的上界。
如果任何参数的值为NULL,UpperBound()函数返回NULL。
二、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类型的已初始化变量,将向该变量中插入数据。
指定插入位置,有效值在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})
Blob类型的数据。
指定要提取数据的起始位置,有效值在1到4,294,967,295之间。
length:
可选项,指定要提取数据的长度,以字节为单位,有效值在1到4,294,967,295之间。
缺省时提取从指定位置n到末尾的所有数据
函数执行成功时返回指定字节数的数据。
如果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:
st_1.Text=String(Date(BlobMid(emp_photo,nbr)))
4、Len()
得到Blob类型变量的数据长度,以字节为单位。
Len(blob)
blob:
Blob类型变量。
函数执行成功时返回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
ll_len=Len(ib_blob)//ll_lensetto100
BlobEdit(ib_blob,1,"
5、String()
将Blob类型变量的值转换成字符串类型。
如果Blob类型变量的值不是文本型数据,String()函数将其值解释成字符。
String(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"
Thursday"
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)
字符串、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)
Double类型的值,其余部分被忽略。
Double。
函数执行成功时返回相应的Double类型值。
如果stringorblob参数中的值不是有效的PowerScript数字或数据类型不兼容,那么Double()函数返回0。
如果stringorblob参数的值为NULL,则Double()函数返回NULL。
Double(“24.332”)
5、Integer()
将字符串或Blob值转换成Integer类型的值。
Integer(stringorblob)
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类型,指定长整数中的高位值。
函数执行成功时返回由低位值和高位值组合后的长整数值,发生错误时返回-1。
如果任何参数的值为NULL,则Long()函数返回NULL。
语法二、将字符串或Blob值转换成Long类型的值
Long(stringorblob)
Blob类型变量时,把该变量第一个值转换为Long类型的值,其余部分被忽略。
函数执行成功时返回相应的Long类型值。
如果stringorblob参数中的值不是有效的
PowerScript数字或数据类型不兼容,那么Long()函数返回0。
如果stringorblob参数的值为NULL,则Long()函数返回NULL。
下面的语句以Long数据类型返回23458888。
Long(“23458888”)
7、Real()
将字符串或Blob值转换成Real类型的值。
Real(stringorblob)
当该参数是Blob类型变量时,把该变量第一个值转换为Real类型的值,其余部分被忽略。
Real。
函数执行成功时返回相应的Real类型值。
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类型,其值包括一个有效的以字符串形式表示的日期(比如January1,1998或12-31-99),string参数也可以是包含字符串类型数据的Any类型变量。
如果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 函数 大全