76 Dữ liệu dạng
byte
Chuyển chuỗi Byte thành chuỗi String
Kiểm tra chuỗi “mó húa” cú trong chuỗi String
khụng
Tỏch IDMeter Tỏch Data
Thay đổi thứ tự hỏi Meter Hiển thị Lƣu vào CSDL SQL Server Meter lỗi? cú khụng cú khụng
77
Sau khi Modem kết nối đến Server, Server tiến hành gửi lệnh hỏi giỏ trị Meter, trong đú cú cả cõu lệnh giải mó. Meter sẽ gửi giỏ trị về Server qua Modem là 1 chuỗi Byte.
Server chuyển chuỗi Byte thành chuỗi ký tự String. Kiểm tra xem trong chuỗi đú cú chuỗi “Mó húa” hay khụng? Nếu khụngcú, thỡ Server hiểnthịluụnchuỗi String. Ngƣợclại, Server xỏcđịnhvịtrớkýtựđầutiờntrongchuỗi String sẽtỏchcỏcthụng tin cầnthiếttrongchuỗi String nhậnđƣợcIDMetervà Data. Server nhận đƣợc chuỗi IDMeter sẽ tiến hành so sỏnh với danh sỏch cỏc Meter đang bị lỗi (mất kết nối) và kiểm tra thứ tự của Meter xem đến thứ tự hỏi hay chƣa.
Nếu Meter cú trong danh sỏch cỏc Meter bị lỗi thỡ Server sẽ loai khỏi danh sỏch tờn Meter bị lỗi đú.
Nếu Meter khụng thuục danh sỏch cỏc Meter bi lỗi, thỡ tiến hành kiểm tra xem Meter đú cú đỳng thứ tự đƣợc hỏi khụng, nếu đỳng thứ tự hỏi thỡ lƣu giỏ trị Data vào CSDL và hiển thị.Nếu khụng đỳng thứ tự hỏi thỡ Server sẽ kiểm tra xem những Meter nào đó bị lỗi khụng trả dữ liệu về Server. Những Meter bị lỗi đú sẽ đƣợc đƣa lờn đầu danh sỏch lần hỏi dữ liệu tiếp theo.
Kết thỳc 1 vũng nhận dữ liệu, Server sẽ hiển thị cỏc thụng tin nhận đƣợctừ Meter gửi về
Danh sỏch cỏc hàm: - Cỏc hàm hiển thị.
78 getMultilineListBoxAddItem(Multiline ListBoxlb, String s, Color color)
Hiển thị chuỗi Strings lờn MutilineListBoxlb,
vớimàukýtựlàcolor getListBoxAddItem(ListBox lb, String
s)
Hiển thị chuỗi Strings lờnListBoxlb getListBoxRemoveItem(ListBox lb,
String s)
Xúa dũng cú chuỗi Strings ra khỏi ListBoxlb
SomayOnline() Hiển thị số Modem đang kết nối đến
Server trờn thanh Startusbar
AddClient(string s) Hiển thị Modem mới kết nối vào List Modem
RemoveClient(string s) Xúa Modem ngắt kết nối tới Server khỏi List Modem
ShowChatMessage(string s, int Index, String IP)
Hiển thị Strings với màu tƣơng ứng với chỉ số int Index lờn
MutilineListBox lbmessage, và cỏc MutilineListBox tƣơng ứng ở cỏc Tab cú tiờu đề là IP.
ShowMeterError(string IDESN, string idmeter)
Hiển thị Meter cú mó idmeter bị lỗi lờn Meter offlien và xúa khỏi Meter online trờn tab Data All và tab cú tờn
IDESN
ClearMeterError(string IDESN, string idmeter)
Hiển thị Meter cú mó idmeter bị lỗi lờn Meter online và xúa khỏi Meter offline trờn tab Data All và tab cú tờn IDESN
79
ByteArrayToString(byte[] ba) Chuyển từ mảng Byte sang dạng StringHex tƣơngứng.
Chuyenmangstr(string s) Chuyển từ chuỗi StringHex tƣơng ứng sang chuỗi String Asci.
ConvertAsci(string s) Chuyển 2 ký tự StringHex sang Mó Asci
strReverse(string s) Hàm đảo chuỗi ký tự s sao cho 2 ký tự liền nhau trong s sẽ đổi chỗ cho nhau
- Cỏc hàm kiểm tra:
CheckTabName(string IP) Kiểm tra xem cú tab nào cú tờn là IP khụng, nếu cú thỡ trả về trị số thứ tự của Tab đú
CheckTabText(string text) Kiểm tra xem cú tab nào cú nhón text là text khụng,
online và Meter offline khỏi Tab tƣơng ứng với chỉ số n
showidmeter(string idesn, string IP) Hiển thị cỏc Meter lờn danh sỏch
Meter online và Meter offline
tƣơng ứng với trạng thỏi của Meter trờn cỏc tab Data All và tab tƣơng ứng.
80
nếucúthỡtrảvềtrịsốthứtựcủa Tab đú KiemtraMeter(string IDMeter) Kiểm tra xem meter cú ID ID Meter
cú bị lỗi hay khụng, và xử lý cỏc tỏc vụ liờn quan nhƣ đảo thứ tự Meter hỏi khi cú Meter lỗi, Hiển thị cỏc Meter bị lỗi.
KiemtraMeternong(string IDMeter) Kiểm tra xem meter cú ID IDMeter cú đang đƣợc kiểm tra núng hay khụng.
CheckMeterError(string IDMeter) Kiểm tra xem Meter cú bị lỗi hay khụng.