成都网站推广
 

中联无限-服务热线:028-86637122 工作时间:9:00-18:00 星期一-星期五

 
首页 | 关于我们 | 新闻动态 | 成都网站建设 | 成都网站推广 | 成都微信营销 | 网站制作案例 | 软件开发 | 常见问题 | 域名注册 | 虚拟主机
  新闻动态
     公司新闻
     行业新闻
     营销知识
     网站建设
  
  客户案例
·巨丰达人减肥训练营
·成都写意经典家具有限公司
·成都卡姆士安防设备有限公司
·新千里装饰集团
·成都吕氏三才中医博爱堂
·泊菲特语言学校
·四川高地易景园林工程公司
·成都烽火建筑装饰设计有限公司
·优尼客酒店
·成都杜嘉机电有限公司
·菲颖1购
·成都安东尼体育文化传播有限公
·四川九章生物化工科技发展有限
·成都环球体育文化传播有限公司
·万友爱淘网上商城
·四川省斯博兰德建筑装饰设计有
·肥犇仔
·成都市猛追湾游泳场
  网站运营
·企业新站推广中存在的六大误区
·网站运营之八大要素
·怎么区别网站运营与网络运营
·怎样区分网站运营和网络运营
·SQL Server 200
·新网站运营后如何迅速增加网站
·减肥网站是怎样提高收入的
·个人网站赢利模式的拓展方向
·商业门户网站运营模式探讨
·成都地方门户网站运营模式
·网站策划人如何盈利
·网站运营模式观察与分析
  最新资讯
·成都网络推广公司介绍的六种推
·分析导致成都网络推广效果差的
·成都网站优化:企业网站关键词
·成都网站优化初期企业应该需要
·浅析成都网站优化中企业如何建
·分析企业在做成都网站优化过程
·短视频营销可以为成都网络推广
·小品牌怎么样才能既省钱又省力
·分析成都网络推广中企业需要注
·如何根据成都网络推广的营销周
·成都网站优化需要遵循哪些规则
·成都SEO网站优化过程中如何
 
   您的位置在:成都网站推广 > 新闻动态 > 行业新闻 > 正文
   行业新闻

手机短信发送怎么用VB6.0来编写

[ 来源:中联无限科技有限公司   发布日期:2010/12/20 10:40:42 ]
因为手机短消息的发送是以PDU串的形式发送出去的,中文字符以Unicode码来表示 ,所以在发送中文短消息之前必须首先将中文字符转换为Unicode码,下面的函数将 实现这个功能。这个函数主要应用到VB自带的一个格式转换函数:ChrW()将中文 转换为Unicode码。    Public Function chg(rmsg As String) As String   Dim tep As String   Dim temp As String   Dim i As Integer   Dim b As Integer   tep = rmsg   i = Len(tep)   b = i / 4   If i = b * 4 Then
因为手机短消息的发送是以PDU串的形式发送出去的,中文字符以Unicode码来表示
,所以在发送中文短消息之前必须首先将中文字符转换为Unicode码,下面的函数将
实现这个功能。这个函数主要应用到VB自带的一个格式转换函数:ChrW()将中文
转换为Unicode码。 
  Public Function chg(rmsg As String) As String
  Dim tep As String
  Dim temp As String
  Dim i As Integer
  Dim b As Integer
  tep = rmsg
  i = Len(tep)
  b = i / 4
  If i = b * 4 Then
   b = b - 1
   tep = Left(tep, b * 4)
  Else
   tep = Left(tep, b * 4)
  End If
  chg = ""
  For i = 1 To b
   temp = "&H" & Mid(tep, (i - 1) * 4 + 1, 4)
   chg = chg & ChrW(CInt(Val(temp)))
  Next i
  End Function 
  同上,为了发送以PDU模式发送短消息,必须将手机号码和对方手机号码也转换
为PDU格式,下面的函数就是为了实现这种转换: 
  Public Function telc(num As String) As String
  Dim tl As Integer
  Dim ltem, rtem, ttem As String
  Dim ti As Integer
  ttem = ""
  tl = Len(num)
  If tl <> 11 And tl <> 13 Then
   MsgBox "wrong number." & tl
   Exit Function
  End If
  If tl = 11 Then
   tl = tl + 2
   num = "86" & num
  End If
  For ti = 1 To tl Step 2
   ltem = Mid(num, ti, 1)
   rtem = Mid(num, ti + 1, 1)
   If ti = tl Then rtem = "F"
   ttem = ttem & rtem & ltem
  Next ti
  telc = ttem
  End Function  
  手机号码有两种表示方法:11位和13位(带国家码86),一般手机发送时都是
