`
tianke66
  • 浏览: 187968 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

关于在lotus domino中分割字符串的问题!

阅读更多
以前用lotus domino为客户写的办公自动化程序,出了问题
发现用lotus的@contains函数存在问题,当要判断的字符串太大时,就会报错.
这是以前的写法:
 NotesMacro$="@contains("""+sendto+""";"","")"
 Dim flag As Variant 
 flag=Evaluate(NotesMacro$) '当sendto很大时,这句话会报错误,导致执行不下去
 '当发送多个用户时,先将文本串转换成文本列表,在赋值
 If flag(0) Then
  NotesMacro$ = "@Explode("""+sendto+""";"","")"
  mailDoc.sendto =Evaluate(NotesMacro$)  
 Else
  mailDoc.sendto=sendto  
 End If
这是修改后的写法:
先写一个分割字符串的函数:  
Function ParseString(StringToParse As String,Delim As String) As Variant
' Returns an array containing the results of parsing
' a string based on the specified delimiter.
' If StringToParse or Delim is empty returns Null
' If Len(Delim) >= Len(StringToParse returns Null
' If StringToParse does not contain the delimiter, returns
' the entire string.
 Dim a() As String
 Dim s As String
 Dim DelimPos As Integer
 Dim count As Integer 
 If Len(StringToParse) = 0 Or Len(Delim) = 0 Then
  ParseString = Null
  Exit Function
 End If
 
 If Len(Delim) >= Len(StringToParse) Then
  ParseString = Null
  Exit Function
 End If
 
 DelimPos = Instr(1, StringToParse, Delim)
 If DelimPos = 0 Then
  Redim a(0)
  a(0) = StringToParse
  ParseString = a
  Exit Function
 End If
 
 s = StringToParse
 count = 0
 
 Do
  Redim Preserve a(count)
  a(count) = Left(s, DelimPos - 1)
  s = Right(s, Len(s) - (DelimPos + Len(Delim) - 1))
  count = count + 1
  DelimPos = Instr(1, s, Delim)
  If DelimPos = 0 Then
   Redim Preserve a(count)
   a(count) = s
   s = ""
  End If
 Loop Until Len(s) = 0 
 ParseString = a
End Function
然后将上面的语句修改为:
mailDoc.sendto=ParseString(sendto,",")
问题解决!
分享到:
评论

相关推荐

    lotus domino 开发资料 字符串替换

    在Lotus Domino开发中,字符串处理是...在实际项目中,可能还会遇到其他字符串处理需求,例如分割字符串、查找子串、转换大小写等,因此,了解并掌握这些基础函数和自定义方法对于提升Lotus Domino开发能力至关重要。

    lotus domino BS开发获取在线用户例子

    总的来说,获取Lotus Domino BS开发中的在线用户,主要是通过`NotesSession`对象与服务器交互,执行特定的控制台命令,然后解析返回的字符串结果,从而获取并处理每个在线用户的详细信息。这个过程需要理解Lotus ...

    lotus domino 数组使用归纳总结

    - **数组字符串相关.doc**:可能涵盖了如何处理字符串数组,包括创建、连接和分割字符串数组。 - **数组中删除一个元素.txt**:展示如何在数组中模拟删除元素的过程,可能通过创建新的数组来实现。 - **判断是数组....

    Lotus关于获取URL字符串参数

    ### Lotus中获取URL字符串参数的方法 在Web应用开发中,从URL链接中提取参数...通过上述两个自定义函数,开发者可以在Lotus Domino环境中灵活地处理URL中的查询字符串参数,从而实现对动态页面内容的有效控制和管理。

    lotus domino BS开发在线人数java版

    通过将响应字符串按`\n`分割,然后对每一行按`\t`分割,可以获取每个用户的详细信息。如果用户连接协议为"HTTP",则认为该用户在线,并将其用户名添加到HashSet中以去重。 `getOnlineUsers`方法处理了服务器响应的...

    lotus domino BS开发在线人员明细

    Lotus Domino BS开发是指在浏览器-服务器(Browser-Server)架构下进行的Lotus Domino应用程序开发。在这种模式下,用户通过Web浏览器访问基于Lotus Domino的应用,而服务器端处理业务逻辑和数据存储。本示例代码是...

    lotus domino BS开发 在线人员人数

    在Lotus Domino BS(Browser-Server)开发环境中,开发人员可以创建Web应用程序,这些应用程序能够与Lotus Domino服务器进行交互,实现数据存储、用户协作等功能。本文将深入探讨如何在Lotus Domino BS开发中获取...

    lotus domino AJAX java打印json

    在Lotus Domino开发中,有时候我们需要通过AJAX技术与服务器进行交互,以实现动态更新前端页面的数据。在本例中,我们讨论的是如何在Lotus Domino后台使用Java编写代理来处理AJAX请求,并返回JSON格式的数据。 首先...

    Lotus Notes/domino@命令大全(中文)

    92. **@Split**: 分割字符串。例如,`@Split("text, to, split", ",")`。 93. **@Sqrt**: 平方根。例如,`@Sqrt(16)`。 94. **@Substitute**: 替换字符。例如,`@Substitute("text", "t", "T")`。 95. **@...

    Lotus Notes开发指南

    - 讲解了如何使用公式语言进行字符串的拼接、分割等操作。 **8.6 算术操作** - 介绍了一系列算术运算符及其使用方法。 **8.7 执行时间-日期计算** - 提供了时间与日期的计算方法,如日期相加减、获取当前日期等...

    Domino常用公式

    在Lotus Domino环境中,公式语言是一种非常强大的工具,用于执行各种计算和逻辑判断任务。它不仅支持基础的数学运算,还具备复杂的字符串处理功能,以及对文档属性进行操作的能力。本文将详细介绍一系列常用的Domino...

    domino xpages dbcolumn运用

    在Lotus Domino XPages开发中,`@DbColumn` 是一个非常重要的 LotusScript 函数,用于从数据库中检索列的数据。这个函数可以从视图或表单中提取指定列的值,返回的结果可以是字符串数组或者单个字符串。在JavaScript...

Global site tag (gtag.js) - Google Analytics