惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
罗磊的独立博客
SecWiki News
SecWiki News
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
IT之家
IT之家
博客园 - 聂微东
T
The Exploit Database - CXSecurity.com
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
Know Your Adversary
Know Your Adversary
Latest news
Latest news
Vercel News
Vercel News
G
GRAHAM CLULEY
D
DataBreaches.Net
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
SegmentFault 最新的问题
博客园_首页
雷峰网
雷峰网
T
Tenable Blog
Spread Privacy
Spread Privacy
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
Cisco Talos Blog
Cisco Talos Blog
V
Visual Studio Blog
J
Java Code Geeks
博客园 - Franky
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
C
CERT Recently Published Vulnerability Notes
T
Threatpost
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
P
Privacy International News Feed
T
Threat Research - Cisco Blogs
T
The Blog of Author Tim Ferriss
V
Vulnerabilities – Threatpost
Recent Announcements
Recent Announcements
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
U
Unit 42
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
K
Kaspersky official blog
有赞技术团队
有赞技术团队
B
Blog
腾讯CDC

博客园 - james.dong

初次使用T4引擎生成数据库表实体 - james.dong - 博客园 加快大表关联查询的速度(oracle) DataTable 排序 - james.dong - 博客园 查询oracle数据库中所有视图和表的信息 日期验证正规表达式( YYYY-MM-DD YYYY-MM-DD hh:mm:ss YYYY/MM/DD) windows2000server下 iis 无法下载 .exe , .dll文件的解决办法。 - james.dong C#中datagridview使用技巧系列谈(-)让输入焦点从左到右收藏 oracle中创建自增字段 .net 序列化和反序列化自定义treenode类 LotusScript基础知识(二) LotusScript中Option 的含义 Lotusscript中Instr()函数的功能和用法 System.Xml.XmlDocument.SelectNodes() 查询不到节点问题? - james.dong - 博客园 Combox控件实现类似TextBox控件的ReadOnly=true时的背景颜色和字体颜色!(WinForm) WPF 中的 BitmapEffect 的 各种样式 WPF相关文章汇总 使用List泛型,怎么排序 asp.net2.0解决用户控件图片相对路径出错的问题,ResolveUrl的用法 window.showModalDialog()时没有显示修改后的数据 - james.dong - 博客园
LotusScript基本语法知识(一)
james.dong · 2008-12-05 · via 博客园 - james.dong

.注释

 注释在程序运行中并不执行,只是让程序员在编写程序的时候添加的一些标记性的文字,但他的作用可不容忽视,在编写一个程序模块时说明这个模块的功能、作用、创建时间、作者等,这对以后的维护大有好处。一般在用户的脚本中插入头信息是一个不错的想法,如下事例:
‘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) 输出数组的上界