📄 mdiparent1.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 + -