📄 form1test.frm
字号:
'''
'''
'''
'''extern "C" __declspec(dllexport) __stdcall void About();
'''extern "C" __declspec(dllexport)int __stdcall TextToSms(char* csca,char* ToNum,char*
''' smsnr,int flashit,int reportit,int* sms_len,char* sms);
'''//编码成短消息 返回短消息长度
'''extern "C" __declspec(dllexport)int __stdcall SmsToText(char* sms,char* csca,int*
''' csca_len,char* ToNum,int* ToNum_len,char* sendtime,int* time_len,char* smsnr);
'''//将短消息解码为文本方式 OK
'''
'''
'''1、GSM GPS车载卫星定位系统 - 车载模块: 通过GSM 的SMS功能将车辆
'''GPS位置信息送到控制中心,具有防盗报警,远程控制功能。
'''2、基于GPRS的远程数据检测、控制模块,可接收RS-232串行口输入,四路报警检测,
''' 四路控制输出?
'''3、远程无线数据传输控制系统
''' 利用无线电台或对讲机远程传输数据,控制远程设备。
''' 可用于各种远程控制,数据采集系统中。
'''4、电动助动车蓄电池检测仪
''' 检测车辆充电?过流等情况对蓄电池的影响?
'''5、自动制水机控制系统
''' 利用自来水制作纯净水,自动控制制水机制冷、制热和冲洗,实时显示
'''纯净水水质状况?
'''6、 交通违章管理系统系统
'''9、 视频矩阵切换系统
''' 8路视频输入 3路视频输出,主要用在视频图像监控上。与计算机RS232相连。
'''10、电容器生产线自动温控系统
'''11、酒店管理信息系统
'''12、点菜系统
'''16、电话语音呼叫系统 110/119电话报警指挥系统
'''18、短消息收发软件
'''19、GSM MODEM,GPRS MODEM (RS-232或 USB口)
'''
'''
''' 上海蓝峰电子技术有限公司
''' http://www.lanfeng.com
''' 电话:021-63222149
''' 传真:021-63524268
''' Email: dlxw@china.com
''' 开户行: 建行上海市南京西路支行
''' 帐 号:056095-07020001409
Private Declare Function TextToSms Lib "SMSDLL.dll" (ByVal csc As String, ByVal ToNum As String, ByVal smsnr As String, ByVal flash As Integer, ByVal reportit As Integer, ByRef sms_len As Integer, ByVal retSms As String) As Integer
Private Declare Function About Lib "SMSDLL.dll" ()
Private Declare Function SmsToText Lib "SMSDLL.dll" (ByVal sms As String, ByVal csca As String, ByRef caca_len, ByVal ToNum As String, ByRef ToNum_len As Integer, ByVal sendtime As String, ByRef time_len As Integer, ByVal smsnr As String) As Integer
Private Sub Command1_Click()
'将信息编码成一条短消息
Dim s As String
Dim s1 As String
Dim s2 As String
Dim r As Integer
Dim f As Integer
Dim sms_len As Integer
r = CInt(Check1.Value)
f = CInt(Check2.Value)
Dim rsms As String * 400
If Text3.Text = "" Then
MsgBox "请输入短消息内容"
Exit Sub
End If
'rsms = "11111"
ret = TextToSms(Text1.Text, Text2.Text, Text3.Text, r, f, sms_len, rsms)
Text5.Text = "短消息长度:" + CStr(sms_len) & vbCrLf & "PDU内容:" + rsms
MsgBox "总字数:" & ret & vbCrLf & "短消息长度:" + CStr(sms_len) + vbCrLf & "PDU内容:" & rsms
' Dim i
' i = 98
' testit s, s1
' MsgBox s1
End Sub
Private Sub Command2_Click()
'About
Dim csca As String * 30
Dim csca_len As Integer
Dim num As String * 30
Dim num_len As Integer
Dim sendtime As String * 30
Dim time_len As Integer
Dim nr As String * 300
Dim nr_len As Integer
Dim i As Integer
i = SmsToText(Text4.Text, csca, csca_len, num, num_len, sendtime, time_len, nr)
MsgBox "返回值:" & i & vbCrLf & "短消息内容:" & Left(nr, i)
End Sub
Private Sub Command3_Click()
About
End Sub
Private Sub Command4_Click()
On Error Resume Next
Dim comm As Integer '端口号
comm = GetSetting(App.Title, "setting", "Com", 1)
MSComm1.CommPort = comm
Dim s As String
Dim s1 As String
Dim s2 As String
Dim r As Integer
Dim f As Integer
r = 0
f = 0
Dim sms_len As Integer
If Check1.Value = vbChecked Then
r = 1
Else
r = 0
End If
If Check2.Value = vbChecked Then
f = 1
' MsgBox "f=1"
Else
f = 0
End If
'MsgBox "r= " + r + " f= " + f
'Exit Sub
Dim i As Integer
Dim rsms As String * 400
If Text3.Text = "" Then
MsgBox "请输入短消息内容"
Text3.SetFocus
Exit Sub
End If
If Text2.Text = "" Then
MsgBox "请输入对方手机号码"
Text2.SetFocus
Exit Sub
End If
'rsms = "11111"
ret = TextToSms(Text1.Text, Text2.Text, Text3.Text, r, f, sms_len, rsms)
If ret = 0 Then
MsgBox ("短消息编码错误")
Exit Sub
End If
Text5.Text = "短消息长度:" + CStr(sms_len) & vbCrLf & "PDU内容:" + rsms
'开始发送
Dim time1
With MSComm1
If .PortOpen = False Then
.PortOpen = True
End If
If .PortOpen = True Then
time1 = Now()
.Output = "at+cmgs=" + CStr(sms_len) + vbCrLf
s = .Input
Do Until (InStr(s, ">") > 0 Or DateDiff("S", time1, Now()) > 5) '5秒钟内是否能检测到>,如果没有检测到则可能没有接TC35modem
DoEvents
s = s + .Input
Loop
If InStr(s, ">") > 0 Then '如果发送接收到>符 则继续发送内容
s = ""
.Output = Left(rsms, ret) '去掉空字符
DoEvents
For i = 1 To 100
'少等片刻.
DoEvents
Next
.Output = Chr(26) '发送^Z
ElseIf InStr(UCase(s), "ERROR") > 0 Then '如果发送接收到>符 则继续
MsgBox "发送出错", vbInformation, "发送出错"
Else
MsgBox "TC35 MODEM没有响应,请检查断口是否正确", vbInformation, "发送出错"
End If
time1 = Now()
s = .Input
Do Until (InStr(s, "OK") > 0 Or DateDiff("S", time1, Now()) > 5) '检查是否发送成功
DoEvents
s = s + .Input
Loop
If InStr(s, "+CMGS:") > 0 Then
MsgBox "发送成功"
Else
MsgBox "指定时间内未检测到发送成功标志," + vbCrLf + "发送可能失败,请检查连接状况或网络状态。", vbInformation, "发送出错"
End If
.PortOpen = False
End If
End With
Exit Sub
err1:
comm = InputBox("请确认端口号是否正确", "打开端口出错", MSComm1.CommPort)
MSComm1.CommPort = comm
SaveSetting App.Title, "setting", "Com", comm
End Sub
Private Sub Command5_Click()
Dim comm As Integer
comm = InputBox("请输入端口号", "设置通信端口", MSComm1.CommPort)
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = comm
SaveSetting App.Title, "setting", "Com", comm
End Sub
Private Sub Form_Load()
Text3_Change
Text2.Text = GetSetting(App.Title, "setting", "num", "13621972124")
End Sub
Private Sub Form_Unload(Cancel As Integer)
SaveSetting App.Title, "setting", "num", Text2.Text
End
End Sub
Private Sub Text3_Change()
Label5.Caption = "字数 : " & Len(Text3.Text)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -