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

📄 frmsr31.frm

📁 加上一个GSM模块
💻 FRM
📖 第 1 页 / 共 4 页
字号:
        Call Get_Sim(ltClient.List(ltClient.ListIndex))
        ltQun.AddItem sim_NUM
    Else
        MsgBox "请选择客户", vbOKOnly, "通知"
    End If
End Sub

Private Sub cmdCHK_Click()
Dim chksum As Long
Dim Length As Integer
Dim i As Integer
txtCHK.Text = ""
    If cmbSR2.Text <> "" And (cmbSR1.Text <> "" Or ltQun.ListCount <> 0) Then
        chksum = 0
        chksum = Asc(Left(txtVER.Text, 1)) + Asc(Right(txtVER.Text, 1))
        chksum = chksum + Asc(Left(cmbADR.Text, 1)) + Asc(Right(cmbADR.Text, 1))
        chksum = chksum + Asc(Left(txtCID1.Text, 1)) + Asc(Right(txtCID1.Text, 1))
        chksum = chksum + Asc(Left(txtCID2.Text, 1)) + Asc(Right(txtCID2.Text, 1))
        chksum = chksum + Asc(Mid(txtLEN.Text, 1, 1)) + Asc(Mid(txtLEN.Text, 2, 1)) + Asc(Mid(txtLEN.Text, 3, 1)) + Asc(Mid(txtLEN.Text, 4, 1))
        If txtINFO.Text <> "" Then
            Length = Len(txtINFO.Text)
            For i = 1 To Length Step 1
                chksum = chksum + Asc(Mid(txtINFO.Text, i, 1))
            Next i
        End If
        chksum = chksum Mod 65536
        chksum = Not chksum
        chksum = chksum + 1
        txtCHK.Text = Right(Hex(chksum), 4)
        sendStr = txtSOH.Text + txtVER.Text + cmbADR.Text + txtCID1.Text + txtCID2.Text
        sendStr = sendStr + txtLEN.Text + txtINFO.Text + txtCHK.Text + txtEOH.Text + Chr(37)
        txtOutput.Text = sendStr
        cmdSend.Enabled = True
        cmdQun.Enabled = True
    Else
        If cmbSR2.Text = "" Then
            MsgBox "请选择命令类型", vbOKOnly, "通知"
        ElseIf cmbSR1.Text = "" And ltQun.ListCount = 0 Then
            MsgBox "请输入号码", vbOKOnly, "通知"
        End If
    End If
End Sub

Private Sub cmdClear_Click()
    ltQun.Clear
End Sub

Private Sub cmdEnd_Click()
    Unload Me
End Sub



Private Sub cmdProcess_Click()
                Select Case Check_Client(phoneNum)
                    'Case 0
                        'frmFind.Adodc1.Recordset.AddNew
                        'txtClient.Text = InputBox("请输入客户名称,若不能输入中文" + Chr(13) + Chr(10) + "请先输入英文,等数据存入数据库后再改成中文", "通知")
                    Case 1
                        frmFind.Adodc1.Recordset.AddNew
                        frmFind.txtClient.Text = ClientStr
                    Case Else
                        frmFind.Adodc1.Recordset.AddNew
                        frmFind.txtClient.Text = "未知客户"
                End Select
    frmFind.txtSIM.Text = phoneNum
    frmFind.txtTime.Text = phoneTime
    frmFind.txtData.Text = receiveStr
    frmFind.txtType.Text = "0"
    frmFind.WindowState = 2
    frmFind.Adodc1.Recordset.Update
'    frmFind.Adodc1.Recordset.AddNew
'    frmFind.txtSIM.Text = phoneNum
'    frmFind.txtTime.Text = phoneTime
'   frmFind.txtData.Text = receiveStr
'   frmFind.Adodc1.Recordset.Update
End Sub


