Не надо у меня ничё покупать, я так отдам
Вот небольшой агентик, который генерит простенький XML для агента, готовый уже к импорту в базу.
Это я набросал себе, что бы проверить, как с нуля нормальными классами создать дизайн элемент.
С остальными агентами/дизайн элементам примерно также.
[codebox]Option Public
Option Declare
Private AgentName As String
Sub Initialize
On Error Goto Errh
AgentName = Inputbox$("Agent name", "Enter agent name", Format$(Now, "hhmmss"))
If AgentName = "" Then Exit Sub
Dim Sess As New NotesSession
Dim Agent As NotesAgent
Set Agent = Sess.CurrentAgent
Dim Db As NotesDatabase
Set Db = Agent.Parent
Dim outputFile As String
outputFile = "c:\result.xml"
Dim outputStream As NotesStream
Set outputStream = sess.CreateStream
Call outputStream.Open(outputFile)
Call outputStream.Truncate
Dim XMLRoot As String
XMLRoot = "<database></database>"
Dim DOMParser As NotesDOMParser
Set DOMParser = Sess.CreateDOMParser(XMLRoot, outputStream)
On Event PostDOMParse From DOMParser Call ProcessDOM
DOMParser.Process
Exit Sub
Errh:
'Call ErrHandler
Exit Sub
End Sub
Private Sub ProcessDOM(Source As NotesDOMParser)
On Error Goto Errh
Dim RootDoc As NotesDOMDocumentNode
Set RootDoc = Source.Document
Dim DatabaseNode As NotesDOMElementNode
Set DatabaseNode = RootDoc.DocumentElement
Call SetDatabaseAttributes(DatabaseNode)
Dim AgentNode As NotesDOMElementNode
Set AgentNode = RootDoc.CreateElementNode("agent")
Set AgentNode = DatabaseNode.AppendChild(AgentNode)
Call SetAgentAttributes(AgentNode)
Dim TriggerNode As NotesDOMElementNode
Set TriggerNode = RootDoc.CreateElementNode("trigger")
Set TriggerNode = AgentNode.AppendChild(TriggerNode)
Call SetTriggerAttributes(TriggerNode)
Source.Serialize
Exit Sub
Errh:
'Call ErrHandler
Exit Sub
End Sub
Sub SetDatabaseAttributes(Node As NotesDOMElementNode)
On Error Goto Errh
Call Node.SetAttribute("version", "6.5")
Exit Sub
Errh:
'Call ErrHandler
Exit Sub
End Sub
Sub SetAgentAttributes(Node As NotesDOMElementNode)
On Error Goto Errh
Call Node.SetAttribute("name", AgentName)
Exit Sub
Errh:
'Call ErrHandler
Exit Sub
End Sub
Sub SetTriggerAttributes(Node As NotesDOMElementNode)
On Error Goto Errh
Call Node.SetAttribute("type", "agentlist")
Exit Sub
Errh:
'Call ErrHandler
Exit Sub
End Sub[/codebox]