以13位形式表示的,所以以上的函数还有一个功能是自动将11位格式手机号码转换
为13位形式,然后再转换为PDU串。   
    手机短信的发送主要借助于VB的Mscomm控件实现,关于Mscomm控件,前面的技
术介绍部分有详细介绍。短信的发送是由AT+CMGS指令完成的,采用PDU模式发送,
函数代码如下:
  Const prex = "0891"
  Const midx = "11000D91"
  Const sufx = "000800"
  Public Function Sendsms(csca As String, num As String, msg As String) 
As _Boolean
   Dim pdu, psmsc, pnum, pmsg As String
   Dim leng As String
   Dim length As Integer
   length = Len(msg)
   length = 2 * length
   leng = Hex(length)
   If length < 16 Then leng = "0" & leng
   psmsc = Trim(telc(csca))
   pnum = Trim(telc(num))
   pmsg = Trim(ascg(msg))
   pdu = prex & psmsc & midx & pnum & sufx & leng & pmsg
  sleep(1)
   mobcomm.Output = "AT+CMGF=0" + vbCr
   mobcomm.Output = "AT+CMGS=" & Str(15 + length) + vbCr
  mobcomm.Output = pdu & Chr$(26)
  sleep(1)
   Sendsms = True
  End Function  
  因为手机同一时间只能处理一件事情,因此这个函数只负责发送短信,关于短
信发送成功与否以及阅读短信的部分集中在一起处理。判断手机短信发送成功与否
主要由AT+CMGS命令执行以后的返回码来决定(可参见前文的AT指令介绍部分)。
  为了防止手机因过于繁忙而出错,这里采取了一定的方法让手机有充分的时间
处理发送和接收及删除等操作。Sleep()函数正是为此而设计的,在发送及删除操作
后都会让程序暂停一秒,这样就不至于使得手机过于繁忙。
  Unicode码解码函数  
  相比于手机短信的发送而言,手机短信的接收主要的工作正好与之相反。手机
短信的发送需要将待发送的短信内容转换为Unicode码,而短信的接收则需要将接收
到的Unicode码转换成中文字符。下面的函数将实现解码功能。同手机短信发送的编
码函数一样,这里也应用了一个VB内置的函数AscW()函数来将Unicode码转换为中
文:
  Public Function ascg(smsg As String) As String
  Dim si, sb As Integer
  Dim stmp As Integer
  Dim stemp As String
  sb = Len(smsg)
  ascg = ""
  For si = 1 To sb
   stmp = AscW(Mid(smsg, si, 1))
   If Abs(stmp) < 127 Then
   stemp = "00" & Hex(stmp)
   Else
   stemp = Hex(stmp)
   End If
   ascg = ascg & stemp
  Next si
  ascg = Trim(ascg)
  End Function 
  2 手机短信接收函数 
  相对于短信的发送函数而言,短信的接收相当简单,只需要以下的三行代码就
完成了。但是它使用的技术却决不比短信的发送少,这里主要用到了Mscomm控件的
Output属性和AT+CMGR指令。 
  Public Sub readsms(rnum As String)
  mobcomm.Output = "AT+CMGF=1" + vbCr
  mobcomm.Output = "AT+CMGR=" & rnum + vbCr
  End Sub
 
中联无限科技公司提供专业的成都网站建设成都网站设计成都网站制作成都网站推广

上一篇:网站建设流程一览
下一篇:如何网站策划建设和推广策略结合在一起
   相关行业新闻
·成都网络推广公司介绍的六种推广引流方式2018-07-24
·分析导致成都网络推广效果差的常见几个原因2018-07-23
·成都网站优化:企业网站关键词排名效果为什2018-07-20
·成都网站优化初期企业应该需要注意的几个问2018-07-19
·浅析成都网站优化中企业如何建立更好的内链2018-07-18
·分析企业在做成都网站优化过程中容易出现的2018-07-17
·短视频营销可以为成都网络推广带来哪些影响2018-07-16
·小品牌怎么样才能既省钱又省力地做成都网络2018-07-13
·分析成都网络推广中企业需要注意的三个关键2018-07-12
·如何根据成都网络推广的营销周期来选择好的2018-07-11
·成都网站优化需要遵循哪些规则才有可能获得2018-07-10
·成都SEO网站优化过程中如何有效的抓取产2018-07-09
首页 | 公司简介 |联系方式 |付款方式 |人才招聘 | 域名空间 | 网页设计案例 | 网站知识 | 解决方案 | 建站指南 | 网站地图
地址:成都市青羊区西大街1号   邮编:610041   E- Mail:619027769@qq.com   代理合作: 028-86637122
网站建设/推广咨询:028-86637122  86618860  传真:028-86637322   
成都中联无限科技有限公司 2004-2014    蜀ICP备05017733号