




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Lotus Script语法基础篇注释注释在程序运行中并不执行,只是让程序员在编写程序的时候添加的一些标记性的文字,但他的作用可不容忽视,在编写一个程序模块时说明这个模块的功能、作用、创建时间、作者等,这对以后的维护大有好处。一般在用户的脚本中插入头信息是一个不错的想法,如下事例:Script name: Connect internetAuthor: zynetLast Modified: 6/23/08Description: Connect my webserver.1.单行注释:通过输入一个单引号( )或REM ( Remark的缩写 )来添加。2.多行注释:%Rem %End Rem 所以以上例子也可以写成这样:%REM Script name: Connect internetAuthor: zynetLast Modified: 6/23/08Description: Connect my webserver.%END REM变量和数据类型1.声明变量Dim Variablename as typedim是dimension的缩写,为变量的值在内存中创建一个空间。Variablename 是变量的名称,一个变量的名称一定要以字母开头,其后可以是字母、任何数字以及下划线,变量的名称不区分大小写,最多可容纳40个字符。Lotus中有一些保留字,大部分是指令和语句,它们不能被用做变量名。type是数据类型,可以是Boolean、Byte、Integer、Long、Single、Double、Currency、String、Variant 当然以后在介绍面象对象的时候还涉及到类和对象的定义,也是这个声明格式,这些在以后再介绍。类型 值 Size类型值SizeBoolean真 (-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字节Variant类型是这几种数据类型中最特殊的,他是一个变体类型,当定义的一个Variant型的变量时,可以给他赋以上任何一种类型的数据。但是他也是占用内存最多的一个数据类型。Currency类型则是最不常用到的,我以前都不知道有这样一个类型,如果有高手看到这里有不同的看法,可以发邮件给我,大家交流一下,可能有其他的特殊用途。2.列表用户可以通过给Dim语句添加List运算符来声明一个列表。声明:Dim Variablename List as TypeDim :定义变量Variablename 列表的名称List 定义为列表Type 列表的类型例子:Dim PriceList List as CurrencyDim ItemName as StringPriceList(“apple”)=1.05ItemName=”Oranges”PriceList(itemname)=1.85Messagebox PriceList(itemname)输出结果为:弹出对话框 1.853.数组数组是一组顺序下具有一系列的值,有一维数组,二维数组,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 stringRedim valarray(4) as stringvalarray(0)=”zys”messagebox valarray(0)二 先声明了一个数组,并且给这个数组中的元素赋了值,然后想要重新定义数组的个数,可用Redim来重新声明,如果用户已经给数组赋了值,并且想保留它们,可以用PRESERVE关键字来进行保存,以防重新改变它们大小时,值被擦除掉。如下例所示:例1:Redim valarray(1) as integerValarray(0)=1Redim valarray(2) as integerMessagebox valarray(0)输出结果为:0 例2:dim valarray() as integerRedim valarray(2) as integerValarray(0)=1Messagebox valarray(0)输出结果为:0例3:以下是重新定义了数组后保留了原值的例子:Redim valarray(1) as integerValarray(0)=1Redim preserve valarray(2) as integerMessagebox valarray(0)输出结果为:1例1和例2的区别就在于第一次定义后能不能附值,在例1中第一次定义用的是redim, redim定义数组时必须定义该数组的上界,且定义以后可以直接赋值使用; 而例2中第一次定义用的是dim, dim定义数组时如果定义了上界,则可以直接赋值使用,并且不能再用redim重新定义,如果没有定义上界,则不能直接使用,并且必须用redim重新定义后才能赋值使用。 两关于数组的特殊的函数Lbound(valarray) 输出数组的下界Ubound(valarray) 输出数组的上界选择和循环语句1.if语句If condition thenstatementsElseif condition thenstatementsElsestatementsEnd if2.Select语句Select Case selectexprCase conditionListStatementsCase conditionListStatementsCase ElseStatementsEnd Select3.语句for conntvar=first to Last Step incrementstatementsnext countvar4.while语句While conditionStatementsWend5.Do While/until Loop语句永远循环DoStatementsLoop先检查条件,再循环Do while conditionStatementsLoopDo until conditionStatementsLoop先循环,后检查条件DoStatementsLoop while conditionDoStatementsLoop until condition6. ForallForAll refVar in containerstatementsEnd ForAll例子:Sub Click(Source As Button)Dim short(5) As Integer Forall x In shortx=1End ForallEnd Sub结果:给short数组的每个元素赋值中途退出循环Exit LoopType说明:looptype: for, while, do子事例、函数、声明、作用域1. 子事例子事例也就是子过程,在编程窗格中单击一个按钮的click子事例就会打开如下click子事例:Sub Click(Source As Button)messagebox “hello word!”End Sub你可以在这个子事例中写出代码,如messagebox “hello word!” ,这是系统默认建立的一个单击子事例,同样的你可以建立自己的子事例如下:Sub Click(Source As Button)messagebox “hello word!”dim name=”lotus script”OutputName(name) 调用子事例OutputNameEnd SubSub OutputName(name as string) 建立的新子事例,功能是输出参数name的值Messagebox nameSub输出结果为:弹出窗口lotus script子事例是没有返回值的,函数的使用和子事例差不多,但是函数有返回值。如果想在子事例中返回一个值的话可以定义一个全局变量,然后给这个变量赋值就能达返回值的功能,如何定义一个全局变量将在作用域中讲到。2. 函数程序员都知道函数的作用,我就不多说了,这里只说明一下定义和使用的格式Sub Click(Source As Button)Dim a As Integer Dim b As Integer Dim c As Integer a=3b=4c=Sun(a,b) 使用求和函数得到a和b 的和Messagebox Cstr(a)+Cstr(b)+=+Cstr(c)End SubFunction Sun(a As Integer ,b As Integer ) As Integer 定义函数Sun, 功能是返回两个参数的和c=a+bsun=c 给函数名赋值就是这个函数的返回值。End Function 输出结果:弹出对话框a+b3. 控制变量是否在需要声明才有效如果用户在脚本的options部分中设置了option declare, 那么就一定要声明所有的变量,不管它们是什么类型。默认是可以不声明的,如下例:例1 (没有设置 option declare)Sub Click(Source As Button)TestVar=”hello word !”Messagebox TestVarEnd Sub输出结果为:(弹出对话框)hello word!例2 (设置了 option declare)Option DeclareSub Click(Source As Button)TestVar=”hello word !”Messagebox TestVarEnd Sub在保存的时候就会出现错误:Variable not declared:TestVar4. 作用域LotusScript的作用域分为三个,从小到大分别为:子事例或函数、对象(如按钮、域等)、窗体(如表单、视图等)(1)子事例或函数如果在子事例或函数中定义的变量只能在此子事例或函数中使用,在另外一个是不能用的,如下:Sub Click(Source As Button)Dim TestVar As StringTestvar=hello word!End SubSub outputStrMessagebox testvarEnd Sub输出结果:弹出对话框为无值因为TestVar是在Click子事例中定义的,所以只能在Click子事例中使用,在OutputStr子事例中是不起作用的。(2) 对象(如按钮、域等)在对象中定义的变量中能在此对象中使用,包括这个对象的所有子事例,在另外一个对象中是不能用的,如下:Dim TestVar as String 在(Declarations)中定义Sub Click(Source As Button)Testvar=hello word!End SubSub outputStrMessagebox testvarEnd Sub输出结果:弹出对话框hello word!因为TestVar是在对象中定义的,所以在这个对象中的所有子事例或函数都起作用。(3) 窗体(如表单、视图等)在窗体中定义的变量可以在这个窗体中的任何对象中使用,如下:(Globals)test 窗体 Dim TestVar as St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电缆工考试题及答案
- 登高证考试题及答案
- (正式版)DB15∕T 3226-2023 《液化天然气单位产品电耗限额》
- 多平台用户信息整合工具
- 养老护理实操考试试题库及答案
- 大学民歌考试题及答案
- 文化传播推广效果承诺书5篇
- 往日的点烁星光の我愿意一生都在歌唱300字10篇
- 内部协作规定协议的指导
- 公司员工职业发展规划与指导手册
- 非营利组织纳税管理制度
- 2025年新疆维吾尔自治区中考物理真题含答案
- 数字健康行为干预-第1篇-洞察及研究
- 2025至2030年中国核辐射探测器行业市场行情监测及前景战略研判报告
- 酒类小作坊管理制度
- 中国皮肤基底细胞癌诊疗指南2023
- 党性主题教育理论测试题及答案
- T/CECS 10348-2023一体化净水设备
- 骨科与麻醉科加速康复围手术期患者血液管理共识
- 打造卓越电信网络-优化技术引领业务增长
- 《医疗机构工作人员廉洁从业九项准则》解读
评论
0/150
提交评论