Upload
independent
View
1
Download
0
Embed Size (px)
Citation preview
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Đồ án môn: LẬP TRÌNH WINDOW
Đề tài: XÂY DỰNG CHƯƠNG TRÌNH THI GIẤY PHÉP LÁI XE 2 BÁNH
GVHD: Bùi Công Danh
TP. Hồ Chí Minh, ngày 09 tháng 12 năm 2014
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI..............................11.1....................................Giới thiệu đồ án
11.1.1. Giới thiệu vấn đề...................................11.1.2. Phạm vi đồ án.....................................11.1.3. Mục tiêu, sự cần thiết của đề tài........................1
CHƯƠNG 2: PHÂN TÍCH ĐỀ TÀI..............................32. 1....................................Sơ đồ tổng quát
32. 2...................................Quản lí thí sinh
42.2.1. Kế hoạch tiếp nhận hồ sơ.............................42.2.2. Thông báo tiếp nhận hồ sơ:............................42.2.3. Lên kế hoạch thi cho thí sinh...........................42.2.4. Tổ chức thi cho thí sinh...............................42.2.5. Đánh giá kết quả thi của thí sinh........................5
2. 3.....................................Quản lí đề thi5
2.3.1. Địa điểm hội đồng thi................................72.3.2. Hình thức đề thi lý thuyết.............................7
2.3.3. Phần thi thực hành..................................72.3.4. Thời gian sau thi....................................7
2. 4.................................Tổ chức phân quyền8
2.4.1. Thí sinh..........................................82.4.2. Giám khảo........................................82.4.3. Ban hội đồng thi các cơ quan có thẩm quyền liên quan.......8
CHƯƠNG 3: PHÂN TÍCH CƠ SỞ DỮ LIỆU......................103.1..........................................Mô hình ER
103.2............................SƠ ĐỒ DỮ LIỆU SQL SERVER
103.2.1. Bảng câu hỏi.....................................113.2.2. Bảng đề thi......................................123.2.3. Bảng đáp án.....................................123.2.4. Bảng người dùng..................................133.2.5. Bảng thí sinh.....................................133.2.6. Bảng kết quả.....................................14
3.3..............................Các ràng buộc toàn vẹn14
3.3.1. Bảng câu hỏi và bảng đáp án..........................143.3.2. Bảng đề thi và bảng câu hỏi...........................14
3.3.3. Bảng kết quả và bảng thí sinh.........................153.3.4. Bảng đề thi và bảng kết quả..........................15
CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH.........................174.1......................................Màn hình chính
17
4.2..................................Màn hình đăng nhập17
4.3......................................Màn hình Admin19
4.4.................................Màn hình tạo đề thi20
4.5...................Màn hình xem đề thi và sửa đề thi22
4.6...................................Màn hình Thí sinh23
4.7.............................Màn hình thi và thi thử26
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 1. TỔNG QUAN ĐỀ TÀI
1.1. Giới thiệu đồ án
1.1.1.Giới thiệu vấn đềDân số nước ta hiện nay đã đạt cột mốc 90 triệu
người điều này đồng nghĩa với số lượng phương tiệngiao thông cá nhân cũng tăng theo và đặc biệt là vớiphương tiện cơ giới 2 bánh (một phương tiện di chuyểnphổ biến của người Việt Nam). Chỉ tính riêng ở TPHCMđã có tới 5,206,692 phương tiện mô tô di chuyển trongthành phố (tháng 5/ 2012), cũng vào thời gian này cótới 19,641 phương tiện giao thông mô tô đăng ký mới.Theo thống kê cứ mỗi năm thì có vài chục nghìn lượtđăng ký mới ở TPHCM. Với số lượng khổng lồ như thế,TPHCM cần phần mềm thi giấy phép lái xe 2 bánh đápứng lượng thí sinh đồng thời để dễ quản lý, tiết kiệmthời gian thi cử và các việc liên quan sau thi mộtcách nhanh chóng cho lượng thí sinh đông đảo này, bêncạnh đó hạn chế thấp nhất sai sót trong quá trìnhchấm điểm cũng như thể hiện sự công bằng cho mọi thísinh
1.1.2.Phạm vi đồ ánPhần mềm cho phép khả năng in ấn kết quả cũng
như xuất danh sách thi, Nhưng chức năng đặc biệt làphần mềm cho phép thí sinh thi thử để thí sinh tậplàm quen với phần mềm cũng như các dạng câu hỏi của
1
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
đề ra (gồm hình và một câu có thể có 3 hoặc 4 đápán).
1.1.3.Mục tiêu, sự cần thiết của đề tài Sự cần thiết
Tin học hoá việc thi trắc nghiệm giấy phép láixe mang lại nhiều lợi ích hơn so với việc thitruyền thống như trước đây. Việc quản lí đề thi,thông tin thí sinh là một bài toán quan trọngtrong quá trình cấp giấy phép lái xe.
Để đáp ứng nhu cầu quản lý việc cấp giấy phéplái xe 2 bánh cho các thí sinh, với giao diện trựcquan, phần mềm giúp cho các thí sinh, cũng nhưngười quản lý được thuận lợi và tiết kiệm đượcnhiều thời gian hơn, phần mềm có khả năng nâng cấpđể đáp ứng được nhu cầu của các tổ chức, đơn vịnơi thực hiện việc cấp giấy phép lái xe cho thísinh.
Ngày nay, nước ta đang trong quá trình côngnghiệp hóa – hiện đại hóa đất nước. Với xu hướngphát triển nền kinh tế đa dạng, dân số tăng cao,đồng nghĩa với việc phương tiện tham gia giaothông cũng tăng nhanh. Vì vậy cần một phần mềm thigiấy phép lái xe 2 bánh là một nhu cầu thiết yếucho các đơn vị có thẩm quyền cấp giấy phép lái xenhư hiện nay.
Mục tiêu Quản lý thí sinh Quản lý đề thi Thi trắc nghiệm
2
Đánh giá kết quả
Kế hoạch tuyển dụng
Thông báo tiếp nhận hồ sơĐăng ký dự thi
Xét dự thi
Không duyệt
Lên kế hoạch dự thi
Tổ chức thi
Đậu
Rớt
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 2. PHÂN TÍCH ĐỀ TÀI2. 3. Sơ đồ tổng quát
4
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 4. Quản lí thí sinh
2. 5. Kế hoạch tiếp nhận hồ sơCứ mỗi tuần, trung tâm sát hạch có tổ chức các
đợt thi để đáp ứng nhu cầu ngày càng lớn của các thísinh. Các bộ phận có nhiệm vụ lựa chọn, sắp xếp, điềuphối những nhân viên sát hạch cho việc tổ chức chuẩnbị thi sát hạch.
2. 6. Thông báo tiếp nhận hồ sơ:Các cơ sở đào tạo được phép đào tạo lái xe dùng
phương tiện thông tin đại chúng (báo, đài...). Nộidung thông báo gồm: Các yêu cầu, điều kiện, các thủtục khi làm hồ sơ, thời gian nhận hồ sơ... Nhận vàxét duyệt hồ sơ thí sinh:
Cán bộ tiếp nhận hồ sơ tại cơ sở đào tạo đượcphép đào tạo lái xe. Nếu hồ sơ hợp lệ sẽ được tiếpnhận, nếu hồ sơ không hợp lệ sẽ được trả lại và hướngdẫn bằng phiếu để hoàn thiện hồ sơ.
2. 7. Lên kế hoạch thi cho thí sinhBộ phận hướng dẫn trong trung tâm có trách nhiệm
chỉ dẫn, trình bày và phổ biến rõ hơn về các quyđịnh, cách thức thi cho các thí sinh còn vướng mắt.
Thí sinh nộp hồ sơ trong tuần nào sẽ được thôngbáo đi học lý thuyết ngay trong tuần đó, thông thườnghọc lý thuyết vào chiều chủ nhật hàng tuần. Trung tâmkhông bắt buộc các thí sinh phải đi học lý thuyết.
5
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Thí sinh sẽ được thông báo về thời gian cũng nhưđịa điểm thi trước ngày thi 2 đến 3 ngày qua điệnthoại, muộn nhất là trước ngày thi.
2. 8. Tổ chức thi cho thí sinhSát hạch viên goi tên thí sinh theo danh sách,
kiểm tra nhận dạng, đối chiếu giấy chứng minh nhândân. Sau đó sắp xếp chỗ ngồi cho các thí sinh, ký xácnhận vào biên bản tổng hợp kết quả sát hạch lý thuyếtcủa thí sinh.
Sát hạch viên công bố thời gian bắt đầu, kếtthúc sát hạch cho các thí sinh. Giám sát thí sinhtrong suốt quá trình làm bài sát hạch.
2. 9. Đánh giá kết quả thi của thí sinhSau khi hoàn thành bài thi hoặc hết thời gian
quy định, các câu trả lời của thí sinh (kể cả các câuchưa trả lời) sẽ được máy tính chấm điểm và thông báokết quả ngay trên màn hinh.
Thang điểm 20, thí sinh được phép sai tối đa 4câu. Những thí sính có kết quả đạt yêu cầu sẽ đượcthi phần sát hạch thực hành.
6
Quản Lý Thí Sính
Kế hoạch tiếp nhận hồ sơ
Thông báo tiếp nhận hồ sơ
Tổ chức thi cho thí sinh
Đánh giá kết quả thi cho thí sinh
Lên kế hoạch thi cho thí sinh
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 10. Quản lí đề thi
7
Địa điểm hội đồng thi
Hình thức đề thi lý thuyết
Rớt
Hình thức thi thực hành
Đậu
Rớt
Chờ thông báo tổ thức thi lần sau
Đậu
Thời gian sau thi
Thi lí thuyết
Thi thực hành
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
8
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2.3.1. Địa điểm hội đồng thi
Sau khi thông qua hướng dẫn của Bộ GTVT, vàquyết dịnh tổ chức thi tại địa điểm cố định từng vùngkhông di chuyển để nhằm giúp cho các thi sinh biế chỗvà tiết kiệm thời gian cũng như chi phí cho thí sinh.Ngoại trừ những trường hợp bất khả kháng mới thay đổiđia điểm thi. Dù có thay đổi hay không thì địa điểmthi sẽ được người hướng dẫn thông báo trước kì thi.
2.3.2. Hình thức đề thi lý thuyết
Đề thi sẽ có hình thức thi trắc nghiệm vì thếcâu hỏi sẽ hỏi rất chi tiết nên các thi sinh se phảiổn bài rất nhiều điều này giúp cho thí sinh nắm vữngnguyên tắc luật khi tham gia giao thông, cộng hìnhảnh các biển báo , tình huống giao thông cho thísinh giúp cho thí sinh có cái nhìn rõ nhất và thực tếhóa hơn cho thí sinh dự thi để có cái nhìn rõ ràng vềtình hình giao thông
2.3.3. Phần thi thực hành
Bên cạnh kì thi lý thuyết quyết định 50% điểm còn cóphần thi thực hành chiếm 50% điểm. Phần thi thực hành baogồm :
Chạy hình số 8
Các địa hình do hội đồng thi đặt ra .
Phương tiện thi sẽ được hội đồng thi cung cấp.
9
Quản lý đề thi
Địa điểm hội đồng thi
Hình thức đề thi lý thuyết
Phần thi thực hành
Thời gian sau thi
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2.3.4. Thời gian sau thi
Nếu sau khi thi biết được kết quả là đậu , từ 5 tới7 ngày , thí sinh cần quay trở lại chỗ đăng ký thi để lấychứng nhận đạt được sau khi thi cộng bằng lái và nhữngthứ liên quan. Nếu rớt thí sinh sẽ đợi cho thông báo chokế hoạch tổ chức thi lần sau và đăng ký.
10
Tổ chức phân quyền
Thí sinh
Giám khảo
Ban hội đồng thi và các quan có thẩm quyền liên quan
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 11. Tổ chức phân quyền2.4.1. Thí sinh
Thí sinh sẽ được giới hạn chỉ được truy cập vào phầnlàm bài thi của mình.
2.4.2. Giám khảo Giám khảo sẽ chỉ xem được phần làm bài và kết quả củathí sinh để thông báo thí sinh kết quả.
2.4.3. Ban hội đồng thi các cơ quan có thẩm quyền liên quanĐược truy cập vào cơ sở dữ liệu về thông tin thí sinh
cũng như bài làm ngoài ra có thể tác động tới dữ liệu đềthi nếu đề thi không đúng như ý muốn.
11
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 12. PHÂN TÍCH CƠ SỞ DỮ LIỆU
3.1. Mô hình ER
NGUOIDUNG(TenNguoiDung, MatKhau, QuyenAdmin, XemNguoiDung, Them, Xoa, Sua)
DETHI(MaDeThi, NoiDungDeThi)
CAUHOI(MaCauHoi, NoiDungCauHoi, MaDeThi)
DAPAN(MaDapAn, NoiDungDapAn, DapAnDung, MaCauHoi)
KETQUA(MaKetQua, Diem, KetQua, MaThiSinh, MaDe)
THISINH(MaThiSinh, TenThiSinh, SoDienThoai, NgaySinh, DiaChi, QueQuan)
12
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
3.2. SƠ ĐỒ DỮ LIỆU SQL SERVER
Cơ sở dữ liệu gồm 6 bảng:
- Bảng câu hỏi (CauHoi)- Bảng đề thi (DeThi)- Bảng người dùng (NguoiDung)- Bảng đáp án (DapAn)- Bảng kết quả (KetQua)- Bảng thí sinh (ThiSinh)
3.2.1. Bảng câu hỏi
13
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Chứa thông tin của câu hỏi gồm mã câu hỏi, nội dung câu hỏi, mã đề thi.
STT Tên cột Kiểu dữ liệu Chú thích
1 MaCauHoi nchar(20) Là khoá chính phân biệt các câu hỏi khác
2 NoiDungCauHoi ntext Nội dung câu hỏi3 MaDeThi nchar(20) Mã đề thi tham chiếu đến DeThi
3.2.2. Bảng đề thi
Chứa thông tin của đề thi gồm mã đề thi và nội dung thi.
STT Tên cột Kiểu dữ liệu Chú thích
1 MaDeThi nchar(20) Là khoá chính phân biệt các đềthi khác
2 NoiDungDeThi ntext Nội dung đề thi
14
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
3.2.3. Bảng đáp án
Chứa thông tin của các đáp án gồm mã thí sinh, tên thí sinh, số điện thoại, ngày sinh, địa chỉ.
STT Tên cột Kiểu dữ liệu Chú thích
1 MaDapAn nchar(20) Là khoá chính phân biệt các đáp án khác
2 NoiDungDapAn ntext Nội dung đáp án3 DapAnDung bit Đáp án đúng hoặc sai (1,0)
4 MaCauHoi nchar(20) Mã câu hỏi tham chiếu đến CauHoi
3.2.4. Bảng người dùng
Chứa thông tin của người dung gồm ID, mật khẩu và cácquyền hạn của người dùng.
15
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
STT Tên cột Kiểu dữ liệu Chú thích
1 TenNguoiDung nchar(20) Là khoá chính phân biệt các người dùng khác
2 Pass ntext Password của người dùng3 QuyenAdmin bit Quyền Admin4 XemNguoiDung bit Admin xem người dùng khác5 Them bit Admin thêm người dùng mới6 Xoa bit Admin xoá người dùng7 Sua bit Admin sửa người dùng
3.2.5. Bảng thí sinh
Chứa các thông tin về thí sinh gồm mã thí sinh, tên thí sinh, số điện thoại, ngày sinh, địa chỉ, quê quán.
STT Tên cột Kiểu dữ liệu Chú thích
1 MaThiSinh nchar(20) Là khoá chính phân biệt các thí sinh khác
2 TenThiSinh nvarchar(50) Họ tên của thí sinh
3 SoDienThoai nchar(20) Số điện thoại của thí sinh nếucó
4 NgaySinh date Ngày tháng năm sinh của thí sinh
5 DiaChi nvarchar(50) Địa chỉ của thí sinh
6 QueQuan nvarchar(100) Quê quán của thí sinh
16
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
3.2.6. Bảng kết quả
Chứa các thông tin đến kết quả thí sinh bao gồm mã kết quả, điểm, kết quả, mã thí sinh. Mã thí sinh và mã đềlà khoá phụ tham chiếu tới bảng ThiSinh và bảng DeThi.
STT Tên cột Kiểu dữ liệu Chú thích
1 MaDapAn nchar(20) Là khoá chính phân biệt các đáp án khác
2 NoiDungDapAn ntext Nội dung đáp án3 DapAnDung bit Đáp án đúng hoặc sai (1,0)
4 MaCauHoi nchar(20) Mã câu hỏi tham chiếu đến CauHoi
3.3. Các ràng buộc toàn vẹn3.3.1. Bảng câu hỏi và bảng đáp án
Bảng CauHoi liên kết với bảng DapAn theo MaCauHoi bênbảng DapAn là foreign key bên bảng câu hỏi là primary key, mối quan hệ 1 nhiều, một câu hỏi có thể có nhiều đápán.
17
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
3.3.2. Bảng đề thi và bảng câu hỏi
Bảng DeThi liên kết với bảng CauHoi theo MaDeThi, MaDeThi bên bảng câu hỏi là foreign key bên bảng đề thi là primary key, mối quan hệ 1 nhiều, một đề thi có thể có nhiều câu hỏi.
3.3.3. Bảng kết quả và bảng thí sinh
Bảng ThiSinh lien kết với bảng KetQua theo MaThiSinh,MaThiSinh bên bảng kết quả là foreign key, bên bảng ThiSinh là primary key, mối quan hệ này là 1-1, một thí sinh chỉ có một kết quả, hoặc là rớt, hoặc là đậu.
3.3.4. Bảng đề thi và bảng kết quả
18
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Bảng DeThi liên kết với bảng KetQua theo MaDeThi, MaDeThi bên bảng KetQua là foreign key, bên bảng DeThi làprimary key, mối quan hệ 1 nhiều, một đề thi có thể có nhiều đáp án.
19
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
2. 13. CÀI ĐẶT CHƯƠNG TRÌNH
4.1.Màn hình chínhMàn hình chỉ cho phép người dùng chọn vào quyền
Admin, thi hoặc thi thử.
4.2.Màn hình đăng nhậpKhi nhấn vào button Admin sẽ xuất hiện form đăng nhập
để người dùng nhập tài khoản và mật khẩu.
20
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Người dùng phải nhập đúng ID và mật khẩu mới cho đăngnhập vào bên trong, nếu tài khoản sai thì form sẽ báo saitài khoản, nếu sai mật khẩu thì form sẽ báo sai mật khẩu.
private void btnDangNhap_Click(object sender, EventArgs e) { tbNguoiDung = new DataTable(); nd = new NguoiDung(); nd.TenNguoiDung = txtTenDangNhap.Text; nd.Password = MaHoa.Encrypt( txtMatKhau.Text, "03DHTH1"); tbNguoiDung = _busNguoiDung.getByKey(nd);
if (tbNguoiDung.Rows.Count > 0 && tbNguoiDung.Rows[0]["Password"].ToString() == nd.Password) { DataRow dr = tbNguoiDung.Rows[0]; User = new NguoiDung(dr); frmAdmin.label = dr["TenNguoiDung"].ToString(); frmAdmin _frmAdmin = new frmAdmin(); this.Hide(); _frmAdmin.Show(); }
21
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
else { if (txtTenDangNhap.Text == string.Empty || txtMatKhau.Text == string.Empty) { MessageBox.Show("Bạn chưa nhập đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Tài khoản không tồn tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); txtTenDangNhap.Clear(); txtMatKhau.Clear(); txtTenDangNhap.Focus(); } } }
4.3.Màn hình AdminMàn hình có 6 chức năng chính:
Tạo đề thi. Vào xem và sửa đề thi Quản lí thí sinh Quản lí người dùng Xem thông tin người dùng hiện tại Thay đổi mật khẩu.
Khi nhấn vào label Xin chào: thì sẽ xuất hiện thông tin người dùng, form này chỉ cho người dùng xem chứ không chỉnh sửa gì về quyền của người dùng.
22
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Khi người dùng nhấn vào linklabel thay đổi mật khẩu: cho phép nhập mật khẩu mới và cập nhật mậtkhẩu.
4.4.Màn hình tạo đề thi Khi load lên giao diện sẽ xuất hiện như sau Form cho phép người dùng tạo đề thi mới với các
câu hỏi và đáp án nhập vào.
23
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Khi nhấn vào nút tạo đề thi form sẽ tự động xuất hiệncác control tự động.
private void frmTaoDeThi_Load(object sender, EventArgs e) { int sodong = busDeThi.laySoSong(); if (sodong > 999) { MessageBox.Show("Vượt quá số lượng đề thi cho phép", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (sodong < 9) txtMaDe.Text = "DT00" + (sodong + 1); else if (sodong < 99) txtMaDe.Text = "DT0" + (sodong + 1); else txtMaDe.Text = "DT" + (sodong + 1); txtNoiDungDe.Focus(); }
24
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Sau khi nhập vào đề thi xong thì nhấn vào tạo đềthi.
Người dùng không cần nhập mã câu hỏi, mà mã câu hỏi sẽ tự phát sinh theo mã đề và thứ tự câu hỏi, khi người dùng nhập xong và quay lại thì vẫn giữ nội dung câu hỏi và đáp án cho người dùng, sau khi quay lại người dùng bỏ check vào đáp án thì đáp án đó được xoá và không cập nhật vào cơ sở dữ liệu.
Code:private void frmNhapCauHoi_Load(object sender, EventArgs e)
{ //thiết lập mã đề và mã câu hỏi tự động txtMaDe.Text = MaDe; txtMaCauHoi.Text = "CH_" + (dem + 1) + "_" + MaDe;
25
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
//hien thi so thu tu cau hoi lblSTT.Text = (dem + 1) + "/15";
//khoi tao danh sach cau hoi ThemCauHoi();
//thiet lap checkbox chk1.Checked = chk2.Checked = true; //câu hỏi bắt buộcluôn có 2 đáp án A B txtDA3.Enabled = chk3.Checked; rad3.Enabled = chk3.Checked; txtDA4.Enabled = chk4.Checked; rad4.Enabled = chk4.Checked;
//thiet lap nut Luu //btnLuu.Enabled = false;
}
4.5.Màn hình xem đề thi và sửa đề thiCó 6 chức năng chính là:
Xem tất cả các câu hỏi của tất cả các đề thi Xem theo đề thi Sửa câu hỏi Xoá đề thi Tìm kiếm theo mã câu hỏi
26
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
- Mỗi User sẽ có các quyền khác nhau, nếu không có quyền thêm thì nút thêm sẽ không có hiệu lực.
- Ngoài ra còn có các contextmenu cho việc sửa câu hỏi.- Để sửa câu hỏi người dùng phải chọn câu hỏi trước khi
sửa, sau khi nhấn vào sửa sẽ xuất hiện form: để loại bỏ đáp án cần bỏ check vào đáp án và chỉ được loại bỏ2 đáp án cuối cùng.
4.6.Màn hình Thí sinhCó 8 chức năng chính là:
Thêm , xoá, sửa thí sinh Xem kết quả thi của thí sinh Nạp lại danh sách In danh sách thí sinh In danh sách kết quả của thí sinh Tìm kiếm thí sinh
27
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
- Ngoài ra còn có các contextmenu cho việc xoá, sửa và xem kết quả thí sinh.
- Khi nhấn vào nút Thêm, màn hình sau hiện ra
28
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
Code:frmThemThiSinh _frmThemThiSinh = null; private void btnThem_Click(object sender, EventArgs e) { if (_frmThemThiSinh == null || _frmThemThiSinh.IsDisposed) { _frmThemThiSinh = new frmThemThiSinh(); } _frmThemThiSinh.MdiParent = this.MdiParent; _frmThemThiSinh.Show(); }
private void btnDong_Click(object sender, EventArgs e) { this.Close(); }
frmSuaThiSinh _frmSuaThiSinh = null;29
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
private void btnSua_Click(object sender, EventArgs e) { if (_frmSuaThiSinh == null || _frmSuaThiSinh.IsDisposed) { _frmSuaThiSinh = new frmSuaThiSinh(); } _frmSuaThiSinh.MdiParent = this.MdiParent; _frmSuaThiSinh.Show(); dgvThiSinh.ReadOnly = false; }
4.7.Màn hình thi và thi thử
- Thời gian mặc định cho thí sinh thi là 10 phút, và sốđểm để thí sinh đậu là 10 điểm.
30
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
- Khi nhấn vào chọn câu thì sẽ xuất hiện form chọn câu,form cho phép người dủng chọn câu bất kì để di chuyểntời câu đó, form còn cho phép người dùng biết câu chưa làm và đã làm.
Code:private void frmThi_Load(object sender, EventArgs e) { dem = 0; pgressThoiGian.Maximum = 600; btnPre.Enabled = !(dem == 0); int n = tbCauHoi.Rows.Count;//so luong cau hoi if (n == 15) { for (int i = 0; i < n; i++) { lst.Add(new CauHoiThi()); lst[i].NoiDungCauHoi = tbCauHoi.Rows[i]["NoiDungCauHoi"].ToString(); tbDapAn = _busDapAn.getByMaCauHoi(tbCauHoi.Rows[i]["MaCauHoi"].ToString()); for (int j = 0; j < tbDapAn.Rows.Count; j++) { if (j == 0) { lst[i].DapAnA = tbDapAn.Rows[j]["NoiDungDapAn"].ToString(); lst[i].DungA = Convert.ToBoolean(tbDapAn.Rows[j]["DapAnDung"]); } if (j == 1) { lst[i].DapAnB = tbDapAn.Rows[j]["NoiDungDapAn"].ToString(); lst[i].DungB = Convert.ToBoolean(tbDapAn.Rows[j]["DapAnDung"]); }
31
GVHD: BÙI CÔNG DANH Môn: LẬP TRÌNH WINDOW
if (j == 2) { lst[i].DapAnC = tbDapAn.Rows[j]["NoiDungDapAn"].ToString(); lst[i].DungC = Convert.ToBoolean(tbDapAn.Rows[j]["DapAnDung"]); } if (j == 3) { lst[i].DapAnD = tbDapAn.Rows[j]["NoiDungDapAn"].ToString(); lst[i].DungD = Convert.ToBoolean(tbDapAn.Rows[j]["DapAnDung"]); } } } loadCauHoi(); tmrThoiGianThi.Enabled = true; tmrThoiGianThi.Start(); } else { MessageBox.Show("Đề thi chưa chuẩn bị xong. Vui lòng chọn đề thi khác", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information); frmChonDeThi _frmChonDeThi = new frmChonDeThi(); _frmChonDeThi.Show(); this.Close(); } }
32