//====================================================================
// Declare: f_idcardvalid(readonly string as_cardno,reference string as_msg).
//——————————————————————–
// 描述: 身份证号码检验
//——————————————————————–
// 参数: readonly string as_cardno
// reference string as_msg
//——————————————————————–
// 返回: 1 校验成功,-1 校验失败,并返回计算后的证件号,-2 校验失败,返回错误信息
//——————————————————————–
// 作者: ZXD 日期: 2021/01/18 10:02:59
//——————————————————————–
// CopyRight(c)
//——————————————————————–
// 修改历史:
//
//====================================================================

int li_i = 0,li_sum = 0
int li_char
string ls_tmp = ”,ls_cardno = ”,ls_card_valid = ”
string ls_birthday = ”
date ldt_birthday

int li_factor[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}
string ls_valid[11] = {‘1′,’0′,’X’,’9′,’8′,’7′,’6′,’5′,’4′,’3′,’2′}

ls_cardno = upper(trim(as_cardno))

if not (len(ls_cardno) = 15 or len(ls_cardno) = 18) then
as_msg = ‘非身份证号’
return – 2
end if

if not match(ls_cardno,'[0-9]+[0-9X]’) then
as_msg = ‘非身份证号,含非法字符’
return – 2
end if

// 如果为15位,先判断最后一位是否X,再转换为17位
if len(ls_cardno) = 15 then
if right(ls_cardno,1) = ‘X’ then
as_msg = ’15位身份证号,无检验位’
return – 2
end if
ls_tmp = left(ls_cardno,6) + ’19’ + right(ls_cardno,9)
ls_cardno = ls_tmp
end if

ls_birthday = mid(ls_cardno,7,4) + ‘-‘ + mid(ls_cardno,11,2) + ‘-‘ + mid(ls_cardno,13,2)
if not IsDate(ls_birthday) then
as_msg = ls_birthday + ‘非身份证号’
return – 2
end if

li_sum = 1
for li_i = 1 to 17
ls_tmp = mid(ls_cardno,li_i,1)
li_char = integer(ls_tmp)
li_sum += li_char * li_factor[li_i]
next

li_i = mod(li_sum,11)
if li_i = 0 then
li_i = 11
end if
ls_tmp = ls_valid[li_i]
ls_card_valid = left(ls_cardno,17) + ls_tmp // 计算后带检验码身份证号

as_msg = ls_card_valid
// 身份证号码重新计算检验位后与原证件号一致,验证通过
if upper(trim(as_cardno)) = ls_card_valid then
return 1
else
return – 1
end if

16.窗口操作函数

16.1 Close(windowname)

返回值:Integer。执行成功返回1,错误返回-1。

16.2 CloseWithReturn(windowname,returnvalue)

Returnvalue:关闭窗口时保存到Message对象中的值,只能是string、numeric、powerobject中的一种类型

返回值:Integer。执行成功返回1,错误返回-1。

16.3 Open()

Open(window{,parent})

//打开编程时已知数据类型的窗口对象

Open(windowvar,windowtype{,parent})

//打开程序运行后才能确定数据类型的窗口对象

返回值:Integer。执行成功返回1,错误返回-1。

16.4 OpenSheet(sheet{,wintype},midframe{,position{,arrangeopen }})

Arrangeopen:cascaded!;Original!;Layered!

返回值:Integer。执行成功返回1,错误返回-1。在MDI框架窗口中打开MDI子窗口

16.5 OpenSheetWithParm(sheet,parameter{,wintype},mdiframe{,position{,arrangeopen}})

Parameter:指定要传递给打开工作表的数据,该数据保存在Message对象的属性中

返回值:Integer。执行成功返回1,错误返回-1。

16.6 OpenWithParm(window,parameter{,parent})

返回值:Integer。执行成功返回1,错误返回-1。

 

17.其它函数

17.1 beep(n)

返回值:integer。执行成功返回1,错误返回-1。如果n大于10,那么计算器只响铃10次

17.2 ClassName(variable)

Variable:指定要确定其数据类型的变量

返回值:string。执行成功返回指定变量的数据类型,错误时返回空字符串。

17.3 DebugBreak()

返回值:无。如果希望执行某条语句后暂停并进入调试模式,可以在该语句后面放上DebugBreak()函数。

17.4 IntHigh(long)

Long:long型值或变量。

返回值:integer。执行成功返回long的高位子,错误返回-1。通常用于分解外部C或C++语言函数的返回值和Windows消息。

17.5 IntLow(long)

返回值:integer。执行成功返回long的高位子,错误返回-1。

17.6 IsValid(objectname)

Objectname:要检查的对象名称

返回值:boolean。检查对象变量是否实例化。

17.7 KeyDown(keycode)

Keycode:keycode枚举类型或integer类型,如keyA!等

返回值:boolean。检查用户是否按了键盘上指定的键。

17.8 MessageBox(title,text{,icon{,button}})

Icon:Information!;Question!;Exclamation!;StopSign!;None!

Button:OK!;OKCancel!;YesNo!;YesNoCancel!;RetryCancel!;AbortRetryIgnore!

返回值:integer。执行成功返回按钮值,错误返回-1

17.9 PixelsToUnits(pixels,type)

Pixels:integer类型。指定要转换为PB单位的象素数

Type:按那个方向转换,XPixelsToUnits!和YPixelsToUnits!

返回值:integer。

17.10 UnitsToPixels(units,type)

//与PixelsToUnits(pixels,type)相反

17.11 PopulateError(number,text)

Number:保存到Error对象number属性中的值

Text:保存到Error对象text属性中的值

返回值:integer。执行成功返回1,错误返回-1

17.12 RGB(red,green,blue)

返回值:long。

17.13 SetNull(anyvariable)

Anyvariable:不可以是数组、结构、自动实例化对象

返回值:integer。执行成功返回1,错误返回-1

17.14 SetPointer(type)

Type:Arrow!、Cross!、Beam!、HourGlass!、SizeNs!、SizeNESW!、SizeWE!、SizeNWSE!、UpArrow!

返回值:Pointer。返回更换前鼠标的指针。

17.15 SignalError({number},{text})

返回值:integer。执行成功返回1,错误返回-1。以编程的方式触发应用对象SystemError事件。

 

整理时间:2019-11-19 10:15:00

时间:2019-11-19 10:16:00

 

 

14.系统与环境函数

14.1 Clipboard({string})

String:可选项,指定要复制到系统剪贴板上的文本,如果剪贴板上有内容则覆盖。

返回值:string。执行成功返回剪贴板上包含的文本数据,如果剪贴板包含非文本数据或不包含任何数据,函数返回空字符串(“”)。

14.2 CommandParm()

//得到应用程序运行时指定的命令参数。

返回值:string。执行成功返回应用程序运行时指定的命令参数,错误或没有命令行参数时返回空字符串(“”)。

14.3 DoScript(scrip,result)

//执行AppleScript程序段,该函数只在Macintosh平台上有效

Script:string类型,指定要运行的程序段

Resule:string类型,由AppleScript程序段返回的结果信息或出错信息

返回值:integer。返回由AppleScript返回的结果代码。

14.4 GetApplication()

//得到当前应用对象的句柄,可以查询或设置应用对象的属性

返回值:Application。返回应用对象的句柄

14.5 GetEnvironment(environmentinfo)

//得到操作系统、处理器、屏幕显示等与系统相关的信息

Environmentinfo:environment对象名,用于保存系统环境信息

返回值:integer。执行成功返回1,错误返回-1

14.6 GetFocus()

//确定当前焦点位于哪个控件上

14.7 Post(handle,messageno,word,long)

//将指定消息加入到某个窗口的消息队列中,该窗口类型不限

Handle:long类型,指定窗口的系统句柄,将向该窗口邮寄消息

Messageno:UnsignedInteger类型,指定要邮寄的消息号

Word:long类型,指定与小心一起邮寄的word类型参数

Long:long或string类型,指定与消息一起邮寄的long型参数值或字符串

返回值:boolean。

14.8 ProfileInt(filename,section,key,default)

//从初始化文件(.ini)中读取整型设置值

Section:string类型,指定要得到的值所在的节

Key:string类型,指定要得到的值的名称,不区分大小写

Default:integer类型,当指定的文件、节名、项目不存在或不能转换为整数时,函数返回该参数指定的值

返回值:integer。执行成功返回相应项的值,发生错误返回-1

14.9 ProfileString(filename,section,key,default)

//从初始化文件(.ini)中读取字符串型设置值

14.10 Restart()

//停止所有程序段的执行、关闭所有窗口、提交事务、断开与数据库的链接,然后重新启动应用程序。

返回值:ingeger。函数执行成功返回1,错误返回-1

14.11 Run(string{,windowstate})

//运行指定的应用程序

String:指定要运行应用程序的名称

Windowstate:运行时窗口的状态:Normal!(缺省), Maximized!,Minimized!

返回值:ingeger。函数执行成功返回1,错误返回-1

14.12 Send(handle,messageno,word,long)

//向窗口发送指定的消息并立即记性相应的事件处理程序

返回值:long。执行成功返回Windows系统调用sendMessage()的返回值,错误返回-1

14.13 SetProfileString(filename,section,key,value)

//设置初始化文件中指定项的值。

返回值:ingeger。函数执行成功返回1,错误返回-1

14.14 ShowHelp(helpfile,helpcommand{,typeid})

Helpfile:指定帮组文件的名称

Helpcommand:指定显示帮组的格式,取值:Index!-显示主目录,不要指定typeid的参数;keyword!-转移到由指定关键词确定的主题;Topic!-显示指定主题的帮组

返回值:ingeger。函数执行成功返回1,错误返回-1

14.15 SingnalError({number},{text})

//触发应用对象的SystemError事件,通常用于代码调试

Number:integer.保存到Error对象的number属性中

Text:string.保存到Error对象的Text属性中

返回值:ingeger。函数执行成功返回1,错误返回-1

14.16 Yield()

//将控制权转移个其它图形对象

返回值:boolean.

 

15.定时函数

15.1 Cpu()

返回值:long。返回当前应用程序启动后开始Cpu消耗的时间,以毫秒为单位

15.2 Idle(n)

N:指定空闲时间间隔,以秒为单位。该参数设置为0时,停止空闲检测,不再触发对象的Idle时事件

返回值:ingeger。执行成功返回1,此时启动定时器;定时器未启动,返回-1

15.3 Timer(interval{,windowname})

Interval:指定两次触发Timer事件之间的时间间隔,有效值是0-65;当该参数为0时,关闭定时器

Windowname:窗口名,要触发Timer事件的窗口,缺省为当前窗口

返回值:Integer。执行成功返回1,错误返回-1。

 

整理时间:2019-11-19 10:14:00

时间:2019-11-19 10:14:00

 

 

12.注册(Registry)函数

12.1 RegistryDelect(key,valuename)

//删除注册库中的一个键或键的某个值。

Key: string类型,指定键名,各键之间用反斜杠分隔

Valuename: string类型,指定要删除的值的名称;该值为空时删除该键及其下的所有子键。

返回值:Integer。执行成功返回1,错误返回-1

12.2 RegistryGet(key,valuename,valuetype,valuevariable)

//从系统注册库中得到指定键的值。

Valuetype:RegString!  以空字符结束的字符串;

RegExpandString!  以空字符结束的字符串其中包括了对环境变量的非扩展应用;

RegBinary!  二进制数据

ReguLong!  32位数据

ReguLongBigEndian!  32位大数据

RegLink!  Unicode字符串

RegMultiString!  动态字符串数组

Valuevariable:用于保存键值的变量,其数据类型要与valuetype参数指定的类型相匹配

返回值:integer。执行成功返回1,错误返回-1

12.3 RegistryKeys(key,subkeys)

//从系统注册库中得到指定键的有效子键。

Subkeys:字符串数组变量,用于保存各子键

返回值:integer。执行成功返回1,错误返回-1。

12.4 RegistrySet(key,valuename,valuetype,value)

//在系统注册库中设置或创建指定加。

Valuetype:同上

Value:要设置的值,其数据类型要与valuetype指定的类型相匹配。

返回值:integer。执行成功返回1,错误返回-1

12.5 RegistryValues(key,valuename)

//用于得到与指定键相关的一组值名。

Valuename:字符串数组变量,用于保存值名

返回值:integer。执行成功返回1,错误返回-1

 

13.字符串操作函数

函数 返回值 功能
Asc(string) Integer 得到str第一个字符的ASCII吗整数值
Char(n) Char 把str第一个字符或把整数转换成字符
Fill(chars,n) String 建立一个由指定字符串填充的定长字符串
Left(string,n) String 得到str左部指定个字符
LeftTrim(string) String 删除字符串左部的空格
Len(stringorblob) Long 返回字符串的长度
Lower(string) String 大写字母转换成小写
Match(string,textpattern) Boolean 确定字符串中是否包含指定模式的字符
Mid(string,start{,length}) String 取字符串的子串
Pos(string1,string2{,start}) Long 在str1中查找str2的起始位置
Right(string,n) String 从str尾部取指定个字符
RightTrim(string) String 删除字符串尾部的空格
Space(n) String 生成一个有空格组成的定长字符串
Trim(string) String 删除str两边的空格
Upper(string) String 将小写字母转换成大写字母
Replace(str1,start,n,str2) String 用str2替换str1中从start开始的n个字符

 

 

整理时间:2019-11-19 10:11:00

时间:2019-11-19 10:11:00

 

9.库管理函数

9.1 LibraryCreate(libraryname {,comments})

返回值:Integer。创建一个空的PB应用库。执行成功返回1,错误返回-1

9.2 LibraryDelete(libraryname {,objectname,objecttype})

Objectname:要从库中删除的数据窗口对象的名称

Objecttype:要删除对象的类型,目前仅支持ImprotDataWindow!

返回值:Integer。当可选项未指定,删除指定的应用库。执行成功返回1,错误返回-1。

9.3 LibraryDirectory(libraryname,objecttype)

Objecttype:取值为DirAll!,DirApplication!,DirDataWindow!等

返回值:string。得到应用库中指定对象的信息列表对象名~t修改日期/时间~t注释~n

9.4 LibraryExport(libraryname,objectname,objecttype)

返回值:string。执行成功返回指定对象的语法

9.5 LibraryImport(libraryname,objectname,objecttype,syntax, errors {,comment})

Objecttype: 要移入对象的类型,目前只支持ImportDataWindow!

返回值:Integer。执行成功返回1,错误返回-1

 

10.数值计算函数

函数 返回值 功能
Asb(n) N的数据类型 计算绝对值
Ceiling(n) N的数据类型 返回大于n的最小整数
Cos ( n) Double 余弦函数
Exp ( n) Double 计算e的n次方
Fact ( n) Double 计算n的阶乘
Int ( n) Integer 得到小于n的最大整数
Log ( n) Double 计算n的自然代数
LogTen ( n) Double 计算n的常用代数(以10为底)
Max(x,y)

Min(x,y)      Mod(x,y)

x,y中更精确的数据类型 求最大值

求最小值

求余数

Pi ( n ) Double 计算n与pi的乘积
Rand(n) N的数据类型 得到一个1到n之间的伪随机数
Randomize( n ) Integer 初始化伪随机数发生器
Round ( x, n ) Decimal 将x四舍五入到n位
Sign ( n ) Integer(1,-1,0) 确定n是整数、负数还是零
Sin ( n ) Double 正弦函数
Sqrt ( n ) Double 计算n的平方根
Tan ( n ) Double 正切函数
Truncate(x,n) Decima 截断数值到指定的小数位

 

整理时间:2019-11-19 10:08:00

时间:2019-11-19 10:08:08

 

 

7.文件操作函数

7.1 GetFileOpenName(title,pathname,filename{,extention{,filter}})

返回值:Integer。执行成功返回1,错误返回-1

7.2 FileLength(filename)

Filename:string类型,要得到文件长度的文件名,可以包含路径

返回值:long。执行成功返回指定文件长度,文件不存在返回-1

7.3 FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode}}}})

