?? frmxtlj.frm
字號:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form FrmCSH
BorderStyle = 3 'Fixed Dialog
Caption = "系統(tǒng)連接設置"
ClientHeight = 3105
ClientLeft = 45
ClientTop = 330
ClientWidth = 4650
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3105
ScaleWidth = 4650
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text1
Height = 2415
Left = 5280
TabIndex = 4
Text = "Text1"
Top = 1080
Width = 2415
End
Begin MSCommLib.MSComm MSComm1
Left = 3840
Top = 120
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
End
Begin VB.CommandButton QuitCommand
Caption = "退出系統(tǒng)"
Height = 375
Left = 1440
TabIndex = 3
Top = 2160
Width = 1575
End
Begin VB.CommandButton RunCommand
Caption = "系統(tǒng)連接與初始化"
Height = 375
Left = 1440
TabIndex = 2
Top = 1440
Width = 1575
End
Begin VB.Timer Timer2
Enabled = 0 'False
Interval = 5000
Left = 360
Top = 1320
End
Begin VB.Timer Timer1
Enabled = 0 'False
Interval = 800
Left = 360
Top = 720
End
Begin VB.ComboBox Combo1
Height = 300
Left = 1320
TabIndex = 1
Top = 600
Width = 1815
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "請選擇您使用的端口:"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 210
Left = 120
TabIndex = 0
Top = 240
Width = 2100
End
Attribute VB_Name = "FrmCSH"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim IntNo As Integer
Dim arr_Return() As Variant
Private Sub Combo1_Click()
On Error GoTo err
PortItem = CInt(Combo1.Text) '保存串行端口號
MSComm1.CommPort = PortItem
MSComm1.PortOpen = True '打開所選擇的端口號
Exit Sub
err:
MsgBox "對不起,您選擇的端口號已經(jīng)被打開,請選擇別的端口", vbOKOnly, "通知"
End Sub
Private Sub Form_load()
Dim aa As Integer
For aa = 1 To 10
Combo1.AddItem aa
Next aa
IntNo = 0
End Sub
Private Sub QuitCommand_Click()
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
Unload Me
End
End Sub
Private Sub RunCommand_Click()
Timer2.Enabled = True 'Timer2控件開始計時
If MSComm1.PortOpen = False Then '如果端口沒有打開則打開端口
MSComm1.CommPort = PortItem '選擇端口號
MSComm1.PortOpen = True '打開端口
Timer2.Enabled = True 'Timer2控件開始計時
End If
MSComm1.Output = "AT" + Chr(13) + Chr(10) '發(fā)送AT指令,GSM模塊返回OK
Timer1.Enabled = True 'Timer1開始計時
End Sub
Private Sub Timer1_Timer()
If MSComm1.InBufferCount > 0 Then
Timer1.Enabled = False 'Timer1停止計時
Call GetData '讀取串口發(fā)來的短消息,存放到arr_return()數(shù)組中 16進制數(shù)
If IntNo = 0 Then 'IntNo存放當前刪除的短消息數(shù)量,初始值為0
If arr_Return(UBound(arr_Return) - 4) = Hex(Asc("O")) And arr_Return(UBound(arr_Return) - 3) = Hex(Asc("k")) Then '判斷是否接收到“Ok”字符串,接收到證明連接正常
MSComm1.Output = "AT+CMGF=1" + Chr(13) + Chr(10) '使用AT指令設置短消息的格式為Text類型
IntNo = IntNo + 1
Timer1.Enabled = True
Else
Timer1.Enabled = True
End If
Else
If IntNo = 16 Then '如果IntNo計數(shù)達到16,則測試完畢
MsgBox "測試完畢:初始化已經(jīng)結束!", vbOKOnly, "通知"
Unload Me
FrmMain.Show '打開主窗口
Else
If arr_Return(UBound(arr_Return) - 4) = Hex(Asc("O")) And arr_Return(UBound(arr_Return) - 3) = Hex(Asc("K")) Then
If IntNo < 10 Then '按刪除短消息的類型分為兩種,大于10和小于10
MSComm1.Output = "AT+CMGD=" + Chr(IntNo + 48) + Chr(13) + Chr(10) '刪除短消息
IntNo = IntNo + 1
Timer1.Enabled = True
Else
MSComm1.Output = "AT+CMGD=1" + Chr(IntNo + 38) + Chr(13) + Chr(10)
IntNo = IntNo + 1
Text.Text = IntNo
Timer1.Enabled = True
End If
End If
End If
End If
End If
End Sub
Private Function GetData()
Dim Count As Integer
Count = 0
MSComm1.InputLen = 1 '設置mscomm1的InputLen屬性為1 ,讀取緩沖區(qū)時按字節(jié)讀取
While MSComm1.InBufferCount > 0 '循環(huán)讀取緩沖區(qū)中的數(shù)據(jù)
ReDim preserve_return(Count + 1) '動態(tài)定義數(shù)組的上限 '重新定義數(shù)組
arr_Return(Count) = Hex(Asc(MSComm1.Input))
Count = Count + 1
Wend
End Function
Private Sub Timer2_Timer()
Dim IntChk As String
If IntNo <> "16" Then '判斷短消息是否刪除完畢:如果Int<>"16",表示還沒有初始化完畢,重新初始化
Timer2.Enabled = False
IntChk = MsgBox("對不起,初始化發(fā)生錯誤,是否重新初始化?", vbOKCancel, "通知")
If IntChk = vbOK Then
IntNo = 0
Timer2.Enabled = True
Call RunCommand_Click
Else
Unload Me
FrmMain.Show
End If
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -