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

📄 form1test.frm

📁 文本到PDU转换动态链接库
💻 FRM
📖 第 1 页 / 共 2 页
字号:
'''
'''
'''
'''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 + -