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

推荐订阅源

V2EX - 技术
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
GbyAI
GbyAI
The Cloudflare Blog
小众软件
小众软件
MyScale Blog
MyScale Blog
IT之家
IT之家
H
Help Net Security
宝玉的分享
宝玉的分享
V
Visual Studio Blog
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
博客园_首页
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
The Hacker News
The Hacker News
有赞技术团队
有赞技术团队
Microsoft Security Blog
Microsoft Security Blog
Know Your Adversary
Know Your Adversary
Project Zero
Project Zero
P
Palo Alto Networks Blog
博客园 - 聂微东
罗磊的独立博客
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Engineering at Meta
Engineering at Meta
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
U
Unit 42
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
Cisco Talos Blog
Cisco Talos Blog
Last Week in AI
Last Week in AI
L
Lohrmann on Cybersecurity
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyberwarzone
Cyberwarzone
G
Google Developers Blog
C
Cybersecurity and Infrastructure Security Agency CISA
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
T
Tailwind CSS Blog
雷峰网
雷峰网
C
Cisco Blogs

博客园 - 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) 输出数组的上界