Domino开发实用技巧:数组、RTF处理与Ajax应用
需积分: 9 25 浏览量
更新于2024-10-08
收藏 7KB TXT 举报
本文档提供了一些关于Domino开发的关键知识点,包括处理用户名称、密码验证、提取URL参数、数组初始化、RTF字段操作以及循环处理数组元素。
1. 处理用户名称
在Domino开发中,我们经常需要处理用户名称。示例中的代码创建了一个`NotesName`对象,用于表示用户名。它从Excel工作表中获取值,并将其转换为标准的Canonical格式,然后将该名称添加到文档的"Creater"字段,并设置IsAuthors属性为True,表示创建者是文档的作者。
```vb
Dim userName1 As New NotesName(excelSheetDls.Cells(dlsNum, 1).Value + "/SC/MDCL")
Set item = docDls.AppendItemValue("Creater", userName1.Canonical)
item.IsAuthors = True
```
2. 密码验证
Domino提供了内置函数`@Password`用于处理密码。代码中展示了如何使用`Evaluate`函数来获取旧密码的验证结果,并通过`MsgBox`显示。这在用户密码更改或验证场景中非常有用。
```vb
Dim OldPass As Variant
OldPass = Evaluate("@password('" & docContext.OldPassWord(0) & "')", doc)
MsgBox OldPass(0)
```
3. 提取URL参数
这里定义了一个名为`midStr`的自定义函数,用于从字符串中提取指定范围的子串,例如从URL中获取特定参数。这个函数可以用于解析HTTP请求中的查询字符串,提取关键词或标志。
```vb
Function midStr(exprStr As String, startStr As String, endStr As String) As String
'提取起始字符串和结束字符串之间的子串
midStr = Mid$(exprStr, Instr(exprStr, startStr) + Len(startStr), Instr(exprStr, endStr) - Instr(exprStr, startStr) - Len(startStr))
End Function
```
4. 数组初始化
在VBScript中,我们可以动态初始化数组。示例中创建了一个二维数组`bjdmx`,用于存储特定数据。这种初始化方法适用于需要快速分配大量数据的情况。
```vb
Dim bjdmx() As String
ReDim bjdmx(1 To 7, 1 To numDjdx) As String
'现在数组bjdmx已经准备好接收数据了
```
5. 从文档字段获取NotesName对象
在Domino文档中,我们可能需要处理包含用户标识的字段。代码示例展示了如何从源文档的WFclr字段中获取NotesName对象。
```vb
Set nname = New NotesName(StrRight(sourceDoc.WFclr(0), "|")) '获取NotesName对象
```
6. RTF字段操作
Rich Text(RTF)字段在Domino文档中用于存储格式化文本。这段代码演示了如何向已有的RTF字段追加新的文本,如添加项目描述。
```vb
Dim rtitem As Variant
Set rtitem = doc.GetFirstItem("ProjectDescription")
If rtitem.Type = RICHTEXT Then
Call rtitem.AddNewLine(1)
Call rtitem.AppendText_ ("Book is 64 pages, full color.")
End If
```
7. 循环处理数组元素
在处理数组时,我们经常需要遍历所有元素。这个例子展示了如何使用For循环遍历一个数组的值,并根据条件执行某些操作。
```vb
Dim i As Integer
Dim j As Integer
Dim item As NotesItem
Set item = docTT.GetFirstItem(fieldName)
j = Ubound(item.Values)
For i = 0 To j
If itemVal = item.Values(i) Then
'在这里执行相应操作
End If
Next i
```
这些知识点涵盖了Domino开发中的基本操作,包括用户管理、数据验证、字符串处理、数组操作和富文本处理,对新手来说是非常有价值的入门学习资料。
2011-12-22 上传
2010-07-19 上传
2007-12-03 上传
2011-12-21 上传
2009-05-14 上传
2013-08-29 上传
2014-03-03 上传
liu_xingtao
- 粉丝: 0
- 资源: 4
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载