壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 760|回复: 1

[新手上路] [原创]LotusScript 及公式的学习

[复制链接]
发表于 2005/1/10 13:37:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
1.LotusScript及公式是Lotus Notes提供的一个完整的编程接口,是一种与BASIC兼容的程序设计语言。可以根据需要在NOTES的任意对象中附加LotusScript语句和公式。
LotusScript是一个完全面向对象的程序设计语言,具有丰富的类,方法和属性,包含有集成的对象浏览器和程序开发环境。
NOTES公式语言包含一整套的语法规则,提供丰富的命令和函数,可以对常量和变量进行计算,进行简单的逻辑控制。
2.公式基础:
   (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函数:终止



                                 


[本贴已被 空空空 于 2005-1-10 14:05:45 修改过]
发表于 2005/1/10 17:45:39 | 显示全部楼层
不错,应该置顶,不过我没有权限哦。呵呵!

/鼓掌
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 00:05 , Processed in 0.016907 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表