(短信群发)如何发送:中文短信???
我已经能发英文短信了 如何发送中文短信? 大哥谁告诉我下面代码 那里 怎么修改 谢谢
小弟菜鸟,望前辈修改后 回复完整代码谢谢
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