📄 mscomm.frm
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form FrmMscomm1
Caption = "MSComm"
ClientHeight = 1755
ClientLeft = 2280
ClientTop = 2040
ClientWidth = 5655
LinkTopic = "Form1"
ScaleHeight = 1755
ScaleWidth = 5655
Begin MSCommLib.MSComm MSComm1
Left = 240
Top = 120
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.CommandButton cmdDispaly
Caption = "显示"
Height = 375
Left = 2160
TabIndex = 3
Top = 1320
Width = 1515
End
Begin VB.CommandButton cmdClear
Caption = "清除"
Height = 375
Left = 4080
TabIndex = 2
Top = 1320
Width = 1365
End
Begin VB.CommandButton cmdTest
Caption = "测试"
Height = 375
Left = 120
TabIndex = 1
Top = 1320
Width = 1515
End
Begin VB.TextBox txtStatus
Height = 1155
Left = 0
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 0
Top = 0
Width = 5625
End
End
Attribute VB_Name = "FrmMscomm1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdClear_Click()
Me.txtStatus = ""
End Sub
' 显示调制调解器连接信息
Private Sub cmdDispaly_Click()
Dim Msg As String
Msg = IIf(MSComm1.CDHolding, "有载波信号", "无载波信号") & vbCrLf _
& IIf(MSComm1.CTSHolding, "Clear TO Send:传输可以进行", "不允许传输数据") & vbCrLf _
& IIf(MSComm1.DSRHolding, "数据终端准备好", "终端未准备好")
txtStatus.Text = txtStatus.Text & vbCrLf & Msg
End Sub
' 测试使用调制调解器进行传输
Private Sub cmdTest_Click()
Dim buffer As Variant
With MSComm1
If .PortOpen = True Then
MsgBox "端口已经打开"
Exit Sub
End If
.CommPort = 2 ' 设置并打开端口
.Settings = "9600,N,8,1"
.PortOpen = True
' 发送一个字符串
buffer = "Test"
.Output = buffer
End With
End Sub
' 获得发生的通讯事件或错误信息
Private Sub MSComm1_OnComm()
Dim Msg As String
Select Case MSComm1.CommEvent ' 错误
Case comEventBreak
Msg = "收到中断"
Case comEventCDTO
Msg = "载波检测超时"
Case comEventCTSTO
Msg = "CTS超时"
Case comEventDSRTO
Msg = "DSR超时。"
Case comEventFrame
Msg = "帧错误"
Case comEventOverrun
Msg = "数据丢失。"
Case comEventRxOver
Msg = "接收缓冲区溢出。"
Case comEventRxParity
Msg = "Parity 错误。"
Case comEventTxFull
Msg = "传输缓冲区已满。"
Case comEventDCB
Msg = "获取DCB时意外错误"
Case comEvCD
Msg = "CD 线状态:" & IIf(MSComm1.CDHolding, "调制解调器正在联机", "无联机")
Case comEvCTS
Msg = "CTS 线状态变化:" & IIf(MSComm1.CTSHolding, "传输可以进行", "传输不允许进行")
Case comEvDSR
Msg = "DSR 线状态变化:" & IIf(MSComm1.CTSHolding, "数据终端准备好", "数据终端没有准备好")
Case comEvRing
Msg = "Ring Indicator 变化。"
Case comEvReceive
Msg = "收到" & MSComm1.RThreshold & "个字符"
Case comEvSend
Msg = "传输缓冲区有" & MSComm1.SThreshold & "个字符"
Case comEvEOF
Msg = "输入数据流中发现EOF字符"
End Select
Me.txtStatus = Me.txtStatus & vbCrLf & Msg
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -