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

📄 frmprops.frm

📁 VB开发的串口通信源码。对端口速度、奇偶校验、停止位等都可以设置。用于串口通信的开发
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmProperties 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "PORT SETUP"
   ClientHeight    =   4920
   ClientLeft      =   2775
   ClientTop       =   1740
   ClientWidth     =   5955
   Icon            =   "frmProps.frx":0000
   LinkTopic       =   "Form3"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   4920
   ScaleWidth      =   5955
   ShowInTaskbar   =   0   'False
   StartUpPosition =   2  '屏幕中心
   Begin VB.CommandButton cmdCancel 
      Caption         =   "CANCAL"
      Height          =   405
      Left            =   3300
      TabIndex        =   21
      Top             =   4260
      Width           =   1080
   End
   Begin VB.CommandButton cmdOK 
      Caption         =   "OK"
      Default         =   -1  'True
      Height          =   420
      Left            =   1620
      MaskColor       =   &H00000000&
      TabIndex        =   20
      Top             =   4260
      Width           =   1080
   End
   Begin VB.Frame fraSettings 
      BorderStyle     =   0  'None
      Height          =   3615
      Left            =   420
      TabIndex        =   0
      Top             =   300
      Width           =   5145
      Begin VB.Frame Frame7 
         Caption         =   "&Echo"
         Height          =   870
         Left            =   2880
         TabIndex        =   17
         Top             =   420
         Width           =   1590
         Begin VB.OptionButton optEcho 
            Caption         =   "ON"
            Height          =   195
            Index           =   1
            Left            =   795
            MaskColor       =   &H00000000&
            TabIndex        =   19
            Top             =   420
            Width           =   555
         End
         Begin VB.OptionButton optEcho 
            Caption         =   "OFF"
            Height          =   315
            Index           =   0
            Left            =   135
            MaskColor       =   &H00000000&
            TabIndex        =   18
            Top             =   360
            Width           =   615
         End
      End
      Begin VB.ComboBox cboPort 
         Height          =   300
         Left            =   900
         Style           =   2  'Dropdown List
         TabIndex        =   15
         Top             =   150
         Width           =   1425
      End
      Begin VB.Frame fraConnection 
         Caption         =   "OPTION"
         Height          =   1770
         Left            =   180
         TabIndex        =   8
         Top             =   1635
         Width           =   2325
         Begin VB.ComboBox cboDataBits 
            Height          =   300
            Left            =   1050
            Style           =   2  'Dropdown List
            TabIndex        =   11
            Top             =   330
            Width           =   1140
         End
         Begin VB.ComboBox cboParity 
            Height          =   300
            Left            =   1050
            Style           =   2  'Dropdown List
            TabIndex        =   10
            Top             =   810
            Width           =   1140
         End
         Begin VB.ComboBox cboStopBits 
            Height          =   300
            Left            =   1050
            Style           =   2  'Dropdown List
            TabIndex        =   9
            Top             =   1260
            Width           =   1140
         End
         Begin VB.Label Label3 
            AutoSize        =   -1  'True
            Caption         =   "BIT:"
            Height          =   180
            Left            =   180
            TabIndex        =   14
            Top             =   375
            Width           =   360
         End
         Begin VB.Label Label4 
            AutoSize        =   -1  'True
            Caption         =   "PARITY:"
            Height          =   180
            Left            =   180
            TabIndex        =   13
            Top             =   855
            Width           =   630
         End
         Begin VB.Label Label5 
            AutoSize        =   -1  'True
            Caption         =   "STOP:"
            Height          =   180
            Left            =   180
            TabIndex        =   12
            Top             =   1320
            Width           =   450
         End
      End
      Begin VB.Frame Frame1 
         Caption         =   "BAUD"
         Height          =   870
         Left            =   180
         TabIndex        =   6
         Top             =   630
         Width           =   2340
         Begin VB.ComboBox cboSpeed 
            Height          =   300
            Left            =   375
            Style           =   2  'Dropdown List
            TabIndex        =   7
            Top             =   330
            Width           =   1695
         End
      End
      Begin VB.Frame Frame5 
         Caption         =   "Flow"
         Height          =   1770
         Left            =   2940
         TabIndex        =   1
         Top             =   1620
         Width           =   1620
         Begin VB.OptionButton optFlow 
            Caption         =   "NONE"
            Height          =   255
            Index           =   0
            Left            =   150
            MaskColor       =   &H00000000&
            TabIndex        =   5
            Top             =   345
            Width           =   855
         End
         Begin VB.OptionButton optFlow 
            Caption         =   "SOFT"
            Height          =   255
            Index           =   1
            Left            =   150
            MaskColor       =   &H00000000&
            TabIndex        =   4
            Top             =   645
            Width           =   1095
         End
         Begin VB.OptionButton optFlow 
            Caption         =   "HARD"
            Height          =   255
            Index           =   2
            Left            =   150
            MaskColor       =   &H00000000&
            TabIndex        =   3
            Top             =   945
            Width           =   1300
         End
         Begin VB.OptionButton optFlow 
            Caption         =   "BOTH"
            Height          =   255
            Index           =   3
            Left            =   150
            MaskColor       =   &H00000000&
            TabIndex        =   2
            Top             =   1275
            Width           =   1155
         End
      End
      Begin VB.Label Label1 
         AutoSize        =   -1  'True
         Caption         =   "PORT"
         Height          =   180
         Left            =   330
         TabIndex        =   16
         Top             =   180
         Width           =   360
      End
   End