Filename:string类型,要打开文件的文件名,可以包含路径

Filemode:LineMode!(缺省)或StreamMode!

Fileaccess:read! (缺省)或write!

Filelock:LockReadWrite! (缺省);LockRead!;Shared!

WriteMode:Append! (缺省);Replace!

返回值:integer.发生错误返回-1。当文件不存在时,函数创建该文件

7.4 FileRead(fileno,variable)

Fileno:integer类型,由FileOpen()函数得到

Variable:string或blob类型,保存读取的数据

返回值:integer.

7.5 FileClose(fileno)

Fileno:integer类型,由FileOpen()函数得到

返回值:integer.执行成功返回1,发生错误返回-1,

7.6 FileDelete(filename)

Filename:string类型,指定要删除文件的文件名,可以包含路径

返回值:boolean.

7.7 FileWrite(fileno,variable)

返回值:integer.该函数一次只可以写入32765个字节

7.8 GetFileSaveName(title,pathname,filename{,extention{,filter}})

返回值:integer。

7.9 FileExists(filename)

Filename:string类型,要检查文件存在性的文件名,可以包含路径

返回值:boolean.

7.10 FileSeek(fileno,position,origin)

Position:long类型,相对origin的偏移量

Origin:FromBeginning!;FromCurrent!;FromEnd!

