⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmadditem.frm

📁 opc 通讯 册测试通讯OPC使用 客户端/服务端
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    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 + -