1
有什麼方法可以在LotusScript中實現關聯數組?
如果是,請張貼一點演示代碼。
非常感謝!LotusScript中的關聯數組
有什麼方法可以在LotusScript中實現關聯數組?
如果是,請張貼一點演示代碼。
非常感謝!LotusScript中的關聯數組
關聯數組在LotusScript中稱爲Lists。 Here's LotusScript中列出的IBM頁面。從該頁面
樣品:
' Declare a list to hold employee IDs.
' The list tags will be the names of the employees.
Dim empList List As Double
' Make absolutely sure empList is Double.
If TypeName(empList) <> "DOUBLE LIST" Then
Print "Warning: empList is " & TypeName(empList)
End If
If DataType(empList) <> 2053 Then
Print "Warning: empList is " & CStr(DataType(empList))
' We expected 2053 (that is, 2048 + 5).
End If
' Declare a String variable for user name.
Dim ans As String
' Declare a Double variable for user ID.
Dim yourID As Double
' Declare an Integer variable to serve as a flag.
Dim found As Boolean
' Create some list elements and assign them values.
empList("Maria Jones") = 12345
empList("Roman Minsky") = 23456
empList("Joe Smith") = 34567
empList("Sal Piccio") = 91234
' Ask the user to enter the name to be removed from the
' list of employees who have been assigned parking spaces.
ans$ = InputBox$("Which employee no longer needs a space?")
' Check to see if the employee's name appears as a list tag
' in the list. If not, display a message and stop. Otherwise,
' validate the employee's ID. If everything checks out,
' remove the employee item from the parking list.
If IsElement(empList(ans$)) = True then
Print ans$ & " is a valid employee name."
yourID# = CDbl(InputBox$("What's " & ans$ & "'s ID?"))
' The following ForAll block does two things:
' it checks to see if yourID# is a valid ID and,
' if so, if it matches the ID for the employee
' whose name is ans$. If so, that element is removed
' (erased) from the list. The found flag is initially
' FALSE (0). If yourID# is a valid ID, found is set to
' TRUE (-1). The variable empID is the reference variable
' in the ForAll loop.
found = FALSE
ForAll empID In empList
If empID = yourID# then
found = TRUE
If ListTag(empID) = ans$ then
Erase empList(ans$)
' Verify the removal of the list element.
If IsElement(empList(ans$)) = FALSE then
Print ans$ & " is no longer on the list."
End If
Else
Print "Valid ID but wrong employee."
End If
' No need to look further for yourID#,
' so get out of the ForAll loop.
Exit ForAll
End If
End ForAll
If found = False then
Print "No such employee ID."
End If
Else
Print "No such employee."
End if
非常感謝,它的工作原理! –
這裏是一篇關於我寫回來的列表的博客文章: http://blog.texasswede.com/sntt-lists-the-forgotten-gem-in-lotusscript/ 這裏是一個如何改進的例子通過使用列表實質性表現:http://blog.texasswede.com/using-lotusscript-lists-to-increase-performance/ –