Private Sub cmdSend_Click()
If cmbSR1.Text <> "" Then
    Call RecTemp
    tiSR1.Enabled = False
    tisr2.Enabled = False
    tiSR3.Enabled = False
    tiSR4.Enabled = False
    Unload frmFind
    Unload frmInit
    'sendStr = txtSOH.Text + txtVER.Text + cmbADR.Text + txtCID1.Text + txtCID2.Text
    'sendStr = sendStr + txtLEN.Text + txtINFO.Text + txtCHK.Text + txtEOH.Text + Chr(37)
    'txtOutput.Text = sendStr
    If Not frmMDI.comm.PortOpen Then
        frmMDI.comm.PortOpen = True
    End If
    txtczxs.Text = ""
    txtBack.Text = ""
    frmMDI.comm.Output = "AT+CMGS=" + cmbSR1.Text + 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()
    cmdSend.Enabled = False
    'newCount = 0
    'newSub = 0
    cmbSR2.AddItem "获取模拟量量化数据(浮点数)" '1
    cmbSR2.AddItem "获取模拟量量化数据(定点数)" '2
    cmbSR2.AddItem "获取开关量输入状态" '3
    cmbSR2.AddItem "获取告警状态" '4
    cmbSR2.AddItem "遥控" '5
    cmbSR2.AddItem "获取系统参数(浮点数)" '6
    cmbSR2.AddItem "获取系统参数(定点数)" '7
    cmbSR2.AddItem "设定系统参数(浮点数)" '8
    cmbSR2.AddItem "设定系统参数(定点数)" '9
    cmbSR2.AddItem "获取系统历史数据(浮点数)" '10
    cmbSR2.AddItem "获取系统历史数据(定点数)" '11
    cmbSR2.AddItem "获取历史告警" '12
    cmbSR2.AddItem "获取监控模块时间" '13
    cmbSR2.AddItem "设定监控模块时间" '14
    cmbSR2.AddItem "获取通信协议版本号" '15
    cmbSR2.AddItem "获取设备地址" '16
    cmbSR2.AddItem "获取设备(监控模块)厂家信息" '17
    cmbSR2.AddItem "获取DSP某内存单元数据" '18
    cmbSR2.AddItem "调节UPS输出电压范围" '19
    cmbSR2.AddItem "设置调试级校正系数" '20
    cmbSR1.AddItem "13696923761"
    cmbSR1.AddItem "13194095731"
    cmbSR1.AddItem "13159200196"
    cmbSR1.AddItem "13950001407"
    cmbSR1.AddItem "13459209241"
    cmbSR1.AddItem "13459209249"
    cmbSR1.AddItem "13950002484"
    For n = 0 To 254 Step 1
        If n < 16 Then
            cmbADR.AddItem CStr(0 & Hex(n))
        Else
            cmbADR.AddItem CStr(Hex(n))
        End If
    Next n
    ReDim TXT(0)
    Dim simNum
    Dim Count As Integer
    Dim objCn As New Connection
    Dim objRs As New Recordset
    Dim strCn As String, strSQL As String
    Count = 0
    objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\Program Files\smscomm\Info.mdb"
    objCn.Open
    strSQL = "select DISTINCT UPSINFO.SIMNUM,UPSINFO.CLIENT from UPSINFO"
    Set objRs.ActiveConnection = objCn
    objRs.Open strSQL
    objRs.MoveFirst
    While Not objRs.EOF
        If objRs.Fields("SIMNUM") <> "" Then
            simNum = objRs.Fields("SIMNUM")
            ltQun.List(Count) = objRs.Fields("SIMNUM")
        Else
            simNum = "00000000000"
            ltQun.List(Count) = "00000000000"
        End If
        'cmbClient.AddItem objRs.Fields("CLIENT")
        If objRs.Fields("CLIENT") <> "" Then
            ltClient.List(Count) = objRs.Fields("CLIENT")
        Else
            ltClient.List(Count) = "未知"
        End If
        Count = Count + 1
        objRs.MoveNext
    Wend
    objCn.Close
    Set objRs = Nothing
    Set objCn = Nothing
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 + -