返回值:long,执行成功返回指针移动后指针的位置。

 

8.国际化函数

函数 返回值 功能
IsAllArabic(string) Boolean 确定string是否全部为阿拉伯文
IsAllHebrew(string) Boolean 确定string是否全部为希伯来文
IsAnyArabic(string) Boolean 确定string是否包含阿拉伯文
IsAnyHebrew(string) Boolean 确定string是否包含希伯来文
IsArabic(character) Boolean 确定字符是否是阿拉伯文(第一个)
IsArabicAndNumbes (string) Boolean 确定string是否全部由阿拉伯文和数字组成
IsHebrew(character) Boolean 确定字符是否是希伯来文(第一个)
IsHebrewAndNumbrs(string) Boolean 确定string是否全部由希伯来文和数字组成
Reverse(string) String 颠倒string的次序
ToAnsi(string) Blob 将Unicode字符转换成Ansi字符
ToUnicode(blob) string 将Ansi字符转换成Unicode字符

 

整理时间:2019-11-19 10:00:00

时间:2019-11-19 10:10:05:00

 

5.DDE客户函数

5.1 CloseChannel ( handle {, windowhandle } )

//关闭先前用OpenChannel()函数打开的DDE服务器的通道。

Handle:long类型,通道句柄,指明要关闭的DDE通道

Windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-2通道不能被关闭;-3不能确认服务器;-9Handle参数的值为NULL

5.2 ExecRemote()

//功能请求DDE服务器应用程序执行命令。

语法1:直接向DDE服务器应用发送一条命令(冷连接方式)

ExecRemote ( command, applname, topicname )

Command:string类型,其值为希望DDE服务器应用执行的命令,命令格式和语法需要参看DDE服务器应用的文档

Applname:string类型,指定服务器应用的DDE名称

Topicname:string类型,指定命令中要使用的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接;-2请求被拒绝;-3不能终止服务器如果任何参数的值为NULL,ExecRemote()函数返回NULL。

语法2:应用程序打开某个信道后向DDE服务器应用发送命令(热连接方式)

ExecRemote ( command, handle {, windowhandle } )

Command:string类型,其值为希望DDE服务器应用执行的命令,命令格式和语法需要参看DDE服务器应用的文档

Handle:long类型,指定使用的DDE通道句柄

Windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接;-2请求被拒绝;-9handle参数的值为NULL

5.3 GetDataDDE(string)

//从热连接服务器应用中获取数据,并将其保存到指定的字符串变量中。

String:string类型变量,用于保存接收到的数据

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDE()函数返回NULL。

5.4 GetDataDDEOrigin ( applstring, topicstring, itemstring )

