(短信群发)如何发送:中文短信???

lgsman1 2009-05-06 08:15:27
我已经能发英文短信了 如何发送中文短信? 大哥谁告诉我下面代码 那里 怎么修改 谢谢
小弟菜鸟,望前辈修改后 回复完整代码谢谢


Private Sub Command3_Click()
Dim i As Integer
If Trim(Text1.Text) = "" Then
MsgBox "ÐÅÏ¢²»ÄÜΪ¿Õ"
Exit Sub
End If

For i = 0 To List1.ListCount - 1
Sendsms "+8613800100500", List1.List(i), Text1.Text
Next
MsgBox "ÐÅÏ¢·¢Ëͳɹ¦"
End Sub

Private Sub Command4_Click()
End
End Sub

Private Sub Form_Load()
MSComm1.CommPort = 4
MSComm1.Settings = "460800,N,8,1"
MSComm1.InputLen = 0
MSComm1.PortOpen = True
End Sub


Private Sub Sendsms(csca As String, num As String, msg As String) '·¢ËÍÐÅÏ¢

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(chg(msg))

pdu = prex & psmsc & midx & pnum & sufx & leng & pmsg

MSComm1.Output = "AT+CMGF=0" + vbCr
MSComm1.Output = "AT+CMGS=" & Str(15 + length) + vbCr

MSComm1.Output = pdu & Chr$(26)
End Sub
--------------------------------------------------------------
下面是Module1.bas 中的代码


Option Explicit

Public Function telc(num As String) As String

Dim tl As Integer

Dim ltem, rtem, ttem As String

Dim ti As Integer

tl = Len(num)

If tl <> 11 And tl <> 13 Then

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

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


For i = 1 To b

temp = "H" & Mid(tep, (i - 1) * 4 + 1, 4)

chg = chg & ChrW(CInt(Val(temp)))

Next i

End Function



...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
f50282912 2009-05-24
  • 打赏
  • 举报
回复
text模式不能发送文本
lgsman1 2009-05-08
  • 打赏
  • 举报
回复
插上自己手机 找到端口号 用下面代码 就能发英文的 中文我还不会 大哥们帮帮我啊
马上毕设验机了
MSComm1.CommPort = 4
MSComm1.Settings = "9600,N,8,1"
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.Output = "AT+CMGF=1" + vbCr
MSComm1.Output = "AT+CSCA=" & Chr$(34) & 8613800100500# & Chr$(34) & ",129" + vbCr

MSComm1.Output = "AT+CMGS=" & Chr$(34) & Text1.Text & Chr$(34) & ",129" + vbCr '

MSComm1.Output = Text2.Text & Chr$(26)
su272009 2009-05-07
  • 打赏
  • 举报
回复
不用短信猫,什么还可以用来存发!!请问LZ 用的是什么?小弟我也想学习一下
三楼の郎 2009-05-07
  • 打赏
  • 举报
回复
去查一下PDU编码的相关文章吧
lgsman1 2009-05-07
  • 打赏
  • 举报
回复
大哥我是穷学生 ,自己手机, 买不器
大哥 帮帮我~
CCYSCM 2009-05-06
  • 打赏
  • 举报
回复
可以用短信锚哪,中文也可以发的

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