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

📄 frmmain.vb

📁 OPC CLIENT开发包
💻 VB
📖 第 1 页 / 共 2 页
字号:
Option Strict Off
Option Explicit On
Friend Class frmMain
	Inherits System.Windows.Forms.Form
    Dim ComputerName, ServerClassID As String
    Dim temp1 As New ServerDataChangeProcProxy(AddressOf ServerDataChangeProc)
    Dim temp2 As New ServerShutdownProcProxy(AddressOf ServerShutdownProc)
    Dim temp3 As New AddProcessProxy(AddressOf AddProcess)
    Dim temp4 As New ServerDataChangeProcProxyEx(AddressOf ServerDataChangeProcEx)


	Public Sub Disconnect()
        If ServerHandle = 0 Then Exit Sub
		If GroupHandle > 0 Then
			lvListView.Items.Clear()
            Dim ret As Boolean
            ret = OPC_RemoveGroup(ServerHandle, GroupHandle)
            GroupHandle = 0
		End If
        If OPC_Disconnect(ServerHandle) Then
            ServerHandle = 0
            mnuConnect.Enabled = True
            mnuDisconnect.Enabled = False
            mnuServerStatus.Enabled = False
            mnuGroupStatus.Enabled = False
            mnuGroupRefresh.Enabled = False
            mnuAddItem.Enabled = False
            mnuAddItem.Enabled = False
            mnuRemoveItem.Enabled = False
            mnuReadItem.Enabled = False
            mnuWriteItem.Enabled = False
            mnuItemStatus.Enabled = False
        End If
		
	End Sub
	
	Private Sub frmMain_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
        ServerHandle = 0
        GroupHandle = 0
        Dim s As New Random()
        GroupName = "GROUP" & s.NextDouble()
        Call OPC_Init()
        OPC_SetProcessTiggerProcA(temp3)
    End Sub
	
	Private Sub frmMain_FormClosed(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        If ServerHandle > -1 Then
            OPC_Disconnect(ServerHandle)
        End If
		OPC_Uninit()
	End Sub
	
    Private Sub frmMain_Resize(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Resize
        On Error Resume Next
        lvListView.Height = Me.Height - lstProcess.Height - 80
        lstProcess.Width = lvListView.Width
    End Sub
	
    Private Sub lvListView_ItemClick(ByVal Item As System.Windows.Forms.ListViewItem)
        If lvListView.FocusedItem Is Nothing Then Exit Sub
        mnuReadItem.Enabled = True
        mnuWriteItem.Enabled = True
        mnuItemStatus.Enabled = True
        mnuRemoveItem.Enabled = True
    End Sub
	
	Public Sub menuOpen_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles menuOpen.Click
		Dim fn As String
        Dim I, Count As Integer ' "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        dlgCommonDialogOpen.Filter = "OPC client Files(*.opc)|*.opc|All Files(*.*)|*.*"
        dlgCommonDialogOpen.FileName = "opcclient.opc"
        On Error GoTo out1
		dlgCommonDialogOpen.ShowDialog()
        Call Disconnect()
		ComputerName = ReadInIFiles("PUBLIC", "HOST", "", (dlgCommonDialogOpen.FileName))
		ServerClassID = ReadInIFiles("PUBLIC", "CLSID", "", (dlgCommonDialogOpen.FileName))
		GroupName = ReadInIFiles("PUBLIC", "GROUP", "GROUP1", (dlgCommonDialogOpen.FileName))
        Count = Integer.Parse(ReadInIFiles("PUBLIC", "COUNT", "0", (dlgCommonDialogOpen.FileName)))
        ServerHandle = OPC_Connect(ComputerName, ServerClassID, 1)
        If ServerHandle > 0 Then
            'OPC_SetDataChangeProc(ServerHandle, temp1)
            OPC_SetDataChangeProcEx(ServerHandle, temp4)
            OPC_SetShutdownProc(ServerHandle, temp2)
            GroupHandle = OPC_AddGroup(ServerHandle, GroupName, True, 500, 0, 0, 0)
            If GroupHandle > 0 Then
                mnuConnect.Enabled = False
                mnuDisconnect.Enabled = True
                mnuServerStatus.Enabled = True
                mnuGroupStatus.Enabled = True
                mnuGroupRefresh.Enabled = True
                mnuAddItem.Enabled = True
                menuSaveAs.Enabled = True
            End If
            For I = 0 To Count - 1
                AddItem(ReadInIFiles("ITEM", "item" & (Count - I).ToString(), "", (dlgCommonDialogOpen.FileName)))
            Next
        End If
		
		
		Exit Sub
out1:
        'MessageBox.Show(Err.)
    End Sub
	
	Public Sub menuSaveAs_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles menuSaveAs.Click
		Dim fn As String
		Dim I As Integer
        dlgCommonDialogSave.Filter = "OPC client Files(*.opc)|*.opc|All Files(*.*)|*.*"
        dlgCommonDialogSave.FileName = "opcclient.opc"
        On Error GoTo out1
		dlgCommonDialogSave.ShowDialog()
        WritePrivateProfileString("PUBLIC", "HOST", ComputerName, dlgCommonDialogSave.FileName)
        WritePrivateProfileString("PUBLIC", "CLSID", ServerClassID, dlgCommonDialogSave.FileName)
        WritePrivateProfileString("PUBLIC", "GROUP", GroupName, dlgCommonDialogSave.FileName)
        WritePrivateProfileString("PUBLIC", "COUNT", lvListView.Items.Count.ToString(), dlgCommonDialogSave.FileName)
		For I = 0 To lvListView.Items.Count - 1
            WritePrivateProfileString("ITEM", "item" & (I + 1).ToString(), lvListView.Items.Item(I + 1).Text, dlgCommonDialogSave.FileName)
		Next 
		
		Exit Sub
out1: 
		' MsgBox dlgCommonDialog.FileName
	End Sub
	
	Public Sub mnuAddItem_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuAddItem.Click
        frmItemBrowser.ShowDialog()
	End Sub
	
	Public Sub mnuConnect_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuConnect.Click
        If frmServerBrowser.ShowDialog() = Windows.Forms.DialogResult.OK And frmServerBrowser.ServerClassID.Length > 1 Then
            ServerHandle = 0
            GroupHandle = 0
            Dim s As New Random()
            GroupName = "GROUP" & s.NextDouble()
            lstProcess.Items.Clear()
            ServerHandle = OPC_Connect(frmServerBrowser.cbHost.Text, frmServerBrowser.ServerClassID, frmServerBrowser.Version)
            If ServerHandle > 0 Then
                'OPC_SetDataChangeProc(ServerHandle, temp1)
                OPC_SetDataChangeProcEx(ServerHandle, temp4)
                OPC_SetShutdownProc(ServerHandle, temp2)
                GroupHandle = OPC_AddGroup(ServerHandle, GroupName, True, 500, 0, 0, 0)
                If GroupHandle > 0 Then
                    mnuConnect.Enabled = False
                    mnuDisconnect.Enabled = True
                    mnuServerStatus.Enabled = True
                    mnuGroupStatus.Enabled = True
                    mnuGroupRefresh.Enabled = True
                    mnuAddItem.Enabled = True
                    menuSaveAs.Enabled = True
                    ComputerName = frmServerBrowser.cbHost.Text
                    ServerClassID = frmServerBrowser.ServerClassID
                End If
            End If
        End If
        frmServerBrowser.Dispose()
	End Sub
	
	Public Sub mnuDisconnect_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuDisconnect.Click
        If OPC_Disconnect(ServerHandle) Then
            lvListView.Items.Clear()
            GroupHandle = 0
            ServerHandle = 0
            mnuConnect.Enabled = True
            mnuDisconnect.Enabled = False
            mnuServerStatus.Enabled = False
            mnuGroupStatus.Enabled = False
            mnuGroupRefresh.Enabled = False
            mnuAddItem.Enabled = False
            mnuReadItem.Enabled = False
            mnuWriteItem.Enabled = False
            mnuRemoveItem.Enabled = False
            mnuItemStatus.Enabled = False
            menuSaveAs.Enabled = False
        End If
	End Sub
	
	Public Sub mnuExit_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles mnuExit.Click
        Me.Close()
    End Sub
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -