📄 frmsr31.frm
字号:
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 + -