• lotus 公式学习心得(转帖 收藏)


    一、介绍
         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函数:终止

    出处:http://bbs.chinalotus.com/viewthread.php?tid=34044&extra=&page=1


     

  • 相关阅读:
    关于 implicit declaration of function Which should not record for myself
    Silverlight Tools 正式版发布附下载地址(11月25日更新 for Silverlight 2 RTW)
    WPF里的DependencyProperty(4)
    Silverlight支持XPS
    我们为什么要选择 Silverlight[转]
    分享silverlight源代码与实例
    Silverlight 中的 CoreCLR
    Flash读取cookie[转]
    Expression Studio 2.0和Blend2下载地址
    Flash读写cookie
  • 原文地址:https://www.cnblogs.com/ringwang/p/1279078.html
Copyright © 2020-2023  润新知