二、一般控件的編寫
控件實(shí)際上就是類的封裝,一個(gè)類中可以定義自己的結(jié)構(gòu)、屬性、方法、事件。
1、 結(jié)構(gòu): Private Type 結(jié)構(gòu)名
MyName as String 結(jié)構(gòu)中的參數(shù)
MyAge as Integer
End Type
2、 屬性:
Dim m_GPRSLong As Long
Public Property Let GPRSLong (ByVal NewGPRSLong As Long) 將表達(dá)式的值賦給變量或?qū)傩?/p>
m_GPRSLong = NewGPRSLong
PropertyChanged “GPRSLong” PropertyChanged方法是通知屬性的值已經(jīng)發(fā)生變化
End Property
Public Property Get GPRSLong() As Long 讀屬性值
GPRSLong = m_GPRSLong
End Property
3、 方法(函數(shù)):
Public Function StartServer(Ip As String, Port As Long) As Boolean
這種方法用戶可以使用
End Function
Private Sub tcpServer_Close(Index As Integer) As Boolean
這種方法用戶不可以使用,控件本身自己使用
End Sub
4、 事件:
Public Event GetUserID(ByVal User_Id As String, ByVal UserDeal_Id As String)
激活事件時(shí)用RaiseEvent 語(yǔ)句
RaiseEvent GetUserID(m_Id, Deal_Id)
5、 用戶用到的一些常用事件:
UserControl_Resize 當(dāng)控件第一次顯示或狀態(tài)改變時(shí)發(fā)生,調(diào)節(jié)控件大小的。
比如可以在這里面設(shè)置一下控件的高度和寬度
UserControl.Height = 525
UserControl.Width = 525
這樣在用戶使用的時(shí)候向窗體中添加該控件時(shí),大小就不可以改變了。
三、GPRS控件的主要屬性、方法、事件:
有了前面介紹的一般控件的知識(shí),下面主要針對(duì)GPRS的工作原理,介紹一下其控件的編程:
1、 屬性:
GPRS控件的主要屬性就是IP地址、端口號(hào)、接收到的數(shù)據(jù)長(zhǎng)度。
LocalIP 屬性 / Localport 屬性 / GPRSLong屬性
2、 方法:
A、StartServer(Ip As String, Port As Long) 啟動(dòng)服務(wù)方法
本方法用于啟動(dòng)GPRS服務(wù),在系統(tǒng)初始化時(shí)必須調(diào)用本方法來(lái)完成GPRS服務(wù)的初始化,否則GPRS模塊將無(wú)法正確登陸網(wǎng)絡(luò),進(jìn)行通訊。
IP參數(shù)為服務(wù)器Ip地址, 字符串型
Port參數(shù)為服務(wù)器通訊端口, 長(zhǎng)整型,通常為2020端口。
成功返回Ture,失敗則返回False。
示例: StartServer(“192.168.0.1”,2020)
B、StopServer() 停止服務(wù)方法
停止服務(wù)方法,用來(lái)停止GPRS服務(wù),在系統(tǒng)結(jié)束退出時(shí),調(diào)用本方法停止GPRS服務(wù)。
成功返回Ture,失敗則返回False.
示例: StopServer()
C、SendDataGPRS(DtuId As String, CmdData As Variant) 發(fā)送數(shù)據(jù)方法
本方法用來(lái)與GPRS模塊進(jìn)行通訊,核心方法,參數(shù)比較復(fù)雜。
DtuID,Gprs模塊標(biāo)識(shí)號(hào),用來(lái)表明與那塊模塊進(jìn)行通訊。
CmdData,要傳送的數(shù)據(jù),變體變量,可接受字符串或者數(shù)組類型。
示例: SendDataGPRS(“6900000196”,Cmd)
3、 事件:
A、 GetUserID(ByVal User_Id As String, ByVal UserDeal_Id As String)
’’收到GPRS模塊的ID號(hào)或者是上線的ID的時(shí)觸發(fā)的事件
User_Id 為所有在線GPRS模塊ID號(hào)所組成的字符串。
UserDeal_Id為所有離線GPRS模塊ID號(hào)所組成的字符串。
如果下面的GPRS模塊上傳ID號(hào)時(shí),系統(tǒng)會(huì)以事件的方式進(jìn)行接收,用戶可以在事件中對(duì)ID號(hào)做處理,想以什么格式顯示ID的信息有用戶自己做決定。
B、ReceiveData(ByVal User_Id As String, ByVal User_GetDataASC As Variant, ByVal User_GetDataHEX As Variant) ’’ 收到數(shù)據(jù)時(shí)觸發(fā)的事件
如果下面的設(shè)備有數(shù)據(jù)上傳時(shí),就會(huì)觸發(fā)該事件,該事件包括3個(gè)參數(shù):
User_Id 為 設(shè)備的ID號(hào);
User_GetDataASC 為 以ASCII方式顯示的數(shù)據(jù);
User_GetDataHEX 為 以HEX方式顯示的數(shù)據(jù)。
下面的設(shè)備在上傳數(shù)據(jù)的時(shí)候,會(huì)將ID號(hào)一塊傳上來(lái),這樣用戶能夠分辨出是哪個(gè)設(shè)備傳上來(lái)的,而且上傳數(shù)據(jù)時(shí),會(huì)將ASCII方式的數(shù)據(jù)和HEX方式的數(shù)據(jù)一塊傳上來(lái),用戶想用什么數(shù)據(jù)自己決定。
評(píng)論