以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有关短信平台相关  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16206)

--  作者:baoxyang
--  发布时间:2012/2/5 21:39:00
--  有关短信平台相关

假设对方发了一条长短信,如何读取完整一条信息?

因为电信一条短信内容不能超过70个字,如果超过了会自动分几条发送。

像这样的情况,如何抓取到发送的一条完整信息呢?

请各位指教!谢谢!!


--  作者:程兴刚
--  发布时间:2012/2/6 2:00:00
--  

这样已经读取了所有短信(包括被分割成N条后发送进来的短信)

 

读取现有短信

如果要读取SIM卡中的现有短信,可以使用下面的代码:

If FoxSMS.Ready = False Then
MessageBox.show(
"请先连接短信猫!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return
End
If
Dim cnt As Integer = FoxSMS.SimMsgCount
If
cnt > 0 Then \'如果SIM卡有短信
Dim
sendtime As String
Dim
strFrom As String
Dim
strContent As String
Dim
result As Integer
FoxSMS.AutoDelMsg = True \'自动从SIM卡删除已经读取的短信
Tables("收件箱").StopRedraw()
For Index As Integer = 1 To FoxSMS.SimMsgCapacity
result = FoxSMS.ReadMsgForIndex(Index, strFrom, strContent, sendtime)

If
result = 0 Then
Dim
dr As Row = Tables("收件箱").AddNew()
dr(
"号码") = strFrom
dr(
"内容") = strContent
dr(
"发送时间") = SendTime
dr(
"接收时间") = Date.Now
End
If
Next
Tables
("收件箱").DataTable.Save()
Tables
("收件箱").ResumeRedraw()
End
If


--  作者:baoxyang
--  发布时间:2012/2/6 17:30:00
--  

NewMessage

收到新短信后触发。

e参数:

Index:     整数性,此短信在SIM卡中的位置,之后要通过这个位置,才能读取和删除此短信。
Content:   字符型,短信内容。
FromNumber:字符型:发送短信的号码。
SentTime:  日期型,发送短信的时间。

 

 

如何读取一条完整的短信(因长度太长已分拆的短信),请各位赐教!祝大家元宵节快乐!!


--  作者:狐狸爸爸
--  发布时间:2012/2/6 17:32:00
--  
没有好办法,只有笨办法,同一个号码发来的短信,如果发送时间和上一短信相差没有超过10秒,就认为是同一条。