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

📄 mdiparent1.vb

📁 --- -----串口程序处理程序
💻 VB
字号:
Imports System.Windows.Forms

Public Class MDIParent1
    Dim ii(20) As Char
    Dim i As Integer = 0
    Dim c As Integer = 1
    Dim pNo As Integer = 1
    Dim sql As String
    Dim cmd As Data.SqlClient.SqlCommand
    Dim cnn As Data.SqlClient.SqlConnection
    Dim rea As Data.SqlClient.SqlDataReader
    Dim ada As Data.SqlClient.SqlDataAdapter
    Dim rec As Data.DataSet


    Private Sub ShowNewForm(ByVal sender As Object, ByVal e As EventArgs) Handles NewToolStripMenuItem.Click, NewToolStripButton.Click, NewWindowToolStripMenuItem.Click
        ' 创建此子窗体的一个新实例。
        Dim ChildForm As New System.Windows.Forms.Form
        ' 在显示该窗体前使其成为此 MDI 窗体的子窗体。
        ChildForm.MdiParent = Me
        m_ChildFormNumber += 1
        ChildForm.Text = "窗口" & m_ChildFormNumber

        ChildForm.Show()
    End Sub

    Private Sub OpenFile(ByVal sender As Object, ByVal e As EventArgs) Handles OpenToolStripMenuItem.Click, OpenToolStripButton.Click
        Dim OpenFileDialog As New OpenFileDialog
        OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        OpenFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"
        If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = OpenFileDialog.FileName
            ' TODO: 在此处添加打开文件的代码。
        End If
    End Sub

    Private Sub SaveAsToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SaveAsToolStripMenuItem.Click
        Dim SaveFileDialog As New SaveFileDialog
        SaveFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        SaveFileDialog.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"

        If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = SaveFileDialog.FileName
            ' TODO: 在此处添加代码,将窗体的当前内容保存到一个文件中。
        End If
    End Sub

    Private Sub ExitToolsStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ExitToolStripMenuItem.Click
        Global.System.Windows.Forms.Application.Exit()
    End Sub

    Private Sub CutToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CutToolStripMenuItem.Click
        ' 使用 My.Computer.Clipboard 将选择的文本或图像插入剪贴板
    End Sub

    Private Sub CopyToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CopyToolStripMenuItem.Click
        ' 使用 My.Computer.Clipboard 将选择的文本或图像插入剪贴板
    End Sub

    Private Sub PasteToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PasteToolStripMenuItem.Click
        '使用 My.Computer.Clipboard.GetText() 或 My.Computer.Clipboard.GetData 从剪贴板检索信息。
    End Sub

    Private Sub ToolBarToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ToolBarToolStripMenuItem.Click
        Me.ToolStrip.Visible = Me.ToolBarToolStripMenuItem.Checked
    End Sub

    Private Sub StatusBarToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles StatusBarToolStripMenuItem.Click
        Me.StatusStrip.Visible = Me.StatusBarToolStripMenuItem.Checked
    End Sub

    Private Sub CascadeToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CascadeToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.Cascade)
    End Sub

    Private Sub TileVerticleToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles TileVerticalToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileVertical)
    End Sub

    Private Sub TileHorizontalToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles TileHorizontalToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.TileHorizontal)
    End Sub

    Private Sub ArrangeIconsToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ArrangeIconsToolStripMenuItem.Click
        Me.LayoutMdi(MdiLayout.ArrangeIcons)
    End Sub

    Private Sub CloseAllToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CloseAllToolStripMenuItem.Click
        ' 关闭此父窗体的所有子窗体。
        For Each ChildForm As Form In Me.MdiChildren
            ChildForm.Close()
        Next
    End Sub

    Private m_ChildFormNumber As Integer = 0

    Protected Overrides Sub Finalize()
        MyBase.Finalize()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form1.Show()
        Me.Close()
    End Sub

    Private Sub MDIParent1_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed

    End Sub

    Private Sub MDIParent1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        If cmm.PortOpen = True Then
            cmm.PortOpen = False
        End If
    End Sub

    Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With Me
            '.MaximizeBox = False
            '.MinimizeBox = False
            '.TopMost = True
            '.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
            '.WindowState = System.Windows.Forms.FormWindowState.Maximized
        End With
        If cmm.PortOpen = False Then
            cmm.PortOpen = True
            cmm.RThreshold = 2
            cmm.InBufferCount = 0
        Else
            MsgBox("COM 1端口已占用!", MsgBoxStyle.Information)
        End If

        If sqlClass.SetConnection("LENOVO-533635B1", "ZkTest", "sa", "sa") Then
            MsgBox("链接数据库成功!")
        Else
            MsgBox("链接数据库失败!")
            Exit Sub
        End If

    End Sub

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'TextBox1.Text = i + 1000
        'TextBox2.Text = i + 2000
        'TextBox3.Text = i + 1352
        'TextBox4.Text = i + 1510
        'TextBox5.Text = i + 1457


        'TextBox16.Text = i
        'TextBox17.Text = i + 1
        'TextBox18.Text = i + 1
        'TextBox19.Text = i + 1
        TextBox20.Text = i
        i = i + 1
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
      
        If cmm.PortOpen = True Then
            cmm.PortOpen = False
        ElseIf cmm.PortOpen = False Then
            cmm.PortOpen = True
        End If
        Me.Close()
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Interval = 1000
        Timer1.Start()
    End Sub

    Private Sub AxMSComm2_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

    End Sub

    Private Sub TextBox16_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox16.TextChanged

    End Sub

    Private Sub cmm_OnComm(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmm.OnComm
        Select Case cmm.CommEvent
            Case 2
                cmmRec()
        End Select

    End Sub
    Private Sub cmmRec()


        Dim inObj(2) As Byte
        inObj = cmm.Input()
        Dim a1 As String = Trim(Hex(CStr(inObj(0))))
        Dim a2 As String = Trim(Hex(CStr(inObj(1))))
        If a1.Equals("23") And a2.Equals("23") Then
            TextBox10.Text = "正在运行..."
            Call Button1_Click(Button1, System.EventArgs.Empty)
            StaticToData(TextBox15.Text, True, TextBox25.Text)
        ElseIf a1.Equals("26") And a2.Equals("26") Then
            TextBox10.Text = "停止运行!"
            TextBox5.Text = ""
            Timer1.Stop()
            StaticToData(TextBox15.Text, False, TextBox25.Text)
        Else
            TextBox25.Text = Trim(a2 & a1)
            Dim speed As Double = HexToDec(a2 & a1)
            TextBox5.Text = CStr(speed) & "次/分"
            eventToData(pNo, TextBox15.Text, speed)
        End If

    End Sub
    Public Function HexToDec(ByVal value As String) As Double
        Dim i, j As Integer
        Dim returnValue As Double = 0.0
        j = 0
        For i = value.Length - 1 To 0 Step -1
            Dim num As Integer = 0
            Select Case value.Chars(i)
                Case "0"c To "9"c
                    num = Val(value.Chars(i))
                Case "A"c
                    num = 10
                Case "B"c
                    num = 11
                Case "C"c
                    num = 12
                Case "D"c
                    num = 13
                Case "E"c
                    num = 14
                Case "F"c
                    num = 15
            End Select
            returnValue += num * (16 ^ j)
            j += 1
        Next
        Return returnValue * 0.01
    End Function
    Public Function eventToData(ByRef sectNo As Integer, ByRef deviceNo As String, ByRef speed As Double) As Boolean

        Dim sql As String
        sql = "insert speedTable(deviceNo,RunSpeed,stampTime,SectNo)values('" & deviceNo & "','" & speed & "','" & DateAndTime.Now() & "','" & sectNo & "')"
        sqlClass.objConn.Open()
        cmd = New Data.SqlClient.SqlCommand(sql, sqlClass.objConn)
        cmd.ExecuteNonQuery()
        sqlClass.objConn.Close()
        cmd.Dispose()
        cmd = Nothing

    End Function
    Public Function StaticToData(ByRef deviceNo As String, ByVal se As Boolean, ByRef remark As String) As Integer

        If se = True Then
            sql = "insert staticTable(deviceNo,startTime,endTime,remark)values('" & deviceNo & "','" & DateAndTime.Now() & "','" & "" & "','" & remark & "')"
            sqlClass.objConn.Open()
            cmd = New Data.SqlClient.SqlCommand(sql, sqlClass.objConn)
            cmd.ExecuteNonQuery()
            sqlClass.objConn.Close()
            cmd.Dispose()
            cmd = Nothing
            getMaxSectNo()
        Else
            sql = "update staticTable  set endtime ='" & DateAndTime.Now() & "' where sectNo ='" & pNo & "'"
            sqlClass.objConn.Open()
            cmd = New Data.SqlClient.SqlCommand(sql, sqlClass.objConn)
            cmd.ExecuteNonQuery()
            sqlClass.objConn.Close()
            cmd.Dispose()
            cmd = Nothing
            getMaxSectNo()
        End If

    End Function
    Private Sub getMaxSectNo()
        Sql = "select max(sectNo) as sect from staticTable"
        sqlClass.objConn.Open()
        ada = New Data.SqlClient.SqlDataAdapter(Sql, sqlClass.objConn)
        rec = New Data.DataSet
        ada.Fill(rec, "static")
        ada.Dispose()
        ada = Nothing
        sqlClass.objConn.Close()
        pNo = rec.Tables.Item("static").Rows.Item(0).Item("sect")
    End Sub

End Class


⌨️ 快捷键说明

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