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

📄 frmsr.frm

📁 加上一个GSM模块
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    If Not (CNlength Mod 2 = 0) Then
        sP = sP + "F"
        sP = sP + Mid(cmbSR1.Text, CNlength, 1)
    End If
    sP = "9168" + sP
End Function

Public Function RecTemp() As String
    Dim buf$
    If frmMDI.comm.InBufferCount > 0 Then
        frmMDI.comm.InputLen = 0
        buf = frmMDI.comm.Input
    End If
End Function
Public Function GetData() As String
    Dim Count As Integer
    Dim Count1 As Integer
    Dim count2 As Integer
    Dim flag1 As Boolean
    Dim flag2 As Boolean
    flag1 = False
    flag2 = False
    Count = 0
    Count1 = 0
    count2 = 0
    phoneNum = ""
    phoneTime = ""
    receiveStr = ""
    frmMDI.comm.InputLen = 1
    While frmMDI.comm.InBufferCount > 0
        ReDim Preserve arr_return(Count + 1)
        arr_return(Count) = frmMDI.comm.Input
        If Count > 3 Then
            If arr_return(Count - 3) = "+" And arr_return(Count - 2) = "8" And arr_return(Count - 1) = "6" Then
                flag2 = True
            End If
        End If
        If flag2 = True Then
            If count2 < 11 Then
                phoneNum = phoneNum + arr_return(Count)
                'count2 = count2 + 1
            ElseIf count2 >= 15 And count2 < 32 Then
                phoneTime = phoneTime + arr_return(Count)
            ElseIf count2 >= 32 Then
                flag2 = False
            End If
            count2 = count2 + 1
        End If
        If Count > 0 Then
            If arr_return(Count - 1) = "7" And arr_return(Count) = "E" Then
                flag1 = True
                receiveStr = receiveStr + "7"
                mess_index(0) = "7"
            End If
        End If
        If flag1 = True Then
            ReDim Preserve mess_index(Count1 + 1)
            mess_index(Count1 + 1) = arr_return(Count)
            receiveStr = receiveStr + arr_return(Count)
            If arr_return(Count - 1) = "0" And arr_return(Count) = "D" Then
                flag1 = False
            End If
            Count1 = Count1 + 1
        End If
        Count = Count + 1
    Wend
End Function

Public Function GetData1() As String
    Dim Count As Integer
    Count = 0
    frmMDI.comm.InputLen = 1
    While frmMDI.comm.InBufferCount > 0
        ReDim Preserve arr_return(Count + 1)
        arr_return(Count) = frmMDI.comm.Input
        If Count > 2 Then
            If arr_return(Count - 1) = "O" And arr_return(Count) = "K" Then
                newFlag = True
            End If
        End If
        
        If Count > 4 Then
            If arr_return(Count - 4) = "S" And arr_return(Count - 3) = "M" And arr_return(Count - 1) = "," Then
                newNo(newCount) = arr_return(Count)
                newCount = newCount + 1
            End If
        End If
        Count = Count + 1
    Wend
End Function
Public Function ReadNo() As String
    receiveStr6 = ""
    Dim guoDu As Integer
    On Error Resume Next
    If frmMDI.comm.InBufferCount > 0 Then
        Dim Count As Integer
        Count = 0
        frmMDI.comm.InputLen = 1
        While frmMDI.comm.InBufferCount > 0
            ReDim Preserve mess_index(Count + 1)
            'mess_index(Count) = Hex(frmMDI.comm.Input)
            mess_index(Count) = frmMDI.comm.Input
            receiveStr6 = receiveStr6 + mess_index(Count)
            Count = Count + 1
        Wend
        Count = UBound(mess_index)
        'no = Val("&H" + mess_index(Count - 3))
        no = mess_index(Count - 3)
        'Count4 = Val("&H" + mess_index(Count - 3))
        Count4 = no
        txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "新短信编号:" & no
        frmMDI.comm.Output = "AT+CMGR=" + Hex(no) + Chr(13) + Chr(10)
    End If
End Function
Private Sub cmdAdd_Click()
    If ltClient.ListIndex <> -1 Then
        Call Get_Sim(ltClient.List(ltClient.ListIndex))
        ltQun.AddItem sim_NUM
    Else
        MsgBox "请选择客户", vbOKOnly, "通知"
    End If
End Sub



