4.02版
4.02版新增加功能:1.对串口号大于9的支持(4.01版仅支持1-9的串口号);2.自动读取sim卡中的短信中心号码:设置的短信中心号码优先,如在OpenComm前没有设在短信中心号码,将首先选择SIM卡中的短信中心号码作为控件使用的短信中心号码,如果没有读到sim卡的短信中心号码,将采用+8613800812500为短信中心号码。3.短信有效时间增加到24小时.4.优化了短信发送速度.发送短信优先:如果有短信等待发送,就每发送10条才接收一次短信,加快了短信发送速度;同时发送短信时等待发送成功的时间改为根据短信内容长短动态调整:基础时间为2.2秒,根据短信长度最多可以到4.3秒.理想情况最快发送24条/分钟. 5.增加了设置短信(在对方关机情况下在短信中心保存)有效时间的功能,详细情况见D短信中心号码属性设置.
属性:
1.串口号(nCommPort): 1,2,3等整数,默认值:1。
2.波特率(nBaudRate):2400,9600,19200,38400等整数,默认值是9600。
3.奇偶校验:(cParity):0,1,2等,默认为0,无校验。
4.字节位数:(nSizeByte):默认为8,一般不要修改。
5.停止位:(nStopBit):0,1,2为可取值,对应1位,1.5位,2位停止位,默认值为0(1位停止位)。
6.短信中心号码(strMSCA):字符串
4.02以后版本中,可以通过短信中心号码属性来设置短信有效时间(Validity Period),设置格式为:m_ctrSMS.SetStrMSCA("validityPeriod#143")c++语言,m_ctrSMS.StrMSCA="validityPeriod#143" vb 中设置,请注意,字符大小写敏感,设置有效时间只有在成功打开串口与手机连接后才会有效;.默认是12小时,即"validityPeriod#143" ,(143+1)*5分=12小时;有效时间x设置范围为0--255,0-143计算方法:(x+1)*5分钟,144-167计算方法:(x-143)*30分钟+12小时;168-196计算方法:(x-166)*1天;197-255计算方法:(x-192)*1周.
4.0版控件新增加属性:
7.短信内容编码方式(nCodeType):整数0,1,2。默认值0。0:UNICODE 编码,最常用用于发送中文或中英文短信,短信内容最多70个字符;1:8bit编码,用于传送纯英文字符(传中文可能有部分误码),短信内最多140个字符,部分中文手机不能正确解码显示;2:7bit压缩编码只能传输ASCII码表中的前128个字符,一般不推荐使用,一条短信最多可以传输160个字符,不推荐使用这种编码方式。除非你知道你要传递的内容是在这128个字符中。
方法:
1. 发短信1:long SendMSG(LPCTSTR phonenumber, LPCTSTR msg):
phonenumber:字符串指针,是对方手机号码;
msg:字符串指针,是要发的短信内容。
注意:当编码方式为0即UNICODE时,应当限制在70个字符内,如果短信为71到140个字符,将自动 拆分为2条发送,序号为7,8;且发送成功事件只有一个,这种情况下在OnSndMsg事件中只能读回第二条短信的序号即8。如果大于140个字符,将只发送前140个字符;
当编码方式为1即8bit编码时,多于140个字符时,只取前面140个字符来发送;当编码方式为2即7bit编码时,多于160个字符时,只取前面160个字符来发送,其余的丢弃。
返回值:大于0表示成功发出短信,其值为本条短信的序号,这个序号可以在ONSNDMSG中用来确定本条短信是否实际发送到GSM网络中没。小于等于0表示失败。
可设定优先级的发送函数:
SendMSGPre(LPCTSTR phonenumber, LPCTSTR msg, BOOL fSendFirst)//fSendFirst=TRUE时,表示这条短信优先发送。
2.发短信2:(连续号码发)
long SendMsgM(LPCTSTR phonenumber, LPCTSTR msg, long nCount)
phonenumber:字符串指针,目标手机起始号码;如13982369018
msg:字符串指针,短信内容(70个字符);
nCount:长整数,要发的手机个数,比如3,表示发给3个手机,号码分别是13982369018,13982369019,13982369020;
返回值:大于0表示成功发出短信,其值为最后一条短信的序号,这个序号可以在ONSNDMSG事件中用来确定本条
1