用短信收集数据
假定有一个订单表,允许业务员通过手机短信来提交订单。
设计步骤:
1、首先我们要约定提交信息的格式:@@客户@产品@数量@单价。例如收到短信“@@联想公司@PD01@800@128.5”,表示联想公司订购产品PD01,数量是800台,单价是128.5。
2、在项目事件AfterOpenProject设置代码:
FoxSms.SyncWorkMode = False
'设置为异步工作模式
FoxSMS.CommPort = 3
'注意端口号千万不能搞错
FoxSMS.OpenCom()
3、在项目事件BeforeCloseProject事件中设置代码:
FoxSMS.CloseCom()
4、然后在短信监视器中,设置ConnectModemResult事件的代码为:
If
e.Succeed =
False Then
MessageBox.Show("短信猫连接失败!","提示",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End
If
5、然后在短信监视器中,设置NewMessage事件的代码为:
If
e.Content.StartsWith("@@")
Then
'如果信息是以约定的@@开始
Dim
vals() As
String = e.Content.Trim("@").Split("@")
Dim ret
As
String
If
vals.Length = 4
Then
'如果数组长度等于4
If vals(0)
> "" AndAlso vals(1)
> "" Then
'且提交了客户名称和产品名称
Dim
Quantity As
Integer
Dim Price
As
Double
If
Integer.TryParse(Vals(2),
Quantity) '如果数量格式正确
If
Double.TryParse(Vals(3),
Price) Then
'如果单价格式正确
Dim
dr As
DataRow =
DataTables("订单").AddNew()
dr("客户")
= vals(0)
dr("产品")
= vals(1)
dr("数量")
= vals(2)
dr("单价")
= vals(3)
ret = "提交成功:"
& e.Content
End
If
End
If
End
If
End
If
If
ret = "" Then
ret =
"格式错误:"
& e.Content
End
If
FoxSms.DelMsgForIndex(e.Index)
'从SIM卡删除此短信
FoxSMS.SendMsg(e.FromNumber,ret)
'回复短信,告诉业务员,此订单是否提交成功
End
If
本页地址:http://www.foxtable.com/webhelp/topics/2447.htm