Private Sub cmdClear_Click()
    ltQun.Clear
End Sub

Private Sub cmdEnd_Click()
    Unload Me
End Sub


Private Sub cmdProcess_Click()
    smsCND
    smsPN
    ascg (txtINFO.Text)
    txtBack.Text = ""
    txtBack.Text = sC + Chr(13) + Chr(10) + sP + Chr(13) + Chr(10) + smsContent
End Sub

Private Sub cmdSend_Click()
Dim infolen As Integer
If cmbSR1.Text <> "" Then
    Call RecTemp
    tiSR1.Enabled = False
    tisr2.Enabled = False
    tiSR3.Enabled = False
    tiSR4.Enabled = False
    Unload frmFind
    Unload frmInit
    infolen = Len(txtINFO.Text) * 2
    If Not frmMDI.comm.PortOpen Then
        frmMDI.comm.PortOpen = True
    End If
    txtczxs.Text = ""
    txtBack.Text = ""
    sendStr = ""
    smsCND
    smsPN
    ascg (txtINFO.Text)
    sendStr = "08" + sC + "11000D" + sP + "000800" + Right(Str(Hex(Len(smsContent) / 2)), 2) + smsContent
    frmMDI.comm.Output = "AT+CMGS=" & Str(15 + infolen) + Chr(13) + Chr(10)
    tiSR1.Enabled = True
    intall = 0
    cmdSend.Enabled = False
Else
    MsgBox "请选择手机号码", vbOKOnly, "通知"
End If
End Sub


Private Sub cmdQun_Click()
If ltQun.ListCount <> 0 Then
    Dim Length, Count As Integer
    Call RecTemp
    tiQunfa.Enabled = False
    tiQunFa1.Enabled = False
    tiQunFa2.Enabled = False
    Unload frmFind
    Unload frmInit
    txtczxs.Text = ""
    NUM = 0
    COUNT6 = 0
    For Count = 0 To ltQun.ListCount Step 1
        'txtczxs.Text = txtczxs.Text + ltQun.List(Count) + Chr(13) + Chr(10)
        ReDim Preserve TXT(Count + 1)
        TXT(Count) = ltQun.List(Count)
    Next
    NUM = ltQun.ListCount
    Unload frmFind
    tiQunfa.Enabled = True
Else
    MsgBox "请输入手机号码", vbOKOnly, "通知"
End If
End Sub

Private Sub cmdSub_Click()
    If ltQun.ListIndex <> -1 Then
        ltQun.RemoveItem ltQun.ListIndex
    Else
        MsgBox "请选择手机号码", vbOKOnly, "通知"
    End If
End Sub

Private Sub Form_Load()
    'newCount = 0
    'newSub = 0
End Sub

Private Sub tiQunfa_Timer()
    tiQunfa.Enabled = False
    If COUNT6 < NUM Then
        frmMDI.comm.Output = "AT+CMGS=" + TXT(COUNT6) + Chr(13) + Chr(10)
        COUNT6 = COUNT6 + 1
        tiQunFa1.Enabled = True
    Else
        frmFind.Show
    End If
End Sub

Private Sub tiQunFa1_Timer()
    Dim buf$
    Dim lastChr As String
    Dim Count As Integer
    Dim priflag As Boolean
    priflag = False
    Count = 0
    frmMDI.comm.InputLen = 1
    While frmMDI.comm.InBufferCount > 0
        ReDim Preserve arr_return(Count + 1)
        arr_return(Count) = frmMDI.comm.Input
        If arr_return(Count) = ">" Then
            priflag = True
        End If
        
        If Count > 4 Then
            If arr_return(Count - 4) = "S" And arr_return(Count - 3) = "M" And arr_return(Count - 1) = "," Then
                newNo(newCount) = arr_return(Count)
                newCount = newCount + 1
            End If
        End If
        Count = Count + 1
    Wend
    If priflag = True Then
            tiQunFa1.Enabled = False
            frmMDI.comm.Output = sendStr + Chr(26)
            txtczxs.Text = txtczxs + Chr(13) + Chr(10) + "正在给" + TXT(COUNT6 - 1) + "发送短信"
            tiQunFa2.Enabled = True
    Else
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "给" + TXT(COUNT6 - 1) + "传送数据失败"
            tiQunfa.Enabled = True
    End If
End Sub

