博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

LotusScript基本语法知识(一)

Posted on 2008-12-05 13:05  james.dong  阅读(1863)  评论(2编辑  收藏  举报

.注释

 注释在程序运行中并不执行,只是让程序员在编写程序的时候添加的一些标记性的文字,但他的作用可不容忽视,在编写一个程序模块时说明这个模块的功能、作用、创建时间、作者等,这对以后的维护大有好处。一般在用户的脚本中插入头信息是一个不错的想法,如下事例:
‘Script name: Connect internet
‘Author: jamesdong
‘Last Modified: 12/06/08
‘Description: Connect my webserver.
1.单行注释:通过输入一个单引号( ' )或REM ( Remark的缩写 )来添加。
2.多行注释:%Rem …%End Rem 所以以上例子也可以写成这样:
  %REM 
  Script name: Connect internet
Author: jamesdong
Last Modified: 12/06/08
Description: Connect my webserver.

%END REM

 

二.变量和数据类型

1.声明变量
Dim Variablename as type
dim是dimension的缩写,为变量的值在内存中创建一个空间。
  Variablename 是变量的名称,一个变量的名称一定要以字母开头,其后可以是字母、任何数字以及下划线,变量的名称不区分大小写,最多可容纳40个字符。Lotus中有一些保留字,大部分是指令和语句,它们不能被用做变量名。
  type是数据类型,可以是Boolean、Byte、Integer、Long、Single、Double、Currency、String、Variant 当然以后在介绍面象对象的时候还涉及到类和对象的定义,也是这个声明格式,这些在以后再介绍。

 类型                   值                                                                                          Size

Boolean   真 (-1) 或 假 (0)                                                                                  2字节
Byte        从0到255的整数                                                                                   1字节
Integer    从-32768到32767的整数                                                                       2字节
Long       从-2147483648到2147483647的整数                                                     4字节
Single     从-3.402823 E+38到3.402823E+38的任何数字                                         4字节
Double   从-1.7976931348623158E+308到1.7976931348623158E+308的任何数字   8字节
Currency 从-922337203685411.5807到-922337203685411.5807的任何数字。货币变量可能多有4个十进制位置      8字节
String     任何无格式文本值                                                                                   每个字符两2个字节
Variant    任何值                                                                                                 16字节

2.列表定义

List 类型 为1 维的数组
用户可以通过给Dim语句添加List运算符来声明一个列表。
声明:Dim Variablename List as Type
  Dim :定义变量
  Variablename 列表的名称
  List 定义为列表
  Type 列表的类型
例子:
  Dim PriceList List as Currency
  Dim ItemName as String
  PriceList(“apple”)=1.05
  ItemName=”Oranges”
  PriceList(itemname)=1.85
Messagebox PriceList(itemname)
输出结果为:弹出对话框 1.85

3.数组
数组是一组顺序下具有一系列的值,有一维数组,二维数组,LotusScript最多可以有8维。
声明一维数组:Dim valArray(5) as Integer 或 Dim ValArray(0 to 5) as integer
  这个数组的下标是从0开始到5,也就是数组ValArray有6个元素。
声明二维数组:dim TwoArray(1 to 5, 1 to 4) as Integer
这个数组的第一个元素是TwoArray(1,1) ,是一个二维数组
使用Option Base来改变数组的底数
当使用数组时,如果你的大脑能够很自然地想清楚它是从0开始而不是从1开始的,那么无论何时你要给arrayname(0)赋值都将不是问题。但是如果对这一点存在疑问,你可以通过改变LotusScript的功能来采取一些措施。如果你进入到Options例程中,便可以添加”Option Base n”的命令行,n是默认的数组底限。添加Option Base 1,将使默认的数组底限设置为1,则arrayname(1)会成为数组的第一个成员。然而,当你使用多维数组的时候,需要小心使用Option Base. Option Base将把一个三维数组的中心从(0,0,0)移动到(1,1,1),这是一个有趣的数学问题。
声明变长数组:Redim valarray(5) as string
变长数组是指原来的数组个数不够用时,需要重新定义数组的长度,有两种情况:
一. 先定义了一个数组,但是没有声明个数(dim valarray() as string),在以后用到的时候才用Redim来重新声明。如下例所示,输出zys字符串:
Dim valarray() as string
Redim valarray(4) as string
valarray(0)=”zys”
messagebox valarray(0)
二. 先声明了一个数组,并且给这个数组中的元素赋了值,然后想要重新定义数组的个数,可用Redim来重新声明,如果用户已经给数组赋了值,并且想保留它们,可以用PRESERVE关键字来进行保存,以防重新改变它们大小时,值被擦除掉。如下例所示:
例1:
Redim valarray(1) as integer
Valarray(0)=1
Redim valarray(2) as integer
Messagebox valarray(0)
输出结果为:0 
例2:
dim valarray() as integer
Redim valarray(2) as integer
Valarray(0)=1
Messagebox valarray(0)
输出结果为:0
例3:
以下是重新定义了数组后保留了原值的例子:
Redim valarray(1) as integer
Valarray(0)=1
Redim preserve valarray(2) as integer
Messagebox valarray(0)
输出结果为:1
  例1和例2的区别就在于第一次定义后能不能附值,在例1中第一次定义用的是redim, redim定义数组时必须定义该数组的上界,且定义以后可以直接赋值使用; 而例2中第一次定义用的是dim, dim定义数组时如果定义了上界,则可以直接赋值使用,并且不能再用redim重新定义,如果没有定义上界,则不能直接使用,并且必须用redim重新定义后才能赋值使用。  

两关于数组的特殊的函数
Lbound(valarray) 输出数组的下界
Ubound(valarray) 输出数组的上界