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

📄 form1.vb

📁 关于简单入门编程资源
💻 VB
📖 第 1 页 / 共 2 页
字号:
            Dim index As Integer = 2
            If mStream.Read(buf, 0, len) > 0 Then
                Dim i1 As Integer = BitConverter.ToInt16(buf, index - 1)
                index += 2
                Dim i2 As Integer = BitConverter.ToInt16(buf, index - 1)
                index += 2
                Dim i3 As Integer = BitConverter.ToInt16(buf, index - 1)
                'MessageBox.Show(String.Format("{0} {1} {2}", i1, i2, i3))

                Label8.Text = "接收到的数据为:" & vbNewLine
                Label8.Text &= Conversion.Str(i1)
                'Label8.Text &= Label8.Text + vbNewLine
                '+ ":" + i2.ToString + ":" + i3.ToString
            End If
        Catch ex As Exception
        Finally
            mReadthread = Nothing
            If IsRunning Then
                stopcommunication()
            End If
        End Try
    End Sub

    '写线程
    Private Sub Writethread()
        Try
            Dim senddata As Int16 = &H800
            'Int16.Parse(TextBox9.Text)
            Dim bytes() As Byte = BitConverter.GetBytes(senddata)
            mStream.Write(bytes, 0, 2)
        Catch ex As Exception
        Finally
            mWritethread = Nothing
            If IsRunning Then
                stopcommunication()
            End If
        End Try
    End Sub

    '是否正在运行
    ReadOnly Property IsRunning() As Boolean
        Get
            Return mRunning
        End Get
    End Property

    '停止通信
    Private Sub stopcommunication()
        If Not Me.IsRunning Then
            Exit Sub
        End If

        ' 发送关闭命令 
        mTerminate = True
        Thread.Sleep(1000)                                 ' 等待线程停止 

        ' 关闭 NetWork 流 
        If Not Me.mStream Is Nothing Then
            mStream.Close()
            mStream = Nothing
        End If

        ' 释放 Tcp Socket
        If Not mtcpcli Is Nothing Then
            mtcpcli.Close()
            mtcpcli = Nothing
        End If

        '监听停止
        If Not mTcplisten Is Nothing Then
            mTcplisten.Stop()
            mTcplisten = Nothing
        End If

        ' 等写线程停止
        If Not Me.mWritethread Is Nothing Then
            mWritethread.Join()
            mWritethread = Nothing
        End If

        ' 等读线程停止
        If Not Me.mReadthread Is Nothing Then
            mReadthread.Join()
            mReadthread = Nothing
        End If
        ' 设置一些状态 
        mRunning = False
    End Sub

    '关闭
    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        Me.Close()
    End Sub

#End Region

#Region "冒泡排序法"
    '写入数据
    Dim a1(11) As Integer
    Dim i4, j4, temp3 As Integer
    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        Label9.Text = "要排序的数组:" & vbNewLine
        For i4 = 1 To 10
            a1(i4) = InputBox("请输入要排序的数组")
            Label9.Text &= Val(a1(i4)) & " "
        Next i4
        Label9.Text &= "------------------" & vbNewLine
    End Sub
    '从小到大排序
    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        For i4 = 1 To 9
            For j4 = 1 To 10 - i4
                If a1(j4) > a1(j4 + 1) Then
                    temp3 = a1(j4 + 1)
                    a1(j4 + 1) = a1(j4)
                    a1(j4) = temp3
                End If
            Next j4
        Next i4
        Label9.Text &= "排序后的数组为:" & vbNewLine
        For i4 = 1 To 10
            Label9.Text &= Val(a1(i4)) & " "
        Next i4
        Label9.Text &= "------------------" & vbNewLine
    End Sub
    '从大到小排序
    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        For i4 = 1 To 9
            For j4 = 1 To 10 - i4
                If a1(j4) < a1(j4 + 1) Then
                    temp3 = a1(j4 + 1)
                    a1(j4 + 1) = a1(j4)
                    a1(j4) = temp3
                End If
            Next j4
        Next i4
        Label9.Text &= "排序后的数组为:" & vbNewLine
        For i4 = 1 To 10
            Label9.Text &= Val(a1(i4)) & " "
        Next i4
        Label9.Text &= "------------------" & vbNewLine
    End Sub
#End Region

#Region "创建和使用对象"
    Dim p As New Merchandise("001 火车模型 120 5  ")
    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        MessageBox.Show(p.count)
        MessageBox.Show(p.ToStr)
    End Sub

    Private Sub Button19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button19.Click
        Dim bb As New Merchandise
        bb = p
        p.ID = "000"
        MsgBox(bb.ToStr)
    End Sub
#End Region

#Region "菜单退出按钮"
    Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click
        Me.Close()
    End Sub
#End Region

#Region "PLC通信试验"
    Private sip As IPAddress = IPAddress.Parse("192.168.0.218")
    Private sport As Integer = 2000
    Private sTcp As TcpListener = Nothing
    Private sStream As NetworkStream = Nothing
    Private sTerminate As Boolean = False
    Private sReadthread As Thread
    Private sWritethread As Thread
    Private sRunning As Boolean = False  ' 是否在运行 

    Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click

        If sTcp Is Nothing Then
            sTcp = New TcpListener(sip, sport)
        End If
        Try
            sTcp.Start()
            Dim PLCSocket As TcpClient = sTcp.AcceptTcpClient
            sStream = PLCSocket.GetStream

            ''启动写线程
            'sTerminate = False
            'sWritethread = Nothing
            'sWritethread = New Thread(AddressOf Me.wWritethread)
            'sWritethread.Start()

            ''启动读线程
            'sTerminate = False
            'sReadthread = Nothing
            'sReadthread = New Thread(AddressOf Me.wReadthread)
            'sReadthread.Start()

        Catch ex As Exception
            MessageBox.Show("不能连接到PLC")
        End Try
        While True
            '发送数据
            Try
                Dim senddata As Int16 = &H800
                'Dim bytes() As Byte = BitConverter.GetBytes(senddata)
                sStream.Write(BitConverter.GetBytes(senddata), 0, 2)
            Catch ex As Exception
            End Try
            Exit While
        End While
        '接收数据
        Dim buf(1024) As Byte
        Try
            Dim len As Integer = 6
            Dim index As Integer = 2
            'If sStream.Read(buf, 0, len) > 0 Then
            sStream.Read(buf, 0, len)
            Dim i1 As Integer = BitConverter.ToInt16(buf, index - 1)
            index += 2
            Dim i2 As Integer = BitConverter.ToInt16(buf, index - 1)
            index += 2
            Dim i3 As Integer = BitConverter.ToInt16(buf, index - 1)
            'MessageBox.Show(String.Format("{0} {1} {2}", i1, i2, i3))
            Label10.Text = "接收到的数据为:" & vbNewLine
            Label10.Text &= Conversion.Str(i1) & " " & Conversion.Str(i2) & " " & Conversion.Str(i3)
            'End If
        Catch ex As Exception
        End Try

    End Sub
#End Region

#Region "数据类型转换"
    Private Sub Button22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button22.Click
        Dim x As Double = 78.9
        TextBox11.Text = CInt(x)
    End Sub
#End Region


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class

⌨️ 快捷键说明

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