以前用lotus domino為客戶寫的辦公自動化程式,出了問題
發現用lotus的@contains函式存在問題,當要判斷的字串太大時,就會報錯.
這是以前的寫法:
note**acro$="@contains("""+sendto+""";"","")"
dim flag as variant
flag=evaluate(note**acro$) '當sendto很大時,這句話會報錯誤,導致執行不下去
'當傳送多個使用者時,先將文字串轉換成文字列表,在賦值
if flag(0) then
note**acro$ = "@explode("""+sendto+""";"","")"
maildoc.sendto =evaluate(note**acro$)
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
doredim 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,",")
問題解決!
關於 delphi中with在Python中的討論
下面這段是我昨天在python乙個討論群裡對delphi中with在python中的討論,希望能對大家有所啟發,同時我也將這個討論記錄下來,有時間多體會體會。不要小看這段,最後 seewind 說的話很經典。江南 23 46 27 其實 我覺得是想找 python中類似 delphi 的 with ...
在VUE中,關於CKEditor使用
官方文件 如下 classiceditor create document.queryselector editor then editor catch error 然後可以在console中使用 window.ckeditor translations檢視當前使用的語言 遵循iso 639 1 下...
關於BooleanQuery在搜尋中的用處
關於booleanquery在搜尋中的用處 booleanclause是在乙個booleanquery中子句。該類中定義了乙個靜態最終內部類occur定義了booleanquery的運算子 public static final occur must new occur must 與運算 publi...