LotusScript语言的基本知识
时间:2010-09-20 来源:pstn2008
一、概述
LotusScript是一种和Basic相兼容的面向对象的Scripting环境,它具有强大的能够从事面向对象应用软件开发的语言范围,能够提供循环和分支的能力、数组以及访问Notes对象的能力。
判断Notes中什么时候使用LotusScript或公式语言
1)任何时候当执行该任务的函数或命令存在时,使用公式。
2)对于复杂的程序控制或循环,使用LotusScript。
3)存取或操作储存的文档数据要使用LotusScript,特别对于跨文档、跨数据库的存取。
4)若公式语言不能办到,则使用LotusScript
在Notes应用程序中访问和操作对象需要三步进行:
1.声明对象变量DIM
DIM db As NotesDatabase
2.实例化一个类将其赋值给对象变量
SET db = New NotesDatabase("Domestic","Sales.nsf")
3.使用这个对象的方法或属性
db.created '用来展现创建数据库时的日期和时间
二、NotesScript中的数据元素
NotesScript中的常量
Null '特殊值,代表数据遗失或空
Empty '相当于"",也就是空串
Nothing '涉及变量的初始值,表示对象变量没有内容
PI '圆周率
True/False '分别为数值1和0
数据类型
Integer(整型) Long(长整型) Single(单精度型) Double(双精度型)
Currency(货币型) String(字符串)
运算符
+ - * / < > <> = Not And OR &
常量和变量
Dim address As String '定义变量
address = "100 Main Street " '变量赋值
Const address = "100 Main Street" '创建字符常量address
通信输入和输出
Dim response as Integer
response = Inputbox("Do you want to continue") '弹出输入框输入
Messagebox(response) '弹出输出窗口输出数据
注释
1.单行注释:用Rem或'号
2.多行注释:用%Rem和%EndRem
%Rem '多行注释实例
The first statement in this Script declares a variable myName.The second assign the value "Robert" to myName.The third statement display the value of myName.
%EndRem
数据类型转换
Asc(String) 函数 '将字符串转化为ANSI字符代码
CBool(expression) 函数 '将表达式转化为布尔型
CByte(expression) 函数 '将表达式转化为字节型
CCur(expression) 函数 '将表达式转化为货币型
CDate(Strin*) 函数 '将字符串转化为日期型
**bl(expression) 函数 '将表达式转化为双精度型
Chr(Integer) 函数 '返回整数AscII码对象的字符,例如65表示A
CInt(expression) 函数 '将表达式转化为整型
CLng(expression) 函数 '将表达式转化为长整型
CSng(expression) 函数 '将表达式转化为单精度型
CStr(expression) 函数 '将表达式转化为字符串
Hex(number) 函数 '返回十六进制
Oct(number) 函数 '返回八进制
三、数组管理
Dim MyDays(7) as String '声明一个数组一共7个元素,下标为0~6
Dim MyDay(1 to 7) as String '声明一个数组下标为1~7
ReDim MyDay(1 to 3) '重新设置数组的边界和维数,这里ReDim用于定义动态数组
UBound(MyDay,1) '返回数组的上界,1表示若是多维数组,返回第一维的上界
LBound(MyDay) '返回数组的下界
LBound(MyDay,2) '返回数组第2维的下界
MyDay(1) = "Sunday" '给数组元素赋值
四、语句
1、IF ... End if
if balance > 100 then
interest = 0.35
else
interest = 0
end if
2、Select case
Select case thisMonth
case 1
Response = "January"
case 2 to 10 '也可以写成case 10,20,30或case is > 10
response = "Other"
case else
MessageBox(thisMonth & "is invalid value")
end Select
3、Do...loops和while... wend
Do while/until 条件
'语句组
loop
Do
'语句组
loop while/until 条件
while 条件
'语句组
wend
4、For...Next
For i = 1 to 5
MyDays(i) = InputBox("Enter your work days:")
Next i
5、ForAll
ForAll m in db.managers '循环显示数组db.managers中的元素
MessageBox(m)
End ForAll