//功能确定来自热连接DDE服务器应用的数据源,成功时将应用的DDE标识保存在参数指定的变量中。

Applstring:string类型变量,用于保存服务器应用的名称

Topicstring:string类型变量,用于保存主题(比如,在Excel中,主题可以是REGION.XLS)

Itemstring:string类型变量,用于保存数据项标识(比如,在Excel中,数据项标识可以是R1C2)

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDEOrigin()函数返回NULL。

5.5 GetRemote()

//请求服务器应用传送数据

语法一、请求DDE服务器应用提供数据并将数据保存在变量中,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况。

GetRemote ( location, target, applname, topicname )

Location:string类型,指明要从DDE服务器的哪个位置返回数据。位置的表达方式由具体的DDE服务器决定

Target:string类型变量,用于保存返回的数据

Applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定命令中要使用的DDE应用的数据或实例

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝

语法二、请求DDE服务器应用提供数据并将数据保存在变量中,该格式适用于热连接的情况,即应用程序已经与服务器建立通道。

GetRemote ( location, target, handle {, windowhandle } )

Location:string类型,指明要从DDE服务器的哪个位置返回数据。位置的表达方式由具体的DDE服务器决定

Target:string类型变量,用于保存返回的数据

Handle:long类型,指定使用的DDE通道句柄

Windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户。使用handle()函数可以得到窗口句柄。

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接;-2请求被拒绝;-9Handle参数的值为NULL

5.6 OpenChannel(applname, topicname {, windowhandle })

//功能打开连接DDE服务器的通道。

Applname:string类型,指定DDE服务器应用的DDE名称

Topicname:string类型,指定命令中要使用的DDE应用的数据或实例windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户

返回值:Long。函数执行成功时返回一个正数作为已打开通道的句柄,发生错误时返回下述值之一:-1打开失败-9句柄为NULL

5.7 RespondRemote(boolean)

//功能发送一条DDE消息,指示是否接受来自远程DDE应用的命令或数据。

Boolean:其值为boolean量的逻辑表达式,TRUE表示接收先前收到的命令或数据,FALSE表示不接收先前收到的命令或数据

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果boolean参数的值为NULL,RespondRemote()函数返回NULL。

5.8 SetRemote()

//功能请求服务器应用把指定项设置为指定值。

语法一、请求DDE服务器应用接收保存在指定位置的数据,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况。

SetRemote ( location, value, applname, topicname )

Location:string类型,指明要DDE服务器的哪一部分接收数据。位置的表达方式由具体的DDE服务器决定

value:string类型变量,指定发送给DDE服务器的数据

applname:string类型,指定DDE服务器应用的DDE名称

topicname:string类型,指定要接收数据的DDE应用的数据或实例

返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝

语法二、请求DDE服务器应用接收保存在指定位置的数据,该格式适用于热连接的情况,即应用程序已经与服务器建立通道。

SetRemote ( location, value, handle {, windowhandle } )

Location:string类型,指明要DDE服务器的哪一部分接收数据。位置的表达方式由具体的DDE服务器决定

Value:string类型变量,指定发送给DDE服务器的数据

Handle:long类型,指定使用的DDE通道句柄

Windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接;-2请求被拒绝-9Handle参数的值为NULL

5.9 StartHotLink(location, applname, topic)

//建立与DDE服务器应用的热连接,热连接建立之后,DDE服务器端相关数据的变化会立即触发PowerBuilder应用相关窗口的HotLinkAlarm事件。

Location:string类型,指明DDE服务器哪一部分数据变化时触发窗口的HotLinkAlarm事件。位置的表达方式由具体的DDE服务器决定

applname:string类型,指定DDE服务器应用的DDE名称

topicname:string类型,指定数据改变将触发窗口的HotLinkAlarm事件的DDE应用的数据或实例

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1无指定服务器-2请求被拒绝如果任何参数的值为NULL,StartHotLink()函数返回NULL。

5.10 StopHotLink()

功能关闭与DDE服务器应用的热连接。

语法StopHotLink ( location, applname, topic )

