大家好,才是真的好。
本篇我们主要讲述Domino V12.0.x中的LotusScript语言新特性。
首先进行一下概念普及,LotusScript是主要是Notes/Domino产品中使用的面向对象编程语言,当然LotusScript也可以在另外一些产品中使用,不过现在的人肯定很陌生,例如Lotus 1-2-3。另外,LotusScript也可以通过OLE库来访问MS Office文档。
很多外行把LotusScript直接称之为VB,这是有一定道理,因为LotusScript和VB都是从B语言演化而来,具有非常类似的代码语法和结构,不过其中的对象类大有不同。
Notes/Domino平台这几年升级很快,更多人主要关注平台整体特性,很少有人关注,LotusScript这几年到底发生了什么进步。今天介绍的是Notes Domino V12.0.1中带来的一项新的LotusScript特性,就是Notes命名文档。
Notes命名文档和以前我们用到的简要表文档非常类似,用来存储用户或应用参数,不显示在任何文件夹或视图中,只能通过后台代码的方式来进行访问;但同时也有很大的不同,命名文档使用字符串键存储和检索Notes文档,存储读取速度也快,而且命名文档没有NoteID属性等。
我们先看下面几行简单代码:
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc = db.GetNamedDocument("docName1")
该代码中的db.GetNamedDocument一行,就是在当前的Notes数据库中创建了一个docName1名称的文档。
这个文档是一个空文档,啥也没有。GetNamedDocument方法是Domino V12.0.1中的NotesDatabase对象新增的方法,里面有两个参数,语法是Set doc = db.GetNamedDocument( , ),name参数即文档的名称,userame参数用来指定和命名文档相关的用户。
这个文档不需要使用save方法即已经保存在Notes数据库中,现在你可以给它创建字段并进行数据存储,例如
Dim s As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = s.CurrentDatabase
Set doc = db.GetNamedDocument("docName1")
Call doc.ReplaceItemValue("subject","我是一个命名文档")
Call doc.ReplaceItemValue("body","这是我的body字段,也不用保存,我就会存在数据库中")
Msgbox doc.body(0)
运行该代码则出现下列提示:
现在我们总结一下:Notes命名文档是一类特殊的文档,类似于以前的简要表文档,用来存储用户自己想存放的参数或数据。这些参数和数据不会出现在任何Notes数据库属性、文件夹和视图当中,它通过字符串键存储和检索,访问后也可以使用普通的Notes文档操作来进行字段读取、更新等,特点是存取速度快,可以和已有的数据进行分离。
为了匹配Notes命名文档,其实LotusScript还更新了一些的方式和属性,如下图:
本篇主要是让大家了解Notes命名文档的概念,也能在应用开发过程中灵活运用。
限于篇幅,今天我们就讲这么多吧。
更多精彩内容,请关注微信公众号:协作者