frmProps.frm
资源名称:VB_RS232C.rar [点击查看]
上传用户:song66628
上传日期:2013-07-20
资源大小:7k
文件大小:11k
源码类别:
串口编程
开发平台:
Visual Basic
- 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