参数location:string类型,指明要终止DDE服务器哪一部分的热连接。位置的表达方式由具体的DDE服务器决定applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定要终止热连接的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1连接未曾启动;-2请求被拒绝;-3不能终止服务器如果任何参数的值为NULL,StopHotLink()函数返回NULL。

 

6.DDE服务器函数

6.1 GetCommandDDE(string)

//功能得到DDE客户应用发送的命令。

String:string类型的变量,用于保存DDE客户应用发送的命令

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果string参数的值为NULL, GetCommandDDE()函数返回NULL。用法当DDE客户应用向DDE服务器应用发送一条命令时,这个动作将触发DDE服务器应用活动窗口的RemoteExec事件,在这个事件的事件处理程序中,可以使用GetCommandDDE()函数得到DDE客户应用发送的命令。

6.2 GetCommandDDEOrigin(applstring)

//功能确定哪一个DDE客户应用向服务器发送了命令。

Applstring:string变量,用于保存发送命令的DDE客户应用的名称

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果applstring参数的值为 NULL,GetCommandDDEOrigin()函数返回NULL。

6.3 GetDataDDE(string)

//功能得到DDE客户应用发送的数据。

String:string类型变量,用于保存接收到的数据

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL, GetDataDDE()函数返回NULL。

6.4 GetDataDDEOrigin ( applstring, topicstring, itemstring )

//功能确定哪个DDE客户应用发送了数据。

Applstring:string类型变量,用于保存客户应用的名称

Topicstring:string类型变量,用于保存主题(比如,在Excel中,主题可以是REGION.XLS)

Itemstring:string类型变量,用于保存数据项标识(比如,在Excel中,数据项标识可能是R1C2)

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDEOrigin()函数返回NULL。

6.5 RespondRemote(boolean)

//功能向客户端应用指明最近的命令或数据是否已经接收。

Boolean:其值为boolean量的逻辑表达式,TRUE表示接收先前收到的命令或数据,FALSE表示不接收先前收到的命令或数据

返回值:Integer。函数执行成功时返回1,发生错误时返回-1。如果boolean参数的值为NULL,RespondRemote()函数返回NULL。

6.6 SetDataDDE ( string {, applname, topic, item } )

//功能向DDE客户应用发送数据。

String:指定要发送到DDE客户应用的数据

Applname:string类型,可选项,指定接收数据的客户应用的DDE名称

Topic:string类型,可选项,指定基础数据组

Item:string类型,可选项,指定基础数据组中的数据项

返回值:Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1函数调用的环境不对-2数据未被接收如果任何参数的值为NULL,SetDataDDE()函数返回NULL。

6.7 StartServerDDE ( { windowname, } applname, topic {, item } )

//功能将当前应用设置为DDE服务器。

Windowname:可选项,指定服务器窗口名,缺省值为当前窗口

Applname:当前应用的DDE名称

Topic:string类型,指定DDE客户应用能够引用的基本数据组

Item:由逗号(,)分隔的一个或多个字符串,指定服务器应用支持的数据项

返回值:Integer。函数执行成功时返回1,发生错误时返回-1,表示当前应用已经设置为DDE服务器。如果任何参数的值为NULL,StartServerDDE()函数返回NULL。

6.8 StopServerDDE ( { windowname, } applname, topic )

//功能停止当前应用的DDE服务器功能。执行该函数后,发给该应用的任何DDE客户应用请求都将失败。

Windowname:可选项,指定要关闭服务器功能的服务器窗口名,缺省值为当前窗口,如果当前应用有多个服务器窗口,那么必须指定该参数

Applname:当前应用的DDE名称

Topic:string类型,应该与StartServerDDE()中对应参数相同

返回值:Integer。函数执行成功时返回1,发生错误时返回-1,表示当前应用未曾作为DDE服务器启动。如果任何参数的值为NULL,StopServerDDE()函数返回NULL。

 

整理时间:2019-11-19 09:51:00

 

时间:2019-11-19 10:00:00

 

1.数组函数

1.1 UpperBound(array {,n})

1.2 LowerBound(array {,n})