End
Attribute VB_Name = "frmProperties"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private iFlow As Integer, iTempEcho As Boolean


Sub LoadPropertySettings()
Dim i As Integer, Settings As String, Offset As Integer

' Load Port Settings
For i = 1 To 16
    cboPort.AddItem "Com" & Trim$(Str$(i))
Next i

' Load Speed Settings
cboSpeed.AddItem "110"
cboSpeed.AddItem "300"
cboSpeed.AddItem "600"
cboSpeed.AddItem "1200"
cboSpeed.AddItem "2400"
cboSpeed.AddItem "4800"
cboSpeed.AddItem "9600"
cboSpeed.AddItem "14400"
cboSpeed.AddItem "19200"
cboSpeed.AddItem "28800"
cboSpeed.AddItem "38400"
cboSpeed.AddItem "56000"
cboSpeed.AddItem "57600"
cboSpeed.AddItem "115200"
cboSpeed.AddItem "128000"
cboSpeed.AddItem "256000"

' Load Data Bit Settings
cboDataBits.AddItem "4"
cboDataBits.AddItem "5"
cboDataBits.AddItem "6"
cboDataBits.AddItem "7"
cboDataBits.AddItem "8"

' Load Parity Settings
cboParity.AddItem "Even"
cboParity.AddItem "Odd"
cboParity.AddItem "None"
cboParity.AddItem "Mark"
cboParity.AddItem "Space"

' Load Stop Bit Settings
cboStopBits.AddItem "1"
cboStopBits.AddItem "1.5"
cboStopBits.AddItem "2"

' Set Default Settings

Settings = Form1.MSComm1.Settings

' In all cases the right most part of Settings will be 1 character
' except when there are 1.5 stop bits.
If InStr(Settings, ".") > 0 Then
    Offset = 2
Else
    Offset = 0
End If

cboSpeed.Text = Left$(Settings, Len(Settings) - 6 - Offset)
Select Case Mid$(Settings, Len(Settings) - 4 - Offset, 1)
Case "e"
    cboParity.ListIndex = 0
Case "m"
    cboParity.ListIndex = 1
Case "n"
    cboParity.ListIndex = 2
Case "o"
    cboParity.ListIndex = 3
Case "s"
    cboParity.ListIndex = 4
End Select

cboDataBits.Text = Mid$(Settings, Len(Settings) - 2 - Offset, 1)
cboStopBits.Text = Right$(Settings, 1 + Offset)
    
cboPort.ListIndex = Form1.MSComm1.CommPort - 1

optFlow(Form1.MSComm1.Handshaking).Value = True
If Echo Then
    optEcho(1).Value = True
Else
    optEcho(0).Value = True
End If

End Sub


Private Sub cmdCancel_Click()
Unload Me
End Sub

Private Sub cmdOK_Click()
Dim OldPort As Integer, ReOpen As Boolean

On Error Resume Next

Echo = iTempEcho
OldPort = Form1.MSComm1.CommPort
NewPort = cboPort.ListIndex + 1

If NewPort <> OldPort Then                   ' If the port number changes, close the old port.
    If Form1.MSComm1.PortOpen Then
           Form1.MSComm1.PortOpen = False
           ReOpen = True
    End If

    Form1.MSComm1.CommPort = NewPort          ' Set the new port number.
    
    If Err = 0 Then
        If ReOpen Then
            Form1.MSComm1.PortOpen = True
        End If
    End If
        
    If Err Then
        MsgBox Error$, 48
        Form1.MSComm1.CommPort = OldPort
        Exit Sub
    End If
End If


Form1.MSComm1.Settings = Trim$(cboSpeed.Text) & "," & Left$(cboParity.Text, 1) _
    & "," & Trim$(cboDataBits.Text) & "," & Trim$(cboStopBits.Text)

If Err Then
    MsgBox Error$, 48
    Exit Sub
End If

Form1.MSComm1.Handshaking = iFlow
If Err Then
    MsgBox Error$, 48
    Exit Sub
End If

SaveSetting App.Title, "Properties", "Settings", Form1.MSComm1.Settings
SaveSetting App.Title, "Properties", "CommPort", Form1.MSComm1.CommPort
SaveSetting App.Title, "Properties", "Handshaking", Form1.MSComm1.Handshaking
Form1.Label2 = Form1.MSComm1.Settings
Form1.Label4 = Form1.MSComm1.CommPort
Form1.Label6 = Form1.MSComm1.Handshaking
Unload Me
End Sub

Private Sub Form_Load()

' Set the form's size
Me.Left = (Screen.Width - Me.Width) / 2
Me.Top = (Screen.Height - Me.Height) / 2

' Make sure the frame is the top most control
fraSettings.ZOrder

' Load current property settings
LoadPropertySettings

End Sub




Private Sub optEcho_Click(Index As Integer)
If Index = 1 Then
    iTempEcho = True
Else
    iTempEcho = False
End If
End Sub

Private Sub optFlow_Click(Index As Integer)
iFlow = Index
End Sub


⌨️ 快捷键说明

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