一、介绍
LotusScript及公式是Lotus Notes提供的一个完整的编程接口,是一种与BASIC兼容的程序设计语言。可以根据需要在NOTES的任意对象中附加LotusScript语句和公式。
LotusScript是一个完全面向对象的程序设计语言,具有丰富的类,方法和属性,包含有集成的对象浏览器和程序开发环境。
NOTES公式语言包含一整套的语法规则,提供丰富的命令和函数,可以对常量和变量进行计算,进行简单的逻辑控制。
二、.公式基础
(1)输入公式的方式(两种)
公式窗口
设计窗口
(2)公式语言的语法结构
词法元素:公式有一个或多个语句构成,一个语句可以有变量,常量,运算符,函数,关键字等构成如:CTX:=@Created
CTX是变量,:=是运算符,@Created是一个无参数的函数
语句含义:把文档的创建时间赋给变量CTX
如:@Trim(name)
@Trim是函数,参数name是一个域名
语句含义:把name值的多余空格去掉
如:@Promp([OK];"问候!";"您好! ")
@Promp是一个带三个参数的函数,参数[OK]是一个关键字,后面两个是文本常量
语句含义:显示一个对话框
如:LastName+", "+FirstName
LastName, FirstName是一个变量,+是一个运算符,", "是一个常量
语句含义:将LastName,一个逗号和空格号, FirstName合并在一起
通用语法规则(必须遵循)
语句分隔符:使用分号分隔多哥语句
如:FIELD txtmap:=txtmc;FIELD txtmc:=@DeleteField
空格:在运算符,标点和值之间可以有任意多个空格,也可以没有,必须有一个来区分关键字,文本常量中的空格也很重要。
大小写:除了在文本常量中之外,其他都没分别
运算符和值:两个值之间至少有一个运算符间隔。
变量:(两种)域和临时变量
域:公式可以访问正在被处理的问档的域(名字和类型指定)
数据类型:如如果Totalvalue是一个数字域,则不能用@Prompt直接显示
应该 @Prompt([OK];"问候!";@Text(Totalvalue));
RTF文本域:不能进行赋值计算
如:BodyText是一个RTF文本域,不能直接显示,也不能使用@Text,可以访问属性。判断是否为RTF文本域:
@Prompt(OK],"是RTF文本域吗?";@if(@IsAvailable_(BodyText);"yes";"no"))
列表:一种包含多值的域@Elements(Locations) 返回列表中值的数目
域值:可以利用公式来指定。
如:FIELD Subject:="设计主题"
空域:等价于文本常量中""
如:FIELD Test:=if(Test="";"域值为空";Test)
删除域:可以使用@DeleteField从文档中删除域
如:FIELD BodyText:=@DeleteField
表单域:没保存,则Form的域包含表单的名称保存,则域$TITLE,$Info,$WindowTitle和$Body反映表单的属性
如:@Prompt([OK];"表单名";@if(IsAvailable(Form);Form;$TITLE))
语句含义:显示用来创建当前的表单的名字
例:删除保存在当前文档中的表单Test_Form,并且用数据库中的表单First_Form来代替它
SELECT $TITLE="Test_Form";
FIELD $TITLE:=@DeleteField;
FIELD $Info:=@DeleteField;
FIELD $WindowTitle:=@DeleteField;
FIELD $Body:=@DeleteField;
FIELD Form.:="First_Form"
临时变量:只能用于公式中创建一个临时变量:variablename:=value;两者数据类型相同
如:data:=@Created;month:=@Text(@Month(data));@Prompt([OK];"当前月份";month+"月")
常量:(三种)文本常量,数字常量,时间-日期常量
文本常量:注意@Repeat,"\"的使用
数字常量:整数,小数,正负号,科学计数
时间/日期常量:
操作符:
优先级:赋值运算>列表运算>符号运算>算术运算>比较运算>逻辑运算
计算顺序:(注意)
赋值操作符:
列表操作符:
如:Test:="长沙英华":"中南工大":"湖南师大";Res:=Test:"长沙教育学院"
一元操作符:
算术操作符:
文本操作符:
比较操作符:
逻辑操作符:
@函数:
语法:函数的通用格式:
@function-name(argument1;argument2;....)返回值:
附加效果:
@命令:@Command和@PostedCommand函数执行一个NOTES命令。
@Do命令:按顺序执行一系列语句
@Return函数:终止
分享到:
相关推荐
### LotusScript及公式学习心得 #### 一、LotusScript简介 LotusScript是由IBM Lotus Notes平台提供的一个完整的编程接口,它是一种与BASIC兼容的程序设计语言。LotusScript的强大之处在于它允许用户根据需求在...
LotusScript学习资料,详细介绍了LotusScript的语法,配有丰富的例子;值得一看……
4. **特殊字符用法及含义**:"LotusScript中特殊字符用法及含义.pdf"将详细解析在LotusScript代码中常见的特殊字符,如转义字符、分隔符等,以及它们在字符串处理和正则表达式中的作用。 5. **LotusScript语言的...
学习LotusScript时,你需要了解变量声明、数据类型(如字符串、数字、日期/时间等)、控制结构(如条件语句、循环)、函数和过程,以及如何调用这些来执行特定任务。 在LotusScript中,类和对象的概念是关键。你...
它基于Visual Basic,因此对于熟悉VB的开发者来说,学习LotusScript相对较为容易。本教程将带你入门LotusScript的基本语法,帮助你理解并掌握其核心概念。 一、变量与数据类型 在LotusScript中,变量声明可以不指定...
在LotusScript编程中,注释是非常重要的组成部分,它有助于理解代码的功能及用途。LotusScript提供了两种注释方式: 1. **单行注释**:可以通过在一行的开始处添加一个单引号 `'` 或 `REM`(Remark的缩写)来创建...
- **面向对象的Notes访问**:通过面向对象的方式,LotusScript提供了对Notes用户界面及NSF文件(即文档库)的访问能力,这极大地扩展了开发者的编程空间。 **1.3 事件驱动环境** LotusScript运行于Notes环境中,这...
判断Notes中什么时候使用LotusScript或公式语言 1)任何时候当执行该任务的函数或命令存在时,使用公式。 2)对于复杂的程序控制或循环,使用LotusScript。 3)存取或操作储存的文档数据要使用LotusScript,特别对于跨...
在这个"LotusScript中文帮助文档(R4版本)"中,我们可以深入学习LotusScript的各种概念和用法。 在R4版本的时代,Lotus Notes和Domino是企业级协作和应用开发的重要平台。LotusScript作为其主要的编程语言,提供了...
### LotusScript 代理获取 URL 的传值及解码 #### 一、背景介绍 在 Domino 服务器的应用开发中,我们经常需要处理通过 AJAX 技术从前端提交到后端的数据。其中,一个常见的问题是中文字符的乱码问题,尤其是在 POST...
本文将深入探讨LotusScript的学习路径及其核心概念。 首先,LotusScript支持面向对象编程(OOP)。类是OOP的基础,它定义了一组具有相似属性和行为的对象。在LotusScript中,类包含属性(数据成员)和方法(函数)...
8. **PDF文档**:“LotusScript for the Terrified R5 Update.pdf”可能是一个教程,讲述了如何在恐惧中克服LotusScript的学习障碍,包括基础概念、实例和最佳实践。 9. **压缩文件**:“lab4thru6 R5 update.zip”...
LotusScript程序开发经验总结LotusScript程序开发经验总结LotusScript程序开发经验总结LotusScript程序开发经验总结LotusScript程序开发经验总结LotusScript程序开发经验总结LotusScript程序开发经验总结LotusScript...
### 如何在LotusScript中调用C程序 在探讨如何在LotusScript中调用C程序之前,我们首先简要了解一下LotusScript与C语言的基本特性及其应用场景。 #### LotusScript简介 LotusScript是一种基于Visual Basic语言环境...
综上所述,通过以上步骤和关键知识点的介绍,我们可以有效地在LotusScript环境中实现对Excel文件的解析及数据转换功能。这不仅能够满足日常业务需求中的数据导入导出场景,还能提高系统的自动化程度和用户体验。
### LotusScript语法详解 #### 一、LotusScript概述与语法特点 LotusScript是一种用于IBM Notes/Domino平台的应用程序脚本语言,其语法结构类似于Visual Basic (VB)。LotusScript支持面向对象编程,并提供了丰富的...
经过修改和测试,已经做出类似公式@mailsend的lotusscript代码。 已经用在多个程序中!
除了公式语言之外,还可以通过LotusScript来实现更复杂的逻辑。下面是一段示例代码,展示了如何使用LotusScript为文档中的字段赋值并添加超链接: ```vb ' 假设文档对象名为doc ' 获取名称字段和链接地址字段 Dim ...