Private Sub tiQunFa2_Timer()
    If frmMDI.comm.InBufferCount > 0 Then
        tiQunFa2.Enabled = False
        Call GetData1
        If newFlag = True Then
            newFlag = False
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "给" + TXT(COUNT6 - 1) + "发送短信成功"
            If COUNT6 < NUM Then
                tiQunfa.Enabled = True
            Else
                tiQunFa3.Enabled = True
            End If
        Else
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "给" + TXT(COUNT6 - 1) + "发送短信失败"
            If COUNT6 < NUM Then
                tiQunfa.Enabled = True
            Else
                tiQunFa3.Enabled = True
            End If
        End If
    End If
End Sub

Private Sub tiQunFa3_Timer()
    tiQunFa3.Enabled = False
    frmFind.Show
End Sub

Private Sub tiSR1_Timer()
    Dim buf$
    Dim count2 As Integer
    Dim lastChr As String
    count2 = 0
    If frmMDI.comm.InBufferCount > 0 Then
        tiSR1.Enabled = False
        frmMDI.comm.InputLen = 0
        buf = Trim(frmMDI.comm.Input)
        lastChr = Right(buf, 1)
        If lastChr = ">" Then
            frmMDI.comm.Output = sendStr + Chr(26)
            txtOutput.Text = sendStr
            txtczxs.Text = "短信发送中"
            tisr2.Enabled = True
        Else
            'If Count2 < 3 Then
                txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "短信发送失败,等待!"
                'frmMDI.comm.Output = "AT+CMGS=" + cmbSR1.Text + Chr(13) + Chr(10)
                'Count2 = Count2 + 1
                'tiSR1.Enabled = True
            'Else
                tiSR1.Enabled = False
                'txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "数据传送失败,请重传!"
            'End If
        End If
    End If
End Sub

Private Sub tisr2_Timer()
If frmMDI.comm.InBufferCount > 0 Then
    tisr2.Enabled = False
    Call GetData1
    If arr_return(UBound(arr_return) - 4) = "O" And arr_return(UBound(arr_return) - 3) = "K" Then
        txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "短信发送成功"
        'tiSR3.Enabled = True
    Else
        txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "短信发送失败,请重发!"
    End If
End If
End Sub

Private Sub tiSR3_Timer()
    If frmMDI.comm.InBufferCount > 0 Then
        intall = intall + 1
        If intall = 1 Then
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "有数据到了"
            Call ReadNo
        End If
        If intall = 2 Then
            Flag = False
            tiSR3.Enabled = False
            Call GetData
            txtBack.Text = "接受到短信"
            txtBack.Text = txtBack.Text + Chr(13) + Chr(10) + "SIM卡号码:" + phoneNum
            txtBack.Text = txtBack.Text + Chr(13) + Chr(10) + "收到时间:" + phoneTime
            txtBack.Text = txtBack.Text + Chr(13) + Chr(10) + "短信内容:" + receiveStr
            If (mess_index(0) = Hex(7) And mess_index(1) = Hex(14)) And (mess_index(UBound(mess_index) - 1) = "0" And mess_index(UBound(mess_index)) = "D") Then
                Flag = True
                txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "接收到的数据正确"
                sendstr1 = "SIM:" + phoneNum + "," + "RECEIVE TIME:" + phoneTime + "," + "RECEIVE DATA:" + receiveStr
                frmMDI.comm.Output = "AT+CMGD=" + Hex(Count4) + Chr(13) + Chr(10)
                tiSR4.Enabled = True
            Else
                intall = 0
                txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "接收到错误的数据"
                frmMDI.comm.Output = "AT+CMGD=" + Hex(Count4) + Chr(13) + Chr(10)
                tiSR4.Enabled = True
            End If
        End If
    End If
End Sub

Private Sub tiSR4_Timer()
    If frmMDI.comm.InBufferCount > 0 Then
        tiSR4.Enabled = False
        Call GetData1
        If arr_return(UBound(arr_return) - 4) = "O" And arr_return(UBound(arr_return) - 3) = "K" Then
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "SIM卡上的短信已删除"
            cmdSend.Enabled = True
        Else
            tiSR4.Enabled = True
            frmMDI.comm.Output = "AT+CMGD=" + Hex(Count4) + Chr(13) + Chr(10)
        End If
    End If
End Sub

⌨️ 快捷键说明

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