📄 frmadditem.frm
字号:
Dim DataTypeSelected As Integer
If DataType.ListIndex = -1 Then
DataTypeSelected = 0
Else
DataTypeSelected = DataType.ItemData(DataType.ListIndex)
End If
If fMainForm.AddOPCItemMain(ItemID.Text, DataTypeSelected, ActiveState.Value) = False Then
MsgBox "The OPC Server has rejected the item please check the Item ID and data type selections"
End If
End Sub
Private Sub Form_Deactivate()
frmAddItem.Show
End Sub
Private Sub ItemID_Change()
Report.Text = ""
End Sub
Private Sub Validate_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
' Let the user know we are about to test the item.
Report.Text = "Testing Item"
End If
End Sub
Private Sub Validate_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim DataTypeSelected As Integer
Dim Error As Long
If Button = vbLeftButton Then
If DataType.ListIndex = -1 Then
DataTypeSelected = 0
Else
DataTypeSelected = DataType.ItemData(DataType.ListIndex)
End If
If Not Module1.SelectedOPCGroup Is Nothing Then
If Module1.SelectedOPCGroup.ValidateOPCItem(ItemID.Text, DataTypeSelected, ActiveState.Value, Error) = False Then
Report.Text = "Error - Check ItemID or Datatype"
Else
Report.Text = "ItemID and Datatype Accepted"
End If
End If
End If
End Sub
Private Sub Abort_Click()
fMainForm.tvTreeView.Enabled = True
Unload Me
End Sub
Private Sub ActiveState_Click()
Report.Text = ""
End Sub
Private Sub tvBranchView_Expand(ByVal Node As Node)
If Not OPCBrowserClassObj Is Nothing Then
Dim I As Integer
Dim ItemName As String
Dim DataTypeSelected As Integer
Dim AccessSelected As Long
If Node.Children Then
If InStr(Node.Child.Key, "KEPwareDummyNode") Then
tvBranchView.Nodes.Remove (Node.Child.Key)
End If
End If
SetBrowsePosition Node.Key
OPCBrowserClassObj.SetFilter ""
OPCBrowserClassObj.ShowBranches
For I = 1 To OPCBrowserClassObj.GetItemCount
DummyNodeNum = DummyNodeNum + 1
OPCBrowserClassObj.GetItemName ItemName, I
tvBranchView.Nodes.Add Node.Key, tvwChild, Node.Key + Chr(2) + ItemName, ItemName
tvBranchView.Nodes.Add Node.Key + Chr(2) + ItemName, tvwChild, "KEPwareDummyNode" + Str(DummyNodeNum), ""
Next I
End If
End Sub
Private Sub SetBrowsePosition(ByVal Position As String)
Dim NormalPosition As String
Dim NextBranch As Integer
Dim LastBranch As Integer
Dim FindBranch As String
NextBranch = 1
LastBranch = 1
FindBranch = Chr(2)
OPCBrowserClassObj.MoveToRoot
If Len(Position) > Len(ServerKey) Then
NormalPosition = Mid(Position, (Len(ServerKey) + 2))
Do While (NextBranch < Len(NormalPosition) And NextBranch <> 0)
NextBranch = InStr((NextBranch + 1), NormalPosition, FindBranch)
If NextBranch <> 0 Then
OPCBrowserClassObj.MoveDown (Mid(NormalPosition, LastBranch, NextBranch - LastBranch))
LastBranch = NextBranch + 1
Else
If LastBranch = 1 Then
OPCBrowserClassObj.MoveDown (NormalPosition)
Else
OPCBrowserClassObj.MoveDown (Mid(NormalPosition, LastBranch))
End If
End If
Loop
End If
End Sub
Private Sub tvBranchView_Click()
Dim SelectedNode As Node
Set SelectedNode = tvBranchView.SelectedItem
If Not SelectedNode Is Nothing Then
Dim I As Integer
Dim ItemName As String
Dim DataTypeSelected As Integer
Dim AccessSelected As Long
SetBrowsePosition SelectedNode.Key
lvItemView.ListItems.Clear
OPCBrowserClassObj.SetFilter ItemNameFilter.Text
If DataTypeFilter.ListIndex = -1 Then
DataTypeSelected = 0
Else
DataTypeSelected = DataTypeFilter.ItemData(DataTypeFilter.ListIndex)
End If
OPCBrowserClassObj.SetDataTypeFilter DataTypeSelected
If AccessFilter.ListIndex = -1 Then
AccessSelected = 0
Else
AccessSelected = AccessFilter.ItemData(AccessFilter.ListIndex)
End If
OPCBrowserClassObj.SetAccessFilter AccessSelected
OPCBrowserClassObj.ShowLeafs
For I = 1 To OPCBrowserClassObj.GetItemCount
OPCBrowserClassObj.GetItemName ItemName, I
lvItemView.ListItems.Add , "Item" + Str(I), ItemName
Next I
End If
End Sub
Private Sub tvBranchView_Collapse(ByVal Node As Node)
If Node.Children > 0 Then
RemoveChildren Node, True
End If
DummyNodeNum = DummyNodeNum + 1
tvBranchView.Nodes.Add Node.Key, tvwChild, "KEPwareDummyNode" + Str(DummyNodeNum), ""
End Sub
Function RemoveChildren(ByVal Node As Node, ByVal Root As Boolean)
Dim I As Integer
Dim nodecnt As Integer
Dim test As String
test = Node.Key
nodecnt = Node.Children
If nodecnt > 0 Then
For I = 1 To nodecnt
test = Node.Child.Key
RemoveChildren Node.Child, False
Next I
If Not Root Then
tvBranchView.Nodes.Remove Node.Key
End If
Else
tvBranchView.Nodes.Remove Node.Key
End If
End Function
Private Sub lvItemView_DblClick()
ItemID.Text = OPCBrowserClassObj.GetItemID(lvItemView.SelectedItem.Text)
End Sub
Private Sub DataTypeFilter_Click()
Dim I As Integer
Dim ItemName As String
Dim DataTypeSelected As Integer
Dim AccessSelected As Long
lvItemView.ListItems.Clear
OPCBrowserClassObj.SetFilter ItemNameFilter.Text
If DataTypeFilter.ListIndex = -1 Then
DataTypeSelected = 0
Else
DataTypeSelected = DataTypeFilter.ItemData(DataTypeFilter.ListIndex)
End If
OPCBrowserClassObj.SetDataTypeFilter DataTypeSelected
If AccessFilter.ListIndex = -1 Then
AccessSelected = 0
Else
AccessSelected = AccessFilter.ItemData(AccessFilter.ListIndex)
End If
OPCBrowserClassObj.SetAccessFilter AccessSelected
OPCBrowserClassObj.ShowLeafs
For I = 1 To OPCBrowserClassObj.GetItemCount
OPCBrowserClassObj.GetItemName ItemName, I
lvItemView.ListItems.Add , "Item" + Str(I), ItemName
Next I
End Sub
Private Sub ItemNameFilter_Change()
Dim I As Integer
Dim ItemName As String
Dim DataTypeSelected As Integer
Dim AccessSelected As Long
lvItemView.ListItems.Clear
OPCBrowserClassObj.SetFilter ItemNameFilter.Text
If DataTypeFilter.ListIndex = -1 Then
DataTypeSelected = 0
Else
DataTypeSelected = DataTypeFilter.ItemData(DataTypeFilter.ListIndex)
End If
OPCBrowserClassObj.SetDataTypeFilter DataTypeSelected
If AccessFilter.ListIndex = -1 Then
AccessSelected = 0
Else
AccessSelected = AccessFilter.ItemData(AccessFilter.ListIndex)
End If
OPCBrowserClassObj.SetAccessFilter AccessSelected
OPCBrowserClassObj.ShowLeafs
For I = 1 To OPCBrowserClassObj.GetItemCount
OPCBrowserClassObj.GetItemName ItemName, I
lvItemView.ListItems.Add , "Item" + Str(I), ItemName
Next I
End Sub
Private Sub AccessFilter_Click()
Dim I As Integer
Dim ItemName As String
Dim DataTypeSelected As Integer
Dim AccessSelected As Long
lvItemView.ListItems.Clear
OPCBrowserClassObj.SetFilter ItemNameFilter.Text
If DataTypeFilter.ListIndex = -1 Then
DataTypeSelected = 0
Else
DataTypeSelected = DataTypeFilter.ItemData(DataTypeFilter.ListIndex)
End If
OPCBrowserClassObj.SetDataTypeFilter DataTypeSelected
If AccessFilter.ListIndex = -1 Then
AccessSelected = 0
Else
AccessSelected = AccessFilter.ItemData(AccessFilter.ListIndex)
End If
OPCBrowserClassObj.SetAccessFilter AccessSelected
OPCBrowserClassObj.ShowLeafs
For I = 1 To OPCBrowserClassObj.GetItemCount
OPCBrowserClassObj.GetItemName ItemName, I
lvItemView.ListItems.Add , "Item" + Str(I), ItemName
Next I
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -