Biết cách sử dụng CheckBox và hộp thoại
Hiểu về các toán tử logic và sử dụng toán tử logic để kết
hợp nhiều điều kiện đơn
Hiểu và sử dụng lệnh đa lựa chọn Select Case
Hiểu về quy trình phát triển ứng dụng
Hiểu về cách tổ chức mã của Visual Basic
2. Biến và cách sử dụng biến
Lưu trữ dữ liệu trong bộ nhớ
Toán tử số học và thứ tự ưu tiên của chúng
Giải thuật và dùng mã giả để biểu diễn cho giải thuật
Biều đồ hoạt động UML
Câu lệnh lựa chọn If…Then và If…Then…Else
Thiết lập các breakpoint và sử dụng cửa sổ Watch để gỡ
lỗi
Hệ thống bài cũ
Biến và cách sử dụng biến
Lưu trữ dữ liệu trong bộ nhớ
Toán tử số học và thứ tự ưu tiên của chúng
Giải thuật và dùng mã giả để biểu diễn cho giải thuật
Biều đồ hoạt động UML
Câu lệnh lựa chọn If…Then và If…Then…Else
Thiết lập các breakpoint và sử dụng cửa sổ Watch để gỡ
lỗi
Lệnh đa lựa chọn và quy trình phát triển phần mềm 2
3. Mục tiêu bài học
Biết cách sử dụng CheckBox và hộp thoại
Hiểu về các toán tử logic và sử dụng toán tử logic để kết
hợp nhiều điều kiện đơn
Hiểu và sử dụng lệnh đa lựa chọn Select Case
Hiểu về quy trình phát triển ứng dụng
Hiểu về cách tổ chức mã của Visual Basic
Biết cách sử dụng CheckBox và hộp thoại
Hiểu về các toán tử logic và sử dụng toán tử logic để kết
hợp nhiều điều kiện đơn
Hiểu và sử dụng lệnh đa lựa chọn Select Case
Hiểu về quy trình phát triển ứng dụng
Hiểu về cách tổ chức mã của Visual Basic
Lệnh đa lựa chọn và quy trình phát triển phần mềm 3
5. CheckBox
CheckBox có hai trạng thái là được chọn (checked) và không
được chọn (unchecked)
Kiểm soát trạng thái của CheckBox bằng thuộc tính Checked
CheckBox chưa được
chọn. Thuộc tính Checked
có giá trị là False
Lệnh đa lựa chọn và quy trình phát triển phần mềm 5
CheckBox chưa được
chọn. Thuộc tính Checked
có giá trị là False
CheckBox được chọn. Thuộc
tính Checked có giá trị True
6. CheckBox
Thuộc tính quan trọng
Autosize - Cho phép tự động điều chỉnh kích thước của
CheckBox.
Checked - Chỉ định CheckBox này được chọn (True) hay
không được chọn (False)
Location - Chỉ định vị trí của CheckBox ở trên Form.
Name - Chỉ ra tên được sử dụng để truy cập CheckBox
trong khi lập trình. Tên nên có hậu tố CheckBox vào phía
sau.
Size - Chỉ ra chiều rộng và chiều cao (bằng pixel) của
CheckBox.
Text - Chỉ ra nội dung được hiển thị bên cạnh CheckBox.
Thuộc tính quan trọng
Autosize - Cho phép tự động điều chỉnh kích thước của
CheckBox.
Checked - Chỉ định CheckBox này được chọn (True) hay
không được chọn (False)
Location - Chỉ định vị trí của CheckBox ở trên Form.
Name - Chỉ ra tên được sử dụng để truy cập CheckBox
trong khi lập trình. Tên nên có hậu tố CheckBox vào phía
sau.
Size - Chỉ ra chiều rộng và chiều cao (bằng pixel) của
CheckBox.
Text - Chỉ ra nội dung được hiển thị bên cạnh CheckBox.
Lệnh đa lựa chọn và quy trình phát triển phần mềm 6
7. Demo sử dụng CheckBox
Thêm CheckBox vào Form
Tùy chỉnh CheckBox
Lệnh đa lựa chọn và quy trình phát triển phần mềm 7
8. Hộp thoại
Sử dụng để hiển thị thông báo hướng dẫn hay hiển
thị thông báo lỗi cho người dùng
Được định nghĩa bởi lớp MessageBox
Sử dụng phương thức MessageBox.Show để hiển thị
Sử dụng để hiển thị thông báo hướng dẫn hay hiển
thị thông báo lỗi cho người dùng
Được định nghĩa bởi lớp MessageBox
Sử dụng phương thức MessageBox.Show để hiển thị
Lệnh đa lựa chọn và quy trình phát triển phần mềm 8
9. Hộp thoại
Có nhiều phiên bản hàm Show với số đối số khác nhau để tùy chỉnh
hộp thoại
MessageBox.Show( _
“Hãy nhập tên của bạn vào", _
“Thiếu thông tin", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Nội dung văn bản hiển thị
trên hộp thoại
Có nhiều phiên bản hàm Show với số đối số khác nhau để tùy chỉnh
hộp thoại
Lệnh đa lựa chọn và quy trình phát triển phần mềm 9
MessageBox.Show( _
“Hãy nhập tên của bạn vào", _
“Thiếu thông tin", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Nội dung trên
thanh tiêu đề
Button được hiển
thị trên hộp thoại
Biểu tượng xuất
hiện trên hộp thoại
10. Các hằng MessageBoxButtons
Hằng MessageBoxButtons Mô tả
MessageBoxButtons.OK Button OK. Cho phép người dùng hồi đáp lại ứng
dụng rằng đã nhận thông báo.
MessageBoxButtons.OKCancel Button OK và Cancel. Cho phép người dùng tiếp tục
hay bỏ qua một hành động.
MessageBoxButtons.YesNo Button Yes và No. Cho phép người dùng hồi đáp lại
câu hỏi
MessageBoxButtons.
YesNoCancel
Button Yes, No và Cancel. Cho phép người dùng
trả lời câu hỏi hoặc bỏ qua.
MessageBoxButtons.
YesNoCancel
Button Yes, No và Cancel. Cho phép người dùng
trả lời câu hỏi hoặc bỏ qua.
MessageBoxButtons.
RetryCancel
Button Retry và Cancel. Cho phép người dùng thử lại
hoặc bỏ qua một thao tác vừa thất bại.
MessageBoxButtons.
AbortRetryIgnore
Button Abort, Retry và Ignore. Khi một thao
tác trong một dãy các thao tác thất bại, những Button
này cho phép người dùng dừng toàn bộ dãy thao tác,
hoặc thử thực hiện lại thao tác thất bại hoặc bỏ qua
thao tác thất bại và tiếp tục thực hiện những thao tác
còn lại.
Lệnh đa lựa chọn và quy trình phát triển phần mềm 10
11. Các hằng MessageBoxIcon
Hằng MessageBoxIcon Biểu tượng Mô tả
MessageBoxIcon.
Exclamation
Biểu tượng này chứa hình dấu chấm
than. Được dùng để cảnh báo cho
người dùng về vấn đề có thể xảy ra.
MessageBoxIcon.
Information
Biểu tượng này chứa chữ “i”. Được
dùng để hiển thị thông tin về trạng
thái của ứng dụng.
Biểu tượng này chứa chữ “i”. Được
dùng để hiển thị thông tin về trạng
thái của ứng dụng.
MessageBoxIcon.
None
Không có biểu tượng nào được hiển
thị.
MessageBoxIcon.
Error
Biểu tượng này chứa dấu x màu
trắng trong hình tròn màu đỏ. Dùng
để cảnh báo người sử dụng về lỗi
hoặc một tình huống nghiêm trọng.
Lệnh đa lựa chọn và quy trình phát triển phần mềm 11
12. Demo sử dụng hộp thoại
Thay đổi giá trị đối số thứ tư
Icon hiển thị khác nhau
Lệnh đa lựa chọn và quy trình phát triển phần mềm 12
Thay đổi giá trị đối số thứ tư
Icon hiển thị khác nhau
13. Toán tử logic
Điều kiện đơn
x <= 10
y > 10
Toán tử logic kết hợp các điều kiện đơn thành điều kiện
phức tạp hơn
And
AndAlso
Or
OrElse
Xor
Not
Điều kiện đơn
x <= 10
y > 10
Toán tử logic kết hợp các điều kiện đơn thành điều kiện
phức tạp hơn
And
AndAlso
Or
OrElse
Xor
Not
Lệnh đa lựa chọn và quy trình phát triển phần mềm 13
14. Toán tử AndAlso
Có giá trị là True khi và chỉ khi hai điều kiện đơn cùng đúng
If gioiTinhTextBox.Text = “Nu” AndAlso tuoi> = 65 Then
soPhuNuCaoTuoi += 1
End If
Nếu gioiTinhextBox.Text có giá trị là “Nu”
và tuoi có giá trị lớn hơn hoặc bằng 65 thì
biến soPhuNuCaoTuoi được tăng thêm 1.
Nêu không, bỏ qua lệnh này
Lệnh đa lựa chọn và quy trình phát triển phần mềm 14
Nếu gioiTinhextBox.Text có giá trị là “Nu”
và tuoi có giá trị lớn hơn hoặc bằng 65 thì
biến soPhuNuCaoTuoi được tăng thêm 1.
Nêu không, bỏ qua lệnh này
15. Bảng sự thật của toán tử AndAlso
Biểu thức ĐK 1 Biểu thức ĐK 2 Biểu thức ĐK 1 AndAlso Biểu
thức ĐK 2
False False False
False True FalseFalse True False
True False False
True True True
Lệnh đa lựa chọn và quy trình phát triển phần mềm 15
16. Toán tử OrElse
Có giá trị là True khi một hoặc cả hai điều kiện đơn đúng
Bài toán:
Một sinh viên sẽ đạt điểm A của kỳ đó nếu điểm thi cuối kỳ
>=90 hoặc điểm trung bình của cả kỳ >= 90
If (diemTrungBinh >= 90) OrElse (diemThiCuoiKy >= 90) Then
MessageBox.Show(“Sinh vien co so diem la A”, “Diem”
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Lệnh đa lựa chọn và quy trình phát triển phần mềm 16
If (diemTrungBinh >= 90) OrElse (diemThiCuoiKy >= 90) Then
MessageBox.Show(“Sinh vien co so diem la A”, “Diem”
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
17. Bảng sự thật của toán tử OrElse
Biểu thức
ĐK 1
Biểu thức ĐK
2
Biểu thức ĐK 1 OrElse Biểu thức
ĐK 2
False False False
False True True
Lệnh đa lựa chọn và quy trình phát triển phần mềm 17
False True True
True False True
True True True
18. Đánh giá theo cơ chế tối ưu
Thực hiện đánh giá cho đến khi biết giá trị của nó là đúng
hay sai thì dừng lại
Toán tử AndAlso và OrElse được đánh giá theo cơ chế tối ưu
Toán tử And và Or không đánh giá theo cơ chế tối ưu
If (gioiTinhTextBox.Text = “Nu”) AndAlso (tuoi>= 65)
Nếu gioiTinhTextBox.Text có giá trị khác
“Nu” thì dừng là và trả về False
Thực hiện đánh giá cho đến khi biết giá trị của nó là đúng
hay sai thì dừng lại
Toán tử AndAlso và OrElse được đánh giá theo cơ chế tối ưu
Toán tử And và Or không đánh giá theo cơ chế tối ưu
Lệnh đa lựa chọn và quy trình phát triển phần mềm 18
Nếu gioiTinhTextBox.Text có giá trị khác
“Nu” thì dừng là và trả về False
If (diemTrungBinh >= 90) OrElse (diemThiCuoiKy >= 90)
Nếu diemTrungBinh có giá trị lớn hoặc
bằng 90 thì dừng là và trả về True
19. Toán tử Xor
Có giá trị là True khi và chỉ khi một toán hạng của nó có
giá trị True và toán hạng còn lại có giá trị False
Nếu tất cả toán hạng có giá trị False hoặc tất cả các toán
hạng có giá trị True thì toán bộ biểu thức có giá trị False
Biểu thức ĐK 1 Biểu thức ĐK 2 Biểu thức ĐK 1 Xor Biểu
thức ĐK 2
Xử lý sự kiện, biến và phép toán trong lập trình 19
Biểu thức ĐK 1 Biểu thức ĐK 2 Biểu thức ĐK 1 Xor Biểu
thức ĐK 2
False False False
False True True
True False True
True True False
20. Toán tử Not
Là toán tử một ngôi
Đảo ngược giá trị logic của điều kiện
If Not (diem = value) Then
hienthiLabel.Text = “chúng không bằng nhau”
End If
Lệnh đa lựa chọn và quy trình phát triển phần mềm 20
Biểu thức ĐK Giá trị nghịch đảo của biểu thức
ĐK
False True
True False
21. Lệnh đa lựa chọn Select Case
Hiển thị thông báo dựa trên điểm của sinh viên
If diem = “A” Then
hienthiLabel.Text = “Tuyet voi!”
If diem = “B” Then
hienthiLabel.Text = “Rat tot!”
If diem = “C” Then
hienthiLabel.Text = “Tot.”
If diem = “D” Then
hienthiLabel.Text = “Kem.”
If diem = “F” Then
hienthiLabel.Text = “Truot.”
Else
hienthiLabel.Text = “Diem khong
hop le.”
End If
Trong trường hợp diem bằng
“A” thì hiển thị “Tuyet voi!”
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”
hienthiLabel.Text = “Rat tot!”
Case “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop
le.”
End Select
Nếu diem bằng “A” thì
hiển thị “Tuyet voi!”
Hiển thị thông báo dựa trên điểm của sinh viên
Lệnh đa lựa chọn và quy trình phát triển phần mềm 21
If diem = “A” Then
hienthiLabel.Text = “Tuyet voi!”
If diem = “B” Then
hienthiLabel.Text = “Rat tot!”
If diem = “C” Then
hienthiLabel.Text = “Tot.”
If diem = “D” Then
hienthiLabel.Text = “Kem.”
If diem = “F” Then
hienthiLabel.Text = “Truot.”
Else
hienthiLabel.Text = “Diem khong
hop le.”
End If
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”
hienthiLabel.Text = “Rat tot!”
Case “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop
le.”
End Select
22. Lệnh đa lựa chọn Select Case
Ký hiệu ghép kết hợp hai luồng hoạt động thành một luồng
hiển thị “Tuyet voi!”
[diem = “A” ]
hiển thị “Rat tot!”
[diem = “B” ]
Case “A”
Case “B”
… Ký hiệu ghép
Ký hiệu ra
quyết định
Ký hiệu ghép kết hợp hai luồng hoạt động thành một luồng
Lệnh đa lựa chọn và quy trình phát triển phần mềm 22
hiển thị “Truot.”
hiển thị “Diem khong hop le.”
[diem = “F” ]
[diem <> “F” ]
Case “F”
…
23. Mệnh đề Case Else
Là mệnh đề không bắt buộc trong lệnh Case
Được thực thi khi không có mệnh đề Case nào đúng
Mệnh đề Case Else phải nằm sau tất cả các mệnh đề Case khác
Mỗi lệnh Select Case chỉ có một mệnh đề Case Else
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot!”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Lệnh đa lựa chọn và quy trình phát triển phần mềm 23
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot!”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Mệnh đề
Case Else
24. Nhiều giá trị trong mệnh đề Case
Có thể có nhiều giá trị trong một mệnh đề Case
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot”
Case Else
hienthiLabel.Text = “Diem khong hop le.”
End Select
Lệnh đa lựa chọn và quy trình phát triển phần mềm 24
Select Case diem
Case “A”
hienthiLabel.Text = “Tuyet voi!”
Case “B”, “C”
hienthiLabel.Text = “Tot.”
Case “D”
hienthiLabel.Text = “Kem.”
Case “F”
hienthiLabel.Text = “Truot”
Case Else
hienthiLabel.Text = “Diem khong hop le.”
End Select
Các giá trị được
phân tách bởi
dấu phầy
25. Từ khóa Is
Từ khóa Is đi trước toán tử quan hệ hay toán tử bằng
được dùng để so sánh biểu thức điều khiển với giá trị bên
phải của toán tử
Select Case diem
Case Is >= 90
hienthiLabel.Text = “Tuyet voi!”
Case Is >= 80
hienthiLabel.Text = “Rat tot!”
Case Is >= 70
hienthiLabel.Text = “Tot.”
Case Is >= 50
hienthiLabel.Text = “Kem.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Lệnh đa lựa chọn và quy trình phát triển phần mềm 25
Select Case diem
Case Is >= 90
hienthiLabel.Text = “Tuyet voi!”
Case Is >= 80
hienthiLabel.Text = “Rat tot!”
Case Is >= 70
hienthiLabel.Text = “Tot.”
Case Is >= 50
hienthiLabel.Text = “Kem.”
Case Else
hienthiLabel.Text = “Diem khong hop le”
End Select
Từ khóa Is đi trước
toán tử quan hệ
26. Từ khóa To
Từ khóa To xác định một khoảng giá trị
Select Case diem
Case Is >= 90
hienthiLabel.Text = “Tuyet voi!”
Case 70 To 89
hienthiLabel.Text = “Tot!”
Case Is >= 50
hienthiLabel.Text = “Kem.”
Case Else
hienthiLabel.Text = “Truot”
End Select
Từ khóa To xác
định khoảng giá
trị từ 70 đến 89
Lệnh đa lựa chọn và quy trình phát triển phần mềm 26
Select Case diem
Case Is >= 90
hienthiLabel.Text = “Tuyet voi!”
Case 70 To 89
hienthiLabel.Text = “Tot!”
Case Is >= 50
hienthiLabel.Text = “Kem.”
Case Else
hienthiLabel.Text = “Truot”
End Select
Từ khóa To xác
định khoảng giá
trị từ 70 đến 89
27. Datagridview và sơ lược về đọc file
Lệnh đa lựa chọn và quy trình phát triển phần mềm 27
28. Datagridview và sơ lược về đọc file
Đọc dữ liệu từ file và đưa vào DataGridView
Ví dụ:
Dim danhSach() As String
danhSach = File.ReadAllLines("QuestionList.txt")
Dim i As Integer
For i = 0 To danhSach.Length - 1
danhSach(i) = (i + 1).ToString() & ControlChars.Tab & danhSach(i)
DataGridView1.Rows.Add(danhSach(i).Split(ControlChars.Tab))
Next
Đọc dữ liệu từ file và đưa vào DataGridView
Ví dụ:
Dim danhSach() As String
danhSach = File.ReadAllLines("QuestionList.txt")
Dim i As Integer
For i = 0 To danhSach.Length - 1
danhSach(i) = (i + 1).ToString() & ControlChars.Tab & danhSach(i)
DataGridView1.Rows.Add(danhSach(i).Split(ControlChars.Tab))
Next
Lệnh đa lựa chọn và quy trình phát triển phần mềm 28
29. Quy trình phát triển ứng dụng
Bước 1. Xác định yêu cầu
Một phòng thí nghiệm muốn lắp đặt bảng an ninh phía ngoài phòng. Chỉ nhân
viên được cho phép mới có thể vào trong phòng bằng cách sử dụng mã bảo mật.
Sau đây là các mã bảo mật hợp lệ (còn được gọi là mã truy cập) và các nhóm
nhân viên tương ứng:
Giá trị Nhóm
1645-1689 Kỹ thuật viên
8345 Nhân viên tạp vụ
9998, 1006-1008 Nhà khoa học
Mỗi khi nhập mã bảo mật, truy cập sẽ được chấp nhận hoặc bị từ chối. Thông tin
mỗi lần truy cập đều được ghi vào cửa sổ bên dưới bàn phím. Nếu truy cập được
chấp nhận thì thông tin về thời gian truy cập và nhóm (nhà khoa học, nhân viên
tạp vụ, v.v…) được ghi vào cửa sổ. Nếu truy cập bị từ chối thì thông tin về thời
gian và thông báo “Access Denied” sẽ được ghi vào cửa sổ. Ngoài ra, người dùng
có thể nhập mã truy cập là một chữ số bất kỳ để yêu cầu nhân viên bảo vệ đến trợ
giúp. Sau đó, thông tin về ngày tháng, thời gian và thông báo “Yêu cầu được trợ
giúp” cũng được ghi vào cửa sổ để xác định yêu cầu đã được tiếp nhận.
Lệnh đa lựa chọn và quy trình phát triển phần mềm 29
Một phòng thí nghiệm muốn lắp đặt bảng an ninh phía ngoài phòng. Chỉ nhân
viên được cho phép mới có thể vào trong phòng bằng cách sử dụng mã bảo mật.
Sau đây là các mã bảo mật hợp lệ (còn được gọi là mã truy cập) và các nhóm
nhân viên tương ứng:
Giá trị Nhóm
1645-1689 Kỹ thuật viên
8345 Nhân viên tạp vụ
9998, 1006-1008 Nhà khoa học
Mỗi khi nhập mã bảo mật, truy cập sẽ được chấp nhận hoặc bị từ chối. Thông tin
mỗi lần truy cập đều được ghi vào cửa sổ bên dưới bàn phím. Nếu truy cập được
chấp nhận thì thông tin về thời gian truy cập và nhóm (nhà khoa học, nhân viên
tạp vụ, v.v…) được ghi vào cửa sổ. Nếu truy cập bị từ chối thì thông tin về thời
gian và thông báo “Access Denied” sẽ được ghi vào cửa sổ. Ngoài ra, người dùng
có thể nhập mã truy cập là một chữ số bất kỳ để yêu cầu nhân viên bảo vệ đến trợ
giúp. Sau đó, thông tin về ngày tháng, thời gian và thông báo “Yêu cầu được trợ
giúp” cũng được ghi vào cửa sổ để xác định yêu cầu đã được tiếp nhận.
30. Quy trình phát triển ứng dụng
Bước 2. Thiết kế ứng dụng
Thiết kế giao diện cho ứng dụng
Ký tự ngụy trang được hiển thị tuy nhiên giá trị Text của
TextBox vẫn chứa giá trị do người dùng nhập vào
Thiết lập thuộc tính
PasswordChar là * để
ẩn mã truy cập
Bước 2. Thiết kế ứng dụng
Thiết kế giao diện cho ứng dụng
Ký tự ngụy trang được hiển thị tuy nhiên giá trị Text của
TextBox vẫn chứa giá trị do người dùng nhập vào
Lệnh đa lựa chọn và quy trình phát triển phần mềm 30
Thiết lập thuộc tính
PasswordChar là * để
ẩn mã truy cập
31. Quy trình phát triển ứng dụng
Thiết kế giải thuật cho ứng dụng
Nếu người dùng nhấn Button # thì
Lấy giá trị mã an ninh do người dùng nhập vào
Xóa nội dung trên TextBox
Chọn trường hợp đúng dựa trên mã truy cập
Trong trường hợp mã truy cập nhỏ hơn 10
Lưu văn bản “Assistance Requested” vào biến String
Trong trường hợp mã truy cập nằm trong dãy 1645 đến 1689
Lưu văn bản “Technicians” vào biến String
Trong trường hợp mã truy cập bằng 8345
Lưu văn bản “Costodians” vào biến String
Trong trường hợp mã truy cập bằng 9998 hoặc trong dãy 1006 đến 1008
Lưu văn bản “Scientists” vào biến String
Trong trường hợp không rơi vào các trường hợp trên
Lưu văn bản “Access Denied” vào biến String
Kết thúc lệnh Chọn
Thêm thông báo chứa thời gian hiện thời và nội dung của biến String vào nội dung
hiển thị của ListBox
Kết thúc lệnh Nếu
Lệnh đa lựa chọn và quy trình phát triển phần mềm 31
Nếu người dùng nhấn Button # thì
Lấy giá trị mã an ninh do người dùng nhập vào
Xóa nội dung trên TextBox
Chọn trường hợp đúng dựa trên mã truy cập
Trong trường hợp mã truy cập nhỏ hơn 10
Lưu văn bản “Assistance Requested” vào biến String
Trong trường hợp mã truy cập nằm trong dãy 1645 đến 1689
Lưu văn bản “Technicians” vào biến String
Trong trường hợp mã truy cập bằng 8345
Lưu văn bản “Costodians” vào biến String
Trong trường hợp mã truy cập bằng 9998 hoặc trong dãy 1006 đến 1008
Lưu văn bản “Scientists” vào biến String
Trong trường hợp không rơi vào các trường hợp trên
Lưu văn bản “Access Denied” vào biến String
Kết thúc lệnh Chọn
Thêm thông báo chứa thời gian hiện thời và nội dung của biến String vào nội dung
hiển thị của ListBox
Kết thúc lệnh Nếu
32. Quy trình phát triển ứng dụng
Bước 3. Viết mã (coding)
Viết mã dựa theo phân tích ở bước 3
Lệnh đa lựa chọn và quy trình phát triển phần mềm 32
33. Demo viết mã ứng dụng
Public Class SecurityPanelForm
' xử lý sự kiện Click cho Button enterButton
Private Sub enterButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles enterButton.Click
Dim accessCode As Integer ' lưu mã truy cập được nhập vào
Dim message As String ' hiển thị trạng thái truy cập
accessCode = Val(securityCodeTextBox.Text)
securityCodeTextBox.Clear()
Select Case accessCode ' kiểm tra mã truy cập
Case Is < 10 ' mã truy cập bé hơn 10
message = "Assistance Requested"
Case 1645 To 1689 ' mã truy cập nằm giữa 1645 và 1689
message = "Technicians"
Case 8345 ' mã truy cập bằng 8345
message = "Custodians"
Case 9998, 1006 To 1008 ' 9998 hoặc nằm giữa 1006 và 1008
message = "Scientists"
Case Else ' nếu không có trường hợp nào ở trên đúng
message = "Access Denied"
End Select
' hiển thị thời gian và thông báo trên ListBox
logEntryListBox.Items.Insert(0, Date.Now & " " & message)
End Sub ' enterButton_Click
Lệnh đa lựa chọn và quy trình phát triển phần mềm 33
Public Class SecurityPanelForm
' xử lý sự kiện Click cho Button enterButton
Private Sub enterButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles enterButton.Click
Dim accessCode As Integer ' lưu mã truy cập được nhập vào
Dim message As String ' hiển thị trạng thái truy cập
accessCode = Val(securityCodeTextBox.Text)
securityCodeTextBox.Clear()
Select Case accessCode ' kiểm tra mã truy cập
Case Is < 10 ' mã truy cập bé hơn 10
message = "Assistance Requested"
Case 1645 To 1689 ' mã truy cập nằm giữa 1645 và 1689
message = "Technicians"
Case 8345 ' mã truy cập bằng 8345
message = "Custodians"
Case 9998, 1006 To 1008 ' 9998 hoặc nằm giữa 1006 và 1008
message = "Scientists"
Case Else ' nếu không có trường hợp nào ở trên đúng
message = "Access Denied"
End Select
' hiển thị thời gian và thông báo trên ListBox
logEntryListBox.Items.Insert(0, Date.Now & " " & message)
End Sub ' enterButton_Click
34. Demo viết mã ứng dụng
' xử lý sự kiện Click cho Button zeroButton
Private Sub zeroButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles zeroButton.Click
securityCodeTextBox.Text &= "0" ' nối thêm "0" để hiển thị
End Sub ' zeroButton_Click
' xử lý sự kiện Click của Button oneButton
Private Sub oneButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles oneButton.Click
securityCodeTextBox.Text &= "1" ' nối thêm "1" để hiển thị
End Sub ' oneButton_Click
' xử lý sự kiện Click của Button twoButton
Private Sub twoButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles twoButton.Click
securityCodeTextBox.Text &= "2" 'nối thêm "2" để hiển thị
End Sub ' twoButton_Click
' xử lý sự kiện Click của Button threeButton
Private Sub threeButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles threeButton.Click
securityCodeTextBox.Text &= "3" 'nối thêm "3" để hiển thị
End Sub ' threeButton_Click
Lệnh đa lựa chọn và quy trình phát triển phần mềm 34
' xử lý sự kiện Click cho Button zeroButton
Private Sub zeroButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles zeroButton.Click
securityCodeTextBox.Text &= "0" ' nối thêm "0" để hiển thị
End Sub ' zeroButton_Click
' xử lý sự kiện Click của Button oneButton
Private Sub oneButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles oneButton.Click
securityCodeTextBox.Text &= "1" ' nối thêm "1" để hiển thị
End Sub ' oneButton_Click
' xử lý sự kiện Click của Button twoButton
Private Sub twoButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles twoButton.Click
securityCodeTextBox.Text &= "2" 'nối thêm "2" để hiển thị
End Sub ' twoButton_Click
' xử lý sự kiện Click của Button threeButton
Private Sub threeButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles threeButton.Click
securityCodeTextBox.Text &= "3" 'nối thêm "3" để hiển thị
End Sub ' threeButton_Click
35. Demo viết mã ứng dụng
' xử lý sự kiện Click của Button fourButton
Private Sub fourButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fourButton.Click
securityCodeTextBox.Text &= "4" 'nối thêm "4" để hiển thị
End Sub ' fourButton_Click
' xử lý sự kiện Click của Button fiveButton
Private Sub fiveButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fiveButton.Click
securityCodeTextBox.Text &= "5" 'nối thêm "5" để hiển thị
End Sub ' fiveButton_Click
' xử lý sự kiện Click của Button sixButton
Private Sub sixButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sixButton.Click
securityCodeTextBox.Text &= "6" 'nối thêm "6" để hiển thị
End Sub ' sixButton_Click
' xử lý sự kiện Click của Button sevenButton
Private Sub sevenButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sevenButton.Click
Lệnh đa lựa chọn và quy trình phát triển phần mềm 35
' xử lý sự kiện Click của Button fourButton
Private Sub fourButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fourButton.Click
securityCodeTextBox.Text &= "4" 'nối thêm "4" để hiển thị
End Sub ' fourButton_Click
' xử lý sự kiện Click của Button fiveButton
Private Sub fiveButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fiveButton.Click
securityCodeTextBox.Text &= "5" 'nối thêm "5" để hiển thị
End Sub ' fiveButton_Click
' xử lý sự kiện Click của Button sixButton
Private Sub sixButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sixButton.Click
securityCodeTextBox.Text &= "6" 'nối thêm "6" để hiển thị
End Sub ' sixButton_Click
' xử lý sự kiện Click của Button sevenButton
Private Sub sevenButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sevenButton.Click
36. Demo viết mã ứng dụng
' xử lý sự kiện Click của Button fourButton
Private Sub fourButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fourButton.Click
securityCodeTextBox.Text &= "4" 'nối thêm "4" để hiển thị
End Sub ' fourButton_Click
' xử lý sự kiện Click của Button fiveButton
Private Sub fiveButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fiveButton.Click
securityCodeTextBox.Text &= "5" 'nối thêm "5" để hiển thị
End Sub ' fiveButton_Click
' xử lý sự kiện Click của Button sixButton
Private Sub sixButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sixButton.Click
securityCodeTextBox.Text &= "6" 'nối thêm "6" để hiển thị
End Sub ' sixButton_Click
' xử lý sự kiện Click của Button sevenButton
Private Sub sevenButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sevenButton.Click
Lệnh đa lựa chọn và quy trình phát triển phần mềm 36
' xử lý sự kiện Click của Button fourButton
Private Sub fourButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fourButton.Click
securityCodeTextBox.Text &= "4" 'nối thêm "4" để hiển thị
End Sub ' fourButton_Click
' xử lý sự kiện Click của Button fiveButton
Private Sub fiveButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles fiveButton.Click
securityCodeTextBox.Text &= "5" 'nối thêm "5" để hiển thị
End Sub ' fiveButton_Click
' xử lý sự kiện Click của Button sixButton
Private Sub sixButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sixButton.Click
securityCodeTextBox.Text &= "6" 'nối thêm "6" để hiển thị
End Sub ' sixButton_Click
' xử lý sự kiện Click của Button sevenButton
Private Sub sevenButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sevenButton.Click
37. Demo viết mã ứng dụng
securityCodeTextBox.Text &= "7" 'nối thêm "7" để hiển thị
End Sub ' sevenButton_Click
' xử lý sự kiện Click của Button eightButton
Private Sub eightButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles eightButton.Click
securityCodeTextBox.Text &= "8" 'nối thêm "8" để hiển thị
End Sub ' eightButton_Click
' xử lý sự kiện Click của Button nineButton
Private Sub nineButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles nineButton.Click
securityCodeTextBox.Text &= "9" 'nối thêm "9" để hiển thị
End Sub ' nineButton_Click
' xử lý sự kiện Click của Button clearButton
Private Sub clearButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles clearButton.Click
securityCodeTextBox.Clear() ' xóa nội dung trên TextBox
End Sub ' clearButton_Click
End Class ' SecurityPanelForm
Lệnh đa lựa chọn và quy trình phát triển phần mềm 37
securityCodeTextBox.Text &= "7" 'nối thêm "7" để hiển thị
End Sub ' sevenButton_Click
' xử lý sự kiện Click của Button eightButton
Private Sub eightButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles eightButton.Click
securityCodeTextBox.Text &= "8" 'nối thêm "8" để hiển thị
End Sub ' eightButton_Click
' xử lý sự kiện Click của Button nineButton
Private Sub nineButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles nineButton.Click
securityCodeTextBox.Text &= "9" 'nối thêm "9" để hiển thị
End Sub ' nineButton_Click
' xử lý sự kiện Click của Button clearButton
Private Sub clearButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles clearButton.Click
securityCodeTextBox.Clear() ' xóa nội dung trên TextBox
End Sub ' clearButton_Click
End Class ' SecurityPanelForm
38. Quy trình phát triển ứng dụng
Bước 4. Kiểm thử
Chạy thử ứng dụng xem ứng dụng đã thỏa mãn yêu cầu
đặt ra lúc đầu chưa
Lệnh đa lựa chọn và quy trình phát triển phần mềm 38
39. Mã do trình thiết kế tự sinh
VB phân tách công việc thiết kết giao diện và thiết kế
logic cho ứng dụng
Mã thiết kế giao diện được VB tự sinh ra và đặt trong
một file riêng
VB phân tách công việc thiết kết giao diện và thiết kế
logic cho ứng dụng
Mã thiết kế giao diện được VB tự sinh ra và đặt trong
một file riêng
Lệnh đa lựa chọn và quy trình phát triển phần mềm 39
40. Demo xem mã tự sinh
Nhấn vào Button Show All Files trong cửa sổ Solution
Explorer, nhấn đúp vào file có đuôi là Designer.vb để
xem mã tự sinh
Lệnh đa lựa chọn và quy trình phát triển phần mềm 40
Khai báo các biến điều khiển cho giao diện
41. Demo xem mã tự sinh
Thiết lập giá trị
cho các thuộc tính
của điều khiển
Lệnh đa lựa chọn và quy trình phát triển phần mềm 41
Thiết lập giá trị
cho các thuộc tính
của điều khiển
42. Giảng viên hướng dẫn sinh viên làm assignment
Hướng dẫn làm Assignment
Lệnh đa lựa chọn và quy trình phát triển phần mềm 42
43. CheckBox cung cấp cho người dùng những tùy chọn
được định nghĩa trước. Có thể kiểm tra xem CheckBox
được chọn hay chưa bằng cách sử dụng thuộc tính
Checked
Hộp thoại được sử dụng để hiển thị thông báo cho
người dùng. Sử dụng phương thức Show để hiển thị
hộp thoại
Visual Basic cung cấp một số các toán tử logic là
AndAlso, OrElse, Xor, Not, And, Or để tạo ra các biểu
thức phức tạp
AndAlso và OrElse được đánh giá theo cơ chế tối ưu,
trong khi And và Or thì đánh giá cả hai toán hạng
Tổng kết bài học
CheckBox cung cấp cho người dùng những tùy chọn
được định nghĩa trước. Có thể kiểm tra xem CheckBox
được chọn hay chưa bằng cách sử dụng thuộc tính
Checked
Hộp thoại được sử dụng để hiển thị thông báo cho
người dùng. Sử dụng phương thức Show để hiển thị
hộp thoại
Visual Basic cung cấp một số các toán tử logic là
AndAlso, OrElse, Xor, Not, And, Or để tạo ra các biểu
thức phức tạp
AndAlso và OrElse được đánh giá theo cơ chế tối ưu,
trong khi And và Or thì đánh giá cả hai toán hạng
Lệnh đa lựa chọn và quy trình phát triển phần mềm 43
44. Lệnh Select Case thực hiện một hành động (chuỗi hành
động) trong nhiều hành động (chuỗi hành động). Có thể
sử dụng nhiều giá trị trong một mệnh đề Case bằng
cách thêm dấu phẩy vào giữa các giá trị.
Có thể sử dụng từ khóa Is và To trong mệnh đề Case
Mệnh đề Case Else được thực hiện khi không có mệnh
đề Case nào đúng
Quy trình phát triển ứng dụng gồm 4 bước cơ bản: Phân
tích, thiết kế, viết mã và kiểm thử
Visual Basic phân tách mã thành hai phần: mã cho
phần giao diện và mã cho phần logic ứng dụng. Mã
giao diện do Visual Basic tự sinh và được để trong một
file riêng
Tổng kết bài học
Lệnh Select Case thực hiện một hành động (chuỗi hành
động) trong nhiều hành động (chuỗi hành động). Có thể
sử dụng nhiều giá trị trong một mệnh đề Case bằng
cách thêm dấu phẩy vào giữa các giá trị.
Có thể sử dụng từ khóa Is và To trong mệnh đề Case
Mệnh đề Case Else được thực hiện khi không có mệnh
đề Case nào đúng
Quy trình phát triển ứng dụng gồm 4 bước cơ bản: Phân
tích, thiết kế, viết mã và kiểm thử
Visual Basic phân tách mã thành hai phần: mã cho
phần giao diện và mã cho phần logic ứng dụng. Mã
giao diện do Visual Basic tự sinh và được để trong một
file riêng
Lệnh đa lựa chọn và quy trình phát triển phần mềm 44