📄 mdlcommon.bas
字号:
If blTmp Then
If iLen <> 99 Then
nTmpSignal = CLng(iLen / 31 * 5)
strImgKey = "Signal" & nTmpSignal
CommandStatus = "信号质量是:" & nTmpSignal
End If
strThisAt1 = ""
End If
AnalysisData = blTmp
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+CMGR:"
CommandStatus = "完毕"
iCr = InStr(strTmpSave1, "OK" & vbCr)
If iCr > 0 Then
'去除双引号
For i = 1 To Len(strTmpSave1)
strTmp1 = Mid(strTmpSave1, i, 1)
If strTmp1 <> """" Then strTmp = strTmp & strTmp1
Next i
strTmpSave1 = strTmp
g_blIsSysBusy = False
g_blIsSendingSMS = False
'iTmp = SaveDataToDB(strTmpSave1, False)
CommandStatus = "完毕。"
iCr = InStr(strTmpSave1, "OK" & vbCr)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr - 2)
strThisAt1 = ""
AnalysisData = True
ElseIf InStr(strTmpSave1, "ERROR:") > 0 And InStr(strTmpSave1, vbCr) > 0 _
Or InStr(strTmpSave1, "ERROR" & vbCr) > 0 Then
g_blIsSysBusy = False
g_blIsSendingSMS = False
CommandStatus = "序号为" & strTmp & "的短信不存在。"
iCr = InStr(strTmpSave1, vbCr)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr)
strThisAt1 = ""
AnalysisData = True
Else
CommandStatus = "正在读取短信···"
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+CMSERROR:"
iCr = InStr(strTmpSave1, vbCr)
g_blIsSysBusy = False
g_blIsSendingSMS = False
If iCr > 0 Then
strTmp = Left(strTmpSave1, iCr - 1)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr)
iLen = InStr(strTmp, ":")
CommandStatus = "错误:" & Right(strTmp, Len(strTmp) - iLen)
strThisAt1 = ""
AnalysisData = True
Else
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+CMTI:" '+CMTI: "SM",1
CommandStatus = "新信息:"
If InStr(strTmpSave1, vbCr) > 0 Then
iLen = InStr(strTmpSave1, vbCr)
strTmp = Left(strTmpSave1, iLen - 1)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iLen)
iLen = InStr(strTmp, ",") '=12
iTmp = InStr(strTmp, " ") '=7
strTmp2 = Trim(Mid(strTmp, iTmp, iLen - iTmp)) ' " "SM""
strTmp3 = Right(strTmp, Len(strTmp) - iLen) '1
CommandStatus = CommandStatus & strTmp3
If strTmp2 = """SM""" Then CommandStatus = CommandStatus & ",存储于SIM卡中"
'nTimeSend = 8
On Error Resume Next
'每当有新消息,播放声音n遍
' If strMusicName <> "" Then
' MMCNewSMS.FileName = strMusicName
' Else
' MMCNewSMS.FileName = App.Path & "\sound\SMSSoundSnow.wav"
' strMusicAlias = "雪"
' End If
' If MMCNewSMS.Mode = mciModeNotOpen Then MMCNewSMS.Command = "Open"
' If g_nCountPlaySnd = 0 Then
' g_nCountPlaySnd = iMusicPlayTimes
' MMCNewSMS.Command = "Play"
' Else
' If MMCNewSMS.Mode = mciModePlay Then
' g_nCountPlaySnd = iMusicPlayTimes
' Else
' g_nCountPlaySnd = g_nCountPlaySnd + 1
' If g_nCountPlaySnd > iMusicPlayTimes Then g_nCountPlaySnd = iMusicPlayTimes
' MMCNewSMS.Command = "Close"
' MMCNewSMS.Command = "Open"
' MMCNewSMS.Command = "Play"
' End If
' End If
On Error GoTo ErrorN
g_blIsNewSMSIn = True
'g_blIsListSMS = False
g_blIsSysBusy = False
g_blIsSendingSMS = False
'Call ResetTask
'Call AddTask(NewMSGTask, 5, 0, 50)
strThisAt1 = ""
AnalysisData = True
Else
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+CMGL:"
iCr = InStr(strTmpSave1, "OK" & vbCr)
If iCr > 0 Then
strTmp = Left(strTmpSave1, iCr - 1)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr - 2)
strThisAt1 = ""
nCountSMSList = 0
For i = 1 To Len(strTmp)
strTmp1 = Mid(strTmp, i, 6)
If strTmp1 = "+CMGL:" Then nCountSMSList = nCountSMSList + 1
Next i
CommandStatus = "共有" & nCountSMSList & "条短消息,完毕。"
If nCountSMSList > 0 Then
g_blMaySaveAllSMS = True
n_CountListSMS = nCountSMSList
g_blIsListSMS = True
g_blIsNewSMSIn = False
g_blIsSysBusy = False
g_blIsSendingSMS = False
'Call AddTask(SaveAllMSGTask, 5, 0, 10)
Else
g_blMaySaveAllSMS = False
End If
nCountSMSList = 0
AnalysisData = True
Else
strTmp = strTmpSave1
nCountSMSList = 0
For i = 1 To Len(strTmp)
strTmp1 = Mid(strTmp, i, 6)
If strTmp1 = "+CMGL:" Then nCountSMSList = nCountSMSList + 1
Next i
CommandStatus = "读取中···"
For i = 1 To nCountSMSList
CommandStatus = CommandStatus & "·"
Next i
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+CMGS:"
iCr = InStr(strTmpSave1, "OK" & vbCr) '
g_blIsSysBusy = False
If iCr > 0 Then
CommandStatus = "成功。请稍候..."
g_blIsSendingSMS = False
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr - 2)
strThisAt1 = ""
AnalysisData = True
ElseIf InStr(strTmpSave1, "ERROR:") > 0 And InStr(strTmpSave1, vbCr) > 0 _
Or InStr(strTmpSave1, "ERROR" & vbCr) > 0 Then
CommandStatus = "失败! 请稍候再重试"
g_blIsSendingSMS = False
iLen = InStr(strTmpSave1, vbCr)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iLen)
strThisAt1 = ""
AnalysisData = True
ElseIf InStr(strTmpSave1, vbCr) > 0 Then
g_blIsSendingSMS = False
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr - 2)
strThisAt1 = ""
AnalysisData = True
Else
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+WIND:" '+WIND: 6,1
iCr = InStr(strTmpSave1, vbCr)
g_blIsSysBusy = False
g_blIsSendingSMS = False
If iCr > 0 Then
strTmp = Mid(strTmpSave1, 8, Len(strTmpSave1) - 7 - 1)
Select Case Left(strTmp, 1)
Case "0"
Case "1"
CommandStatus = "查找网络..."
Case "2"
CommandStatus = "正在呼出..."
Case "3"
CommandStatus = "现在可以接受AT指令"
Case "4"
CommandStatus = "Modem就绪"
'Call AddTask(ShowErrorTask, 5, 0, 10)
'Call AddTask(FeedBackRSSITask, 5, 1, 10)
'Call AddTask(NewMSGTask, 5, 0, 50)
Case "5"
CommandStatus = "连接网络..."
Case "6"
CommandStatus = "通话结束。"
strTmp2 = CommandStatus & vbCrLf & "时间:" & Format(Now, "YYYY年MM月DD日 HH:MM:SS")
Call SaveInfoToFile(strTmp2, "CallIn.txt")
g_blIsEndCall = True
Case "7"
CommandStatus = "网络可用"
Case "8"
CommandStatus = "已关机"
Case "9"
End Select
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr)
strThisAt1 = ""
AnalysisData = True
Else
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case "+CLIP:" '+CLIP: "05468390808",129
iCr = InStr(strTmpSave1, vbCr) '查找回车符
If iCr > 0 Then
strTmp = Mid(strTmpSave1, 8, Len(strTmpSave1) - 7 - 1)
strTmp = Left(strTmpSave1, iCr - 1)
strTmpSave1 = Right(strTmpSave1, Len(strTmpSave1) - iCr)
iLen = InStr(strTmp, ",") '查找逗号 = 21
iTmp = InStr(strTmp, " ") '查找空格 = 7
strTmp2 = Trim(Mid(strTmp, iTmp + 1, iLen - iTmp - 1)) ' " "05468390808""
CommandStatus = "来电号码:" & strTmp2
strTmp2 = CommandStatus & vbCrLf & "来电时间:" & Format(Now, "YYYY年MM月DD日 HH:MM:SS")
Call SaveInfoToFile(strTmp2, "CallIn.txt")
strThisAt1 = ""
AnalysisData = True
Else
AnalysisData = False
End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Case Else
g_blIsSysBusy = False
g_blIsSendingSMS = False
strTmpSave1 = ""
strThisAt1 = ""
AnalysisData = True
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End Select
Exit Function
ErrorN:
CommandStatus = "错误:" & Err & ". " & Err.Description
strTmpSave1 = ""
AnalysisData = True
End Function
Public Function QueryRSSI(strInput As String, iSignal As Integer, iBER As Integer) As Boolean
Dim strTmp As String
Dim i As Integer, iLen As Integer, iTmp As Integer, iCr As Integer
On Error Resume Next
iCr = InStr(strInput, vbCr)
If iCr > 0 Then
For i = 7 To Len(strInput)
strTmp = Mid(strInput, i, 1)
iLen = iLen + 1
If strTmp = "," Then
iTmp = Mid(strInput, 7, iLen)
iLen = 0
iSignal = iTmp
Exit For
End If
Next i
iTmp = i
For i = iTmp To Len(strInput)
strTmp = Mid(strInput, i, 1)
iLen = iLen + 1
If strTmp = vbCr Then
strTmp = Mid(strInput, iTmp + 1, iLen)
If IsNumeric(strTmp) Then
iTmp = CInt(strTmp)
iLen = 0
iBER = iTmp
Exit For
End If
End If
Next i
strInput = Right(strInput, Len(strInput) - iCr)
QueryRSSI = True
Else
QueryRSSI = False
End If
End Function
Public Sub SaveInfoToFile(ByVal SaveString As String, Optional ByVal InfoFileName As String)
Dim nFileNo As Long
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -