NGHIÊN CỨU HỆ THỐNG BIỂU QUYẾT ĐIỆN TỬ SỐ

67 285 0
NGHIÊN CỨU HỆ THỐNG BIỂU QUYẾT ĐIỆN TỬ SỐ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Header Page of 16 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỒNG PHÚC NGHIÊN CỨU HỆ THỐNG BIỂU QUYẾT ĐIỆN TỬ SỐ Nghành: Công nghệ Điện tử- Viễn Thông Chuyên nghành: Kỹ thuật Điện tử Mã số: 60.52.70 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS Trần Quang Vinh Hà Nội- 2009 Footer Page of 16 Header Page of 16 LỜI CÁM ƠN Em xin cám ơn toàn thể thầy, cô giáo khoa Công nghệ Điện tử - Viễn thông Trường Đại học Công Nghệ nhiệt tình giảng dạy, hướng dẫn em hoàn thành khóa học Đặc biệt lòng kính trọng biết ơn sâu sắc em tới thầy giáo PGS.TS.Trần Quang Vinh, người tận tình hướng dẫn em suốt trình hoàn thành luận văn Tôi xin cám ơn đến Lãnh đạo Văn phòng Quốc hội, Cục Quản trị, Vụ Tổ chức - Cán tạo điều kiện thuận lợi để học; cám ơn anh, chị công tác Viện Điện tử - Viễn thông Bộ Quốc phòng giúp đỡ, cung cấp tài liệu cần thiết, giúp hoàn thành luận văn Nhân đây,Tôi xin cảm ơn gia đình bạn bè nguồn lực tinh thần động viên khích lệ vượt qua khó khăn để hoàn thành luận văn Hà Nội, ngày 24 tháng 12 năm 2009 Nguyễn Hồng Phúc Footer Page of 16 Header Page of 16 LỜI CAM ĐOAN Tôi xin cam đoan đề tài luận văn không trùng lặp với đề tài khóa trước thực nội dung luận văn không chép luận văn khác Nếu có gian lận nào, xin hoàn toàn chịu trách nhiệm Người cam đoan Nguyễn Hồng Phúc Footer Page of 16 Header Page of 16 MỤC LỤC LỜI CÁM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG MỞ ĐẦU 10 CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG BIỂU QUYẾT ĐIỆN TỬSỐ (DCN) 11 1.2 Giới thiệu tổng quan hệ thống biểu điện tử số DCN 12 1.2.1 Thiết bị phân tập 13 1.2.2 Thiết bị điều khiển trung tâm CCU 13 1.3 Định tuyến hệ thống âm hệ DCN 14 1.4 Nguyên lý hoạt động hệ thống biểu số 15 1.4.1 Sơ đồ nguyên lý hoạt động hệ thống biểu điện tử số 15 1.4.2 Cấu trúc Bộ điều khiển trung tâm CCU 15 1.4.3 Nguyên lý hoạt động hệ thống biểu điện tử số DCN 16 1.5 Các phần mềm ứng dụng điều khiển hệ thống biểu điện tử số DCN: 17 CHƯƠNG 2: CẤU HÌNH HỆ THỐNG BIỂU QUYẾT ĐIỆN TỬ SỐ DCN 18 2.1 Cấu hình hệ thống biểu số DCN 18 2.1.2 Hệ thống biểu điện tử số DCN Multi- CCU 18 2.2 Thông số cổng CCU kết nối với PC kết nối với camera 20 2.3 Thông số kỹ thuật cổng nối tiếp RS 232 21 2.3.1 Truyền thông hai nút 25 2.3.2 Truy xuất trực tiếp thông qua cổng COM 26 CHƯƠNG 3:GIAO DIỆN ĐIỂU KHIỂN TỪ XA ĐẾN HỆ THỐNG DCN 27 3.1 Mô hình hệ thống điều khiển từ xa 27 3.2 Các thông số điều khiển từ xa 27 3.2.1 Kiểu thông báo định dạng 27 3.2.2 Kiểu định dạng thông báo 28 3.2.3 Định dạng yêu cầu điều khiển từ xa 28 3.2.4 Định dạng đáp ứng điều khiển từ xa 29 3.2.5 Định dạng thông báo cập nhật MDSC_NOTIFY 29 3.2.6 Định dạng thông số truyền thông 30 3.3 Thủ tục truyền thông điều khiển trung tâm 30 3.3.1 Đặc tính giao thức truyền thông Full 31 3.3.2 Tham số nhận biết thông tin 33 3.3.3 Giao thức truyền thông 34 3.3.3.1 Gói liệu không trả lời 35 3.3.3.2 Giá trị thời gian kết nối đường truyền 36 CHƯƠNG 4: XÂY DỰNG PHẦN MỀM BIỂU QUYẾT 37 4.1 Chức đăng ký đại biểu 37 4.1.1 Đăng ký tham dự 37 Footer Page of 16 Header Page of 16 4.1.2 Điều khiển truy cập hệ thống 37 4.1.4 Kết hợp đăng ký tham dự với truy cập hệ thống 38 4.1.5 Thông số chức 38 4.2 Điều khiển microphone hệ thống biểu điện tử số 38 4.2.1 Các bước đăng ký phát biểu 38 4.2.2 Chương trình kiểm soát danh sách đại biểu 39 4.3 Biểu điện tử 41 4.3.1 Các kiểu loại biểu điện tử số 41 4.3.2 Các bước thực biểu điện tử số 41 4.3.3 Xây dựng chương trình hiển thị kết biểu 43 4.4 Kết ghép nối máy tính với điều khiển trung tâm 51 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 PHỤ LỤC 57 Footer Page of 16 Header Page of 16 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT TỪ VIẾT TẮT NỘI DUNG Ý NGHĨA ACN Audio Communication Network Mạng truyền âm AT Attendance Registration Đăng ký điểm danh CCU Central Control Unit Bộ điều khiển trung tâm DCN Digital Congress Network Mạng hội nghị số EIA Electronics Industry Associations Hiệp hội điện tử công nghiệp Mỹ LCD Liquid Crystal Display Màn tinh thể lỏng PA Public Address Hệ thống công cộng PC Personal Computer Máy vi tính PRAEDIC Profession Audio Encoding Decoding Intergrated Circuit Vi mạch mã hóa giải mã tín hiệu tiếng chuyên dụng remote controller Device (e.g PC) connected to the CCU Bộ điều khiển từ xa RFS Remote Function Services Gói dịch vụ chức điều khiển từ từ xa SC System Configuration Cấu hình hệ thống SI System Installation Cài đặt hệ thống UnitId Unit identification, also called unit- Thiết bị khai báo hệ number thống DCN VT Voting application Footer Page of 16 Ứng dụng biểu Header Page of 16 DANH MỤC CÁC BẢNG Tên bảng Nội dung Bảng 1.1 Thông số kỹ thuật chuẩn RS232 Bảng 1.2 Chức cổng nối tiếp Bảng 1.3 Các ngắt cổng COM Bảng 1.4 Thông số kết nối đường truyền Bảng 1.5 Sự kiện comevent Bảng 1.6 Bảng kiện Bảng 1.7 Bảng thiết lập giao thức bắt tay Footer Page of 16 Header Page of 16 DANH MỤC CÁC HÌNH VẼ Hình Tên hình 1.1 Sơ đồ tổng quan hệ thống biểu số 1.2 Sơ đồ định tuyến âm hệ thống biểu số DCN 1.3 Sơ đồ nguyên lý hệ thống biểu điện tử số DCN 1.4 Hình ảnh bên điều khiển trung tâm CCU 1.5 Hình ảnh bên ngoại điều khiển trung tâm CCU 2.1 Kết nối hệ thống DCN độc lập 2.2 Kết nối hệ thống biểu điện tử số Multi CCU 2.3 Tín hiệu truyền ký tự ‘A’ 2.4 Sơ đồ chân cổng nối tiếp 2.5 Kết nối đơn giản truyền thông nối tiếp 2.6 Kết nối truyền thông nối tiếp dùng tín hiệu bắt tay 3.1 Sơ đồ ghép nối với điều khiển từ xa 3.2 Sơ đồ trạng thái truyền thủ tục truyền “ FULL” 4.1 Giao diện phần mềm biểu 4.2 Giao diện Danh sách đăng ký phát biểu 4.3 Giao diện hiển thị kết biểu 4.4 Cơ sở liệu đại biểu 4.5 Cơ sở liệu tỉnh, thành phố 4.6 Toàn cảnh phiên họp Quốc hội 4.7 Hệ thống biểu Hội trường Bộ Quốc phòng 4.8 Giao diện điều khiển Mic biểu Footer Page of 16 Header Page of 16 4.9 Tra cứu thông tin đại biểu 4.10 Hiển thị danh sách đăng ký phát biểu 4.11 Kết bắt đầu biểu 4.12 Kết biểu hết thời gian biểu Footer Page of 16 Header Page 10 of 16 10 MỞ ĐẦU Ngày nay, lĩnh vực Công nghệ thông tin truyền thông (ICT) phát triển mạnh mẽ với công nghệ đại đời Nó xâm nhập vào lĩnh vực đời sống xã hội Việc xã hội hoá thông tin phát triển từ phần cứng, phần mềm, hệ thống mạng viễn thông hệ thống dành cho xử lý thông tin, hệ thống truyền thông, hệ thống điều khiển từ xa, v.v…đã góp phần nâng cao chất lượng, độ tin cậy, hiệu công việc tiết kiệm mặt thời gian, không gian, địa điểm với khoảng cách xa kết nối điều khiển từ xa Hệ thống biểu điện tử số DCN sử dụng công nghệ kỹ thuật số đại cho việc điều khiển hội nghị với hàng nghìn người Hệ thống đạt hiệu ưu việt từ điều khiển âm thanh, đăng ký đại biểu, phân quyền người truy cập, truyền đa ngôn ngữ, biểu điện tử, ghép nối điều khiển từ xa tích hợp vào hệ thống Với phương thức biểu truyền thống hình thức giơ tay, bỏ phiếu kín nhiều công sức thời gian kiểm phiếu thời gian, dễ sai sót Biểu điện tử số cho kết biểu nhanh chóng, độ tin cậy cao có khả lưu trữ trạng thái biểu Đề tài Luận văn “Nghiên cứu Hệ thống biểu điện tử số” có nội dung nghiên cứu hệ thống với tính trội, độ tin cậy kỹ thuật, thông số truyền dẫn, ghép nối điều khiển từ xa với trung tâm điều khiển Qua đó, ta phát triển nhiều ứng dụng nhằm khai thác hệ thống tốt điều khiển hội nghị từ xa, biểu điện tử từ xa Luận văn gồm chương Chương 1: Tổng quan hệ thống biểu điện tử số DCN Chương 2: Cấu hình hệ thống biểu số DCN Giao tiếp cổng nối tiếp RS232 Chương 3: Nghiên cứu thủ tục truyền thông hệ thống biểu điện tử số DCN Chương 4: Xây dựng phần mềm biểu Footer Page 10 of 16 Header Page 53 of 16 53 Phần mềm biểu điện tử xây dựng ngôn ngữ Visual Basic 6, sở liệu đại biểu xây dựng Access 97 với tính sau: Tra cứu thông tin Đại biểu Quốc hội: Hình 4.9: Tra cứu thông tin đại biểu 2.Hiển thị Danh sách đăng ký phát biểu: Hình 4.10: Hiển thị danh sách đăng ký phát biểu Footer Page 53 of 16 Header Page 54 of 16 54 Hiển thị kết biểu quyết: Hiển thị kết biểu khởi tạo biểu quyết: Hình 4.11: Kết bắt đầu biểu Hiển thị kết biểu sau hết thời gian biểu quyết: Hình 4.12:Kết biểu hết thời gian biểu Footer Page 54 of 16 Header Page 55 of 16 55 KẾT LUẬN Bản luận văn sâu nghiên cứu hệ thống biểu điện tử số DCN với nguyên lý hoạt động, định tuyến âm thanh, thông số truyền thông, giao thức truyền điều khiển trung tâm CCU với thiết bị điều khiển từ xa Luận văn nêu tổng quan hệ thống biểu số nêu bật đặc tính truy cập hệ thống, loại biểu điện tử, bước thực điều khiển microphone, biểu điện tử số chuẩn ghép nối RS 232C, sâu tìm hiểu trình điểu khiển MS Com ngôn ngữ Visual Basic Đặc biệt, việc xây dựng phần mềm biểu luận văn hiển thị kết biểu điện tử hệ thống biểu điện tử số DCN phiên họp Quốc hội, Danh sách đăng ký đại biểu Quốc hội, truy cập thông tin đại biểu Quốc hội Việc thực ghép nối máy tính với hệ thống biểu số qua cổng port điều khiển trung tâm hệ thống biểu số hội trường Bộ Quốc phòng sử dụng trình điều khiển MS Com Visual Basic Trong luận văn xây dựng phần mềm biểu hiển thị kết biểu quyết, danh sách đăng ký phát biểu Vì vậy, cần hoàn thiện phần mềm biểu thêm tính sở liệu đại biểu có kèm theo hình ảnh, lưu trữ chi tiết kết biểu quyết, tìm kiếm đại biểu theo tỉnh, thành phố, tên đại biểu v.v… làm cho phần mềm hoàn thiện Trên sở nghiên cứu nguyên lý hệ thống biểu điện tử số, hướng nghiên cứu tiếp đề tài luận văn thiết kế mạch biểu ứng dụng thực tế Footer Page 55 of 16 Header Page 56 of 16 56 TÀI LIỆU THAM KHẢO Tiếng Việt Phạm Văn Ất (2008), Hướng dẫn sử dụng Access 2003 - 2007, NXB Giao thông vận tải, Hà Nội Phạm Thị Ngọc Mai (2005), Microsoft Visual Basic 6.0 & lập trình sở liệu, NXB Lao động - Xã hội, Hà Nội Trần Quang Vinh (2008), Cấu trúc máy vi tính, NXB Đại học Quốc gia Hà Nội, Hà Nội Tiếng Anh Bosch Security System (2003), General Remote Interface Description Bosch Security System (2003), AT Remote Interface Description Bosch Security System (2003), VT Remote Interface Description Bosch Security System (2003), MM Remote Interface Description Philips Comunication, Security & Image (2002), Digital Congress Network DCN Instalation & Operating Manual Bosch Security System (2003), SC &SI Remote Interface Description 10 MSDN Library (2001), Visual Tools and Languages/ Visual Studio 6.0 Documentation / Visual Basic Documentation / Reference/ Control Reference / ActiveX Control/ MSComm Control Footer Page 56 of 16 Header Page 57 of 16 57 PHỤ LỤC Khai báo biến giá trị theo hệ thống biểu số: Sub InitCommandTable() CmdTable(cmdMicroOn) = "$1" CmdTable(cmdMicroOff) = "$2" CmdTable(cmdAllMicroOff) = "$3" CmdTable(cmdPrioMicroOn) = "$4" CmdTable(cmdPrioMicroOff) = "$5" CmdTable(cmdRemainSpeech) = "$6" CmdTable(cmdRequestOn) = "&1" CmdTable(cmdRequestOff) = "&2" CmdTable(cmdAllRequestOff) = "&3" CmdTable(cmdVoteIndYes) = "#1" CmdTable(cmdVoteIndNo) = "#2" CmdTable(cmdVoteIndAbstain) = "#3" CmdTable(cmdVoteIndNoVoted) = "#4" CmdTable(cmdVoteTotal) = "%1" CmdTable(cmdVoteTotalResYes) = "%2" CmdTable(cmdVoteTotalResNo) = "%3" CmdTable(cmdVoteTotalResAbstain) = "%4" CmdTable(cmdVoteTotalResNoVoted) = "%5" CmdTable(cmdCardIn) = "!1" CmdTable(cmdCardOut) = "!2" End Sub Sub GetCommand() Dim CRLF As String Dim tmp As TCmd Dim i As Integer Dim j As Integer Dim s As String Dim n As Integer Dim cmd As String Dim Idx As Integer CRLF = Chr(13) j = InStr(InputBuffer, CRLF) While j > s = Left(InputBuffer, j) InputBuffer = Right(InputBuffer, Len(InputBuffer) - j) n = Len(s) Footer Page 57 of 16 Header Page 58 of 16 58 For i = To n - cmd = Mid(s, i, 2) Select Case cmd Case CmdTable(cmdMicroOn) tmp.CmdID = cmdMicroOn tmp.Seat = Val(Mid(s, i + 2, 4)) tmp.Index = ConvertToInt(Mid(s, i + 6, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdMicroOff) tmp.CmdID = cmdMicroOff tmp.Seat = Val(Mid(s, i + 2, 4)) tmp.Index = ConvertToInt(Mid(s, i + 6, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdVoteIndYes) Idx = ConvertToInt(Mid(s, i + 2, 4)) If Idx < MaxDelegate - Then VoteIndTable(Idx) = cmdVoteIndYes End If Exit For Case CmdTable(cmdVoteIndNo) Idx = ConvertToInt(Mid(s, i + 2, 4)) If Idx < MaxDelegate - Then VoteIndTable(Idx) = cmdVoteIndNo End If Exit For Case CmdTable(cmdVoteIndAbstain) Idx = ConvertToInt(Mid(s, i + 2, 4)) If Idx < MaxDelegate - Then VoteIndTable(Idx) = cmdVoteIndNoVoted End If Exit For Case CmdTable(cmdVoteIndNoVoted) Idx = ConvertToInt(Mid(s, i + 2, 4)) If Idx < MaxDelegate - Then VoteIndTable(Idx) = cmdVoteIndNoVoted End If Exit For Case CmdTable(cmdVoteTotal) tmp.CmdID = cmdVoteTotal tmp.Total = Val(Mid(s, i + 2, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdVoteTotalResYes) tmp.CmdID = cmdVoteTotalResYes Footer Page 58 of 16 Header Page 59 of 16 59 tmp.Total = Val(Mid(s, i + 2, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdVoteTotalResNo) tmp.CmdID = cmdVoteTotalResNo tmp.Total = Val(Mid(s, i + 2, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdVoteTotalResAbstain) tmp.CmdID = cmdVoteTotalResAbstain tmp.Total = Val(Mid(s, i + 2, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdCardIn) tmp.CmdID = cmdCardIn tmp.Card = Val(Mid(s, i + 2, 4)) tmp.Seat = Val(Mid(s, i + 6, 4)) tmp.Index = ConvertToInt(Mid(s, i + 10, 4)) SendCmdToAllUser tmp Exit For Case CmdTable(cmdCardOut) tmp.CmdID = cmdCardOut tmp.Card = Val(Mid(s, i + 2, 4)) tmp.Seat = Val(Mid(s, i + 6, 4)) tmp.Index = ConvertToInt(Mid(s, i + 10, 4)) SendCmdToAllUser tmp Exit For End Select Next i j = InStr(InputBuffer, CRLF) Wend End Sub Sub SendCmdToAllUser(cmd As TCmd) Dim i As Integer For i = To cUser - SendCmdToUser i, cmd Next i End Sub Sub SendCmdToUser(uid As Integer, cmd As TCmd) Dim n As Integer n = UserCmds(uid).Pointer + UserCmds(uid).Counter If n >= BufferLen Then UserCmds(uid).Buffer(n - BufferLen) = cmd Else UserCmds(uid).Buffer(n) = cmd End If Footer Page 59 of 16 Header Page 60 of 16 60 UserCmds(uid).Counter = UserCmds(uid).Counter + If UserCmds(uid).Counter = BufferLen Then UserCmds(uid).Counter = UserCmds(uid).Counter - UserCmds(uid).Pointer = UserCmds(uid).Pointer + If UserCmds(uid).Pointer = BufferLen Then UserCmds(uid).Pointer = End If End If End Sub Sub SendMsgToUser(uid As Integer, Sender As String, Msg As String) Dim n As Integer n = UserMsgs(uid).Pointer + UserMsgs(uid).Counter If n >= MaxMsgNote Then UserMsgs(uid).Sender(n - MaxMsgNote) = Sender UserMsgs(uid).MsgNote(n - MaxMsgNote) = Msg Else UserMsgs(uid).Sender(n) = Sender UserMsgs(uid).MsgNote(n) = Msg End If UserMsgs(uid).Counter = UserMsgs(uid).Counter + If UserMsgs(uid).Counter = MaxMsgNote Then UserMsgs(uid).Counter = UserMsgs(uid).Counter - UserMsgs(uid).Pointer = UserMsgs(uid).Pointer + If UserMsgs(uid).Pointer = MaxMsgNote Then UserMsgs(uid).Pointer = End If End If End Sub Function ConvertToInt(s As String) As Integer Dim ch As String Dim tmp As Integer Dim rate(5) As Integer Dim n As Integer Dim i As Integer Dim x As Integer rate(4) = rate(3) = 16 rate(2) = 16 * 16 rate(1) = 16 * 16 * 16 tmp = s = Trim(s) If s = "????" Then ConvertToInt = Exit Function End If Footer Page 60 of 16 Header Page 61 of 16 61 n = Len(s) For i = n To Step -1 x = Asc(Mid(s, i, 1)) - Asc("0") If x >= And x 255 And tmp < 384 Then tmp = tmp - 128 End If If tmp > 511 And tmp < 640 Then tmp = tmp - 256 End If If tmp > 767 Then tmp = tmp - 384 End If ConvertToInt = tmp End Function Function SendCmdToFile(uid As Integer, cmd As TCmd) As Boolean Dim hf As Integer Dim fn As String On Error Resume Next fn = UserCmdFileName(uid) If Trim(fn) = "" Then SendCmdToFile = False Exit Function End If If Dir(fn) = "" Then hf = FreeFile Open fn For Binary As hf 'Len = LenB(cmd) Put hf, , cmd Close hf SendCmdToFile = True Else SendCmdToFile = False End If End Function Function SendMsgToFile(uid As Integer, Sender As String, Msg As String) As Boolean Dim hf As Integer Dim fn As String Dim s As String * 60 Footer Page 61 of 16 Header Page 62 of 16 62 Dim s1 As String * 255 On Error Resume Next s = Trim(Sender) s1 = Trim(Msg) fn = UserMsgFileName(uid) If Trim(fn) = "" Then SendMsgToFile = False Exit Function End If If Dir(fn) = "" Then hf = FreeFile Open fn For Binary As hf Put hf, , s Put hf, , s1 Close hf SendMsgToFile = True Else SendMsgToFile = False End If End Function Sub InitComm(ComObj As Control, ComPort As Integer, Setting As String) On Error Resume Next ComObj.CommPort = ComPort ComObj.Settings = UCase(Setting) ComObj.InputLen = ComObj.PortOpen = True InputBuffer = "" End Sub Sub ComEvent(ComObj As MSComm) Dim s As String s = ComObj.Input InputBuffer = InputBuffer & s GetCommand 'InputBuffer End Sub Đoạn chương trình hiển thị Danh sách đăng ký phát biểu: Private Sub cmdRegister_Click() Dim tmp As TCmd Dim i As Integer Dim c As Integer If tCardNumber.Text = "" Then Exit Sub If IndexToSeat(Val(tCardNumber.Text)) = Then Exit Sub Footer Page 62 of 16 Header Page 63 of 16 63 c = lbRequestOn.ListCount For i = To c - If Val(tCardNumber.Text) = LRequestIndex(i).Index And _ Val(tOrder.Text) > c Then tOrder.Text = c + tCardNumber.Text = "" tCardNumber.SetFocus Exit Sub End If Next i ' Request On tmp.CmdID = cmdRequestOn tmp.cmdIndex = Val(tOrder.Text) - tmp.Index = Val(tCardNumber.Text) tmp.Seat = IndexToSeat(Val(tCardNumber.Text)) SendCmdToAllUser tmp 'lblInfo.Caption = "" tCardNumber.Text = "" tCardNumber.SetFocus End Sub Private Sub Form_Activate() Dim c As Integer c = lbRequestOn.ListCount ' tCardNumber.SetFocus tOrder.Text = Trim(Str(c + 1)) End Sub Private Sub lbMicroOn_GotFocus() If Me.Visible Then lbMicroOn.ListIndex = -1 tCardNumber.SetFocus End If End Sub Private Sub lbrequeston_GotFocus() If Me.Visible Then tCardNumber.SetFocus End If End Sub Private Sub SSFrame2_Click() Footer Page 63 of 16 Header Page 64 of 16 64 End Sub Private Sub tCardNumber_Change() Dim dInfo As TDelegate Dim s As String Dim i As Integer If Len(Trim(tCardNumber.Text)) > Or _ Val(tCardNumber.Text) > MaxDelegate Or _ Val(tCardNumber.Text) < Then tCardNumber.Text = "" ' lblInfo.Caption = "" Exit Sub End If For i = To Len(tCardNumber.Text) If Asc(Mid(tCardNumber.Text, i, 1)) < Asc("0") Or _ Asc(Mid(tCardNumber.Text, i, 1)) > Asc("9") Then tCardNumber.Text = "" ' lblInfo.Caption = "" Exit Sub End If Next i If IndexToSeat(Val(tCardNumber.Text)) > Then i = DelegateSearch(Val(tCardNumber.Text)) If i = -1 Then ResetDelegateInfo dInfo Else dInfo = DelegateTable(i) End If s = Padr(Trim(dInfo.DelegateName), 25, " ") + _ Padr(Trim(dInfo.GroupName), 25, " ") + _ "Sè ghÕ : " + Padr(Trim(Str(IndexToSeat(dInfo.CardNumber))), 4, " ") + _ " Micro : " + Trim(Str(STML(IndexToSeat(dInfo.CardNumber)))) 'lblInfo.Caption = s Else ' lblInfo.Caption = "" End If End Sub Private Sub tCardNumber_KeyDown(KeyCode As Integer, Shift As Integer) Dim tmp As TCmd Dim Idx As Integer Dim i As Integer Dim Shiftdown As Integer Dim c As Integer ' Arrow Up was pressed If KeyCode = vbKeyUp And lbRequestOn.ListCount > Then If lbRequestOn.ListIndex = -1 Then lbRequestOn.ListIndex = Footer Page 64 of 16 Header Page 65 of 16 65 ElseIf lbRequestOn.ListIndex > Then lbRequestOn.ListIndex = lbRequestOn.ListIndex - End If End If ' Arrow Down was pressed If KeyCode = vbKeyDown And lbRequestOn.ListCount > Then If lbRequestOn.ListIndex = -1 Then lbRequestOn.ListIndex = ElseIf lbRequestOn.ListIndex < lbRequestOn.ListCount - Then lbRequestOn.ListIndex = lbRequestOn.ListIndex + End If End If ' Home key was pressed If KeyCode = vbKeyHome And lbRequestOn.ListCount > Then lbRequestOn.ListIndex = End If ' End key was pressed If KeyCode = vbKeyEnd And lbRequestOn.ListCount > Then lbRequestOn.ListIndex = lbRequestOn.ListCount - End If If Trim(tCardNumber.Text) = "" Or _ Val(tCardNumber.Text) > 999 Then tCardNumber.Text = "" Exit Sub End If Shiftdown = (Shift And vbShiftMask) > Idx = Val(tCardNumber.Text) c = frmTMicro.lbRequestOn.ListCount ' Delete key was pressed ' Xoa mot dong Danh sach dai bieu DANG KY PHAT BIEU If Not Shiftdown And KeyCode = vbKeyDelete Then If c > Then For i = To lbRequestOn.ListCount - If Idx = LRequestIndex(i).Index Then 'off current request tmp.CmdID = cmdRequestOff tmp.cmdIndex = Idx tmp.Index = Val(tCardNumber.Text) tmp.Seat = IndexToSeat(tmp.Index) SendCmdToAllUser tmp ' lblInfo.Caption = "" tCardNumber.Text = "" Footer Page 65 of 16 Header Page 66 of 16 66 tCardNumber.SetFocus End If Next i End If End If ' Shift + Delete key pressed ' Xoa mot dong Danh sach dai bieu PHAT BIEU If Shiftdown And KeyCode = vbKeyDelete And _ lbMicroOn.ListCount Then For i = To lbMicroOn.ListCount - If Idx = LMicroIndex(i, 0) Then 'off current micro tmp.CmdID = cmdMicroOff tmp.Index = LMicroIndex(i, 0) tmp.Seat = LMicroIndex(i, 1) SendCmdToAllUser tmp tCardNumber.Text = "" tCardNumber.SetFocus Exit For End If Next i End If ' shift + Insert ket was pressed If Shiftdown And KeyCode = vbKeyInsert Then For i = To lbMicroOn.ListCount - If Idx = LMicroIndex(i, 0) Then tCardNumber.Text = "" Exit Sub End If Next i ' On new micro tmp.CmdID = cmdMicroOn tmp.Seat = IndexToSeat(Idx) tmp.Index = Val(tCardNumber.Text) SendCmdToAllUser tmp tCardNumber.Text = "" tCardNumber.SetFocus End If End Sub Private Sub tOrder_Change() Dim c As Integer Dim i As Integer Footer Page 66 of 16 Header Page 67 of 16 67 c = frmTMicro.lbRequestOn.ListCount If Len(tOrder.Text) > Or _ Val(tOrder.Text) > 99 Or _ Val(tOrder.Text) c + Then tOrder.Text = Trim(Str(c + 1)) tOrder.SelStart = tOrder.SelLength = Exit Sub End If For i = To Len(tOrder.Text) If Asc(Mid(Trim(tOrder.Text), i, 1)) < Asc("0") Or _ Asc(Mid(Trim(tOrder.Text), i, 1)) > Asc("9") Then tOrder.Text = Trim(Str(c + 1)) tOrder.SelStart = tOrder.SelLength = Exit Sub End If Next i End Sub Private Sub tOrder_GotFocus() tOrder.SelStart = tOrder.SelLength = End Sub Đoạn chương trình hiển thị thông tin đại biểu: Private Sub Form_Load() Dim s As String For i = To TotalDelegate - s = Padr(DelegateTable(i).DelegateName, 25, " ") + _ Padr(DelegateTable(i).GroupName, 25, " ") + _ Padr(Str(DelegateTable(i).CardNumber), 4, " ") lDelegate.AddItem s Next i End Sub Footer Page 67 of 16 ... động hệ thống biểu điện tử số DCN 16 1.5 Các phần mềm ứng dụng điều khiển hệ thống biểu điện tử số DCN: 17 CHƯƠNG 2: CẤU HÌNH HỆ THỐNG BIỂU QUYẾT ĐIỆN TỬ SỐ DCN 18 2.1 Cấu hình hệ thống biểu số. .. này, hệ thống biểu điện tử số tự động tìm đến vị trí đại biểu đại biểu bật microphone 2.1.2 Hệ thống biểu điện tử số DCN Multi- CCU Khi hội nghị có số lượng lớn đại biểu tham dự hệ thống biểu. .. Chương 1: Tổng quan hệ thống biểu điện tử số DCN Chương 2: Cấu hình hệ thống biểu số DCN Giao tiếp cổng nối tiếp RS232 Chương 3: Nghiên cứu thủ tục truyền thông hệ thống biểu điện tử số DCN Chương

Ngày đăng: 15/03/2017, 07:53

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan