LotusScript及公式学习心得(转)

一、介绍

  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函数:终止

28. 在Lotus Notes中利用公式使配置数据更灵活 公式语言虽然与LotusScript相比有很多限制,不适合用来写复杂的逻辑,但是简单的语法和丰富的函数使其可以作为一种表达式语言,用于诸如计算字段选项和列值的地方。LotusScript里的Evaluate函数本意是用公式增强脚本,补足它尚没有的功能。这一特色用在文档的域值上,却可以使配置数据大大灵活。比如在流程配置里设置用户,就可以使用公式{@If(Office="ABC"; "Test2/AB 阅读详情

相关推荐

30. 使用LotusScript排序

排序是计算机编程中最常见的任务之一,排序算法也是最基本和常用的算法。存在许多种排序算法,它们的效率和复杂性各不相同。在LotusNotes中,公式语言里有@Sort函数,对List排序。LotusScript里没有类似的可以用作容器的数据结构,也就没有提供针对它们的排序功能。另外,使用LotusScript开发时,主要的数据对象是NotesDocument,而它们的排序都已经在视图里完成了,所以需

JavaScript 4093

LotusScript基础入门学习笔记(1)

1.LotusScript概述 1.1声明对象      Dim var as type  'var为变量名,type为变量的类型 1.2变量的复制      var="hello,wolrd"   'var为string      set var =New NotesDatabase("Domestic","Sales.nsf") '将一个类赋值给变量,此时注意set! 2.Lotu...

weixin_36369311的博客 2349

LotusScript基本语法知识

LotusScript基本语法知识,个人收集和总结,希望对大家有帮助.

LotusScript基础入门学习笔记(2)

1.LotusScript类 1.1前端类 ·NotesUIDatabase :代表Notes工作台上打开的数据库 ·NotesUIDocument :用于用户访问当前文档 ·NotesUIView :代表当前的数据库视图 ·NotesUIWorkspace :帮助用户访问Notes当前的工作台 ·Button :代表表单或文档上的操作按钮、热点或按钮 ·Navigator :代表一个导航器上...

weixin_36369311的博客 2681

在LotusScript中取得当前用户名的几种方法

\'在LotusScript中取得当前用户名的几种方法 假设当前用户为\"microsand/edrc/china\" 一、 user=Session.Commonusername 值为\"microsand\" 二、 user=Session.username 值为“CN=microsand/OU=edrc/O=China”

LotusScript中文帮助文档

LotusScript中文帮助文档(R4版本的),感觉还是很有用的!分享给大家了!

lotuscript高级编程技术汇总

lotuscript高级编程技术汇总LotusScript 是完全面向对象的编程语言。它通过预定义的类与 Domino 接口。Domino 监控用户代码的编译和加载,并且自动包含 Domino 的类定义。  访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能

superes的博客简介 1151

Lotusscript代理获取url的传值及解码

在domino服务器中,通过ajax将数据提交后台时中文乱码的处理

lotusscript基本语法

LotusScript是一种使用于Lotus Notes客户端程序或者是用于Domino服务器程序代理列表中的脚本语言。相当于用于网页中的脚本语言JavaScript。(JavaScript以可以用于Lotus Notes程序。)被描述为“类似BASIC”的 LotusScript在访问后台数据库和驱动客户端用户界面方面也很有用。LotusScript可以使用Lotus Domino Design...

weixin_30699235的博客 481

LotusScript语法入门中文版

LotusScript语法入门中文版 PDF格式。

lotusScript语法

lotusScript 语法以及使用指南

LotusScript及公式学习心得

一、介绍   LotusScript及公式是Lotus Notes提供的一个完整的编程接口,是一种与BASIC兼容的程序设计语言。可以根据需要在NOTES的任意对象中附加LotusScript语句和公式。   LotusSc...

cuinaozun7188的博客 321

电商项目功能简述

1.电商行业的技术特点 1.技术性 2.技术范围广 3.分布式 4.高并发,集群,负载均衡,高可用 5.海量数据 6.业务复杂 7.系统安全 2.电商行业的模式 B2B:企业到企业,商家到商家.代表:阿里巴巴 B2C:商家到客户.代表:京东.淘宝商城 C2C:客户到客户.淘宝集市 O2O:线上到线下 3.B2C电商系统架构功能模块 4.B2C电商系统架构功能描述 后台管理系统:管理商品、订单、类...

weixin_45116848的博客 9744

使用Evaluate函数 可以使 公式语言在lotusScript使用

docUI.reviewmember=Evaluate("@unique(reviewmember)",docUI)'使用Evaluate函数 可以使 公式语言在lotusScript使用

ben9518chen的博客 720

基于结构的虚拟筛选模型 gnina 从源码编译

所需要的软件安装包: 安装 CUDA 装的时候看着点,第二个要你装驱动的选择,回答N,不装。 sudo sh cuda_10.0.130_410.48_linux.run sudo vim ~/.bashrc 在 ~/.bashrc 文件最后加上 export PATH=/usr/bin:/usr/local/cuda-10.0/bin${PATH} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH} source ~

周迪新的博客 3188

别再到处找模型了!手把手教你用Xinference+Docker部署本地私有大模型(Llama2/Qwen实战)

本文详细介绍了如何使用Xinference和Docker部署本地私有化大模型(如Llama2/Qwen),涵盖硬件配置、模型管理、Docker部署及性能优化等关键步骤。通过实战案例,帮助开发者快速构建企业级AI推理服务,确保数据安全与高效运行。

weixin_28683065的博客 232

几个有用的LotusScript函数

几个有用的LotusScript函数

XZZ_2018的博客 273

STM32F407与AD7766实战:如何用SPI+DMA实现高速ADC数据采集(附完整代码)

本文详细介绍了如何利用STM32F407的SPI接口与DMA控制器,高效稳定地驱动24位高精度ADC芯片AD7766,实现高速连续数据采集。通过对比传统中断方式的瓶颈,阐述了SPI+DMA方案如何大幅降低CPU负载,并提供了从硬件设计、CubeMX配置到核心驱动代码的完整实战指南,帮助工程师解决高速ADC数据采集中的性能难题。

weixin_29281941的博客 187

LotusScript下的 @Explode 函数(把字符串分隔成数组的函数)

LotusScript的函数如下: Function Explode(Byval sInput As String, ByVal sDelimiter As String) As Variant     Dim sOutput As String     Dim aOutput() As String     Dim nPos As Integer     Dim nNextPos As Inte

2281

聚焦112Gb/s SerDes芯片的AN/LT端口自协商和链路学习,评估验证高速链路的信号质量并分析调优(400/800G高速以太网互联接口,AI加速卡网络RDMA性能测试,交换背板接口性能评估)

在112G SerDes高速通道下的400G/800G高速以太网端口下,如何保障通信速率,验证SerDes的数据完整性和链路余量,自动协商(AN)和链路训练(LT)功能显得尤其重要,其在DAC、ACC、AEC铜缆连接或高速背板通信上,自动协商(AN)和链路训练(LT)的工作与否将决定高速链路传输质量的优劣。本文将系统的讨论介绍自动协商(AN)和链路训练(LT)的测试流程,其可以独立使用,也可以与teledynelecroy SierraNet M1288配合使用。

专注有线以太网性能测试--丹麦信雅纳网络(Xena Networks) 9402

【电路设计实战】BUCK降压电路:从原理到PCB布局的降噪与效率优化

本文深入剖析了BUCK降压电路的工作原理,并针对其固有的开关噪声问题,提供了从核心元件选型到PCB布局的全面优化方案。文章重点探讨了电感、电容等关键元件的选型要点,强调了低ESR电容和肖特基二极管的重要性,并详细阐述了如何通过最小化功率回路、保护敏感信号线等PCB布局实战技巧,有效抑制噪声、提升效率与稳定性。

weixin_29304021的博客 221

lotusscript学习

LotusScript 是完全面向对象的编程语言。它通过预定义的类与 Domino 接口。Domino 监控用户代码的编译和加载,并且自动包含 Domino 的类定义。 访问现有的对象最好使用 LotusScript,例如:根据其他文档的值来更改一个文档中的值。LotusScript 提供了一些公式没有的功能,例如:操作数据库存取控制列表 (ACL) 的能力。  写script关键是取对象

biaorger的专栏 1140

TGRS 2026 即插即用 | 注意力篇 | SCFM:双向交叉显著性引导注意力,高层语义与低层细节的双向互补!

本文介绍了MPCNet中的语义引导交叉注意力融合模块(SCFM),该模块通过双向交叉显著性引导机制实现跨尺度特征融合。SCFM创新性地结合了高层语义和低层细节的互补信息,通过轻量局部空间注意力预增强和坐标注意力全局融合引导,显著提升了红外小目标检测的精度。实验表明,SCFM在多个数据集上达到SOTA性能,同时保持轻量高效的计算特性,支持端侧设备部署。 SCFM的核心贡献包括: 双向交叉显著性引导机制,实现语义与细节的互补融合 轻量局部空间注意力预增强模块,计算量仅为传统方法的1/10 坐标注意力全局融合引导

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 146

综合使用JavaScript、LotusScript Agent和Formula的技巧1

一 概述在使用 Designer开发B/S模式的应用时,JavaScript、LotusScript和Formula是我们主要用到的三种开发语言。它们在各自的位置都有着很强劲的优势。1. JavaScript因为只能取得浏览器端的数据,不能访问Notes DOM;所以,主要用在浏览器端的数据验证、信息提示等对当前Brows窗口操作易的用性功能。2. LotusScript能访问Notes DO

人生执著才精彩 4359

桌面实施远程光电体积描记法:使用面部视频测量心率的C++详细指南

在现代医疗和健康监测领域,心率是一个非常重要的生理参数,它可以为我们提供关于身体健康状况的重要信息。但是,随着技术的进步,现在我们有了一种新的方法,称为远程光电体积描记法(rPPG),它可以无需与皮肤接触就测量心率。然后,我们从面部颜色的信号序列中提取绿色通道的值,因为绿色通道对于心率的变化最为敏感。在上述代码中,我们使用了OpenCV库,它是一个开源的计算机视觉库,非常适合这种应用。这种变化是由于血液流动引起的,当心脏跳动时,血液流经面部,导致肤色的轻微变化。要实现rPPG,首先需要检测并跟踪人脸。

qq_38334677的博客 608

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LotusScript语言的基本知识

一、概述 LotusScript是一种和Basic相兼容的面向对象的Scripting环境,它具有强大的能够从事面向对象应用软件开发的语言范围,能够提供循环和分支的能力、数组以及访问Notes对象的能力。 判断Notes中什么时候使用LotusScript或公式语言 1)任何时候当执行该任务的函数或命令存在时,使用公式。 2)对于复杂的程序控制或循环,...

weixin_33958366的博客 271

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: Java 中 Vector、ArrayList、List 使用深入剖析(转)
下一篇: Lotus中常用的功能按钮公式
avanry
博客等级 码龄20年 4粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值