返回值:long。执行成功返回N维数组的上界/下界

 

2.blob(大二进制对象)函数

2.1 Blob(text)

返回值:blob。执行成功时返回转换后的blob类型数据

2.2 BlobEdit(blobvariable,n,data)

Blobvariable: blob类型的初始化变量,将向该变量中插入数据

n: 指定插入位置,有效值为1-4,294,967,295

data: 要插入到blob类型变量中的数据

返回值:Unsigned long。执行成功时返回下次可以插入数据的位置。

2.3 BlobMid(data,n {,length})

Data: blob类型的数据

N: 指定要提取数据的起始位置

Length: 可选项,指定要提取数据的长度

返回值:blob。执行成功时返回指定字节数的数据

2.4 Len(blob)

返回值:long。执行成功时返回blob变量的长度,错误时返回-1;未赋值的blob类型变量的长度为0

2.5 String(blob)

返回值:string。执行成功返回转换后的数据,失败时返回空字符串

 

3.数据类型检查与转换函数

3.1 Asc(string)

返回值:integer。执行成功时返回string参数第一个字符的ASCII值

3.2 Char(n)

N: 字符串、blob变量或整数

返回值:char。返回参数N的第一个字符

3.3 Dec(stringorblob)

返回值:decimal。执行成功时返回相应的decimal类型值;当stringorblob不是PB有效数据类型时返回0

3.4 Double(stringorblob)

返回值:Double。执行成功时返回相应的double类型值;当stringorblob不是Pb有效数据类型时返回0

3.5 Integer(stringorblob)

返回值:Integer。执行成功时返回相应的Integer类型值;当stringorblob不是Pb有效数据类型时返回0

3.6 Long()

Long(lowword,highword)

//将两个无符号整数组合成一个长整数

返回值:long。发生错误时返回-1

Long(stringorblob)

//将字符串或blob值转换成long类型值

返回值:long。执行成功时返回相应的long类型值;当stringorblob不是Pb有效数据类型时返回0

3.7 Real(stringorblob)

返回值:Real。执行成功时返回相应的Real类型值;当stringorblob不是Pb有效数据类型时返回0

3.8 Date()

语法一:Date(datetime)

语法二:Date(string)

语法三:Date(year,month,day)

返回值:date。如果参数不是有效的PB数据类型时返回1900-01-01

3.9 DateTime()

语法一:DateTime(date {,time})

语法一:DateTime(blob)

返回值:datetime。

3.10 IsDate(datevalue)

返回值:Boolean。检测指定字符串是否包含有效的日期。

3.11 IsNull(any)

返回值:Boolean。测试变量或表达式的值是否是Null

3.12 IsNumber(string)

返回值:Boolean。测试字符串是否是有效的数值

3.13 IsTime(TimeValue)

返回值:Boolean。测试字符串是否是有效的时间

3.14 String(data{,format})

返回值:String。按指定格式将数据转换成字符串

3.15 Time()

语法一:Time(datetime)

语法二:Time(string)

语法三:Time(hour,minute,second {,microsecond})

返回值:time。前两种当参数不是有效的PB数据类型时返回00:00:00:0000;第三种当参数是无效值时返回null

 

4.日期时间函数

函数 返回值 功能
Day(date) Integer 得到日期型数据中的号数
DayName(date) String 得到一周中的星期几(Sunday···)
DayNumber(date) Integer 得到一星期中的第几天(1-7)
DayAfter(date1,date2) Long 得到两个日期间的天数
Hour(time) Integer 得到时间值中的小时,24时制
Minute(time) Integer 得到时间中的分钟
Month(date) Integer 得到日期值中的月份
Now(time) Time 得到客户机当前系统时间
RelativeDate(date,n) Date 得到指定日期前/后多少天的日期
RelativeTime(time,n) Time 得到指定时间前/后多少秒的时间
Second(time) Integer 得到时间值中的秒
Today() Date 得到系统日期和时间
Year(date) Integer 得到日期值中的年度(1000-3000)

 

 

 

 

整理时间:2019-11-19 09:51:00

 

时间:2019-11-19 09:52:00