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