bÀi 4: lệnh lựa chọn và quy trình phát triển phần mềm - giáo trình fpt
DESCRIPTION
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 BasicTRANSCRIPT
BÀI 4:LỆNH LỰA CHỌN &
QUY TRÌNH PHÁT TRIỂN PHẦN MỀM
Biến và cách sử dụng biếnLưu trữ dữ liệu trong bộ nhớToán tử số học và thứ tự ưu tiên của chúngGiải thuật và dùng mã giả để biểu diễn cho giải thuậtBiều đồ hoạt động UMLCâu lệnh lựa chọn If…Then và If…Then…ElseThiế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ếnLưu trữ dữ liệu trong bộ nhớToán tử số học và thứ tự ưu tiên của chúngGiải thuật và dùng mã giả để biểu diễn cho giải thuậtBiều đồ hoạt động UMLCâu lệnh lựa chọn If…Then và If…Then…ElseThiế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
Mục tiêu bài học
Biết cách sử dụng CheckBox và hộp thoạiHiểu về các toán tử logic và sử dụng toán tử logic để kếthợp nhiều điều kiện đơnHiểu và sử dụng lệnh đa lựa chọn Select CaseHiểu về quy trình phát triển ứng dụngHiểu về cách tổ chức mã của Visual Basic
Biết cách sử dụng CheckBox và hộp thoạiHiểu về các toán tử logic và sử dụng toán tử logic để kếthợp nhiều điều kiện đơnHiểu và sử dụng lệnh đa lựa chọn Select CaseHiểu về quy trình phát triển ứng dụngHiể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
CheckBox
CheckBox trênToolBox
Lệnh đa lựa chọn và quy trình phát triển phần mềm 4
CheckBox đượcthêm vào ứng dụng
Nhãn củaCheckBox
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 đượcchọ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 đượcchọn. Thuộc tính Checked
có giá trị là False
CheckBox được chọn. Thuộctính Checked có giá trị True
CheckBox
Thuộc tính quan trọngAutosize - Cho phép tự động điều chỉnh kích thước củaCheckBox.Checked - Chỉ định CheckBox này được chọn (True) haykhô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 CheckBoxtrong khi lập trình. Tên nên có hậu tố CheckBox vào phíasau.Size - Chỉ ra chiều rộng và chiều cao (bằng pixel) củaCheckBox.Text - Chỉ ra nội dung được hiển thị bên cạnh CheckBox.
Thuộc tính quan trọngAutosize - Cho phép tự động điều chỉnh kích thước củaCheckBox.Checked - Chỉ định CheckBox này được chọn (True) haykhô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 CheckBoxtrong khi lập trình. Tên nên có hậu tố CheckBox vào phíasau.Size - Chỉ ra chiều rộng và chiều cao (bằng pixel) củaCheckBox.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
Demo sử dụng CheckBox
Thêm CheckBox vào FormTùy chỉnh CheckBox
Lệnh đa lựa chọn và quy trình phát triển phần mềm 7
Hộp thoại
Sử dụng để hiển thị thông báo hướng dẫn hay hiểnthị thông báo lỗi cho người dùngĐược định nghĩa bởi lớp MessageBoxSử 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ểnthị thông báo lỗi cho người dùngĐược định nghĩa bởi lớp MessageBoxSử 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
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ỉnhhộ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ỉnhhộ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ênthanh tiêu đề
Button được hiểnthị trên hộp thoại
Biểu tượng xuấthiện trên hộp thoại
Các hằng MessageBoxButtonsHằng MessageBoxButtons Mô tả
MessageBoxButtons.OK Button OK. Cho phép người dùng hồi đáp lại ứngdụ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ụchay bỏ qua một hành động.
MessageBoxButtons.YesNo Button Yes và No. Cho phép người dùng hồi đáp lạicâu hỏi
MessageBoxButtons.YesNoCancel
Button Yes, No và Cancel. Cho phép người dùngtrả lời câu hỏi hoặc bỏ qua.
MessageBoxButtons.YesNoCancel
Button Yes, No và Cancel. Cho phép người dùngtrả 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ạihoặc bỏ qua một thao tác vừa thất bại.
MessageBoxButtons.AbortRetryIgnore
Button Abort, Retry và Ignore. Khi một thaotác trong một dãy các thao tác thất bại, những Buttonnà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ỏ quathao tác thất bại và tiếp tục thực hiện những thao táccòn lại.
Lệnh đa lựa chọn và quy trình phát triển phần mềm 10
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ấmthan. Được dùng để cảnh báo chongười dùng về vấn đề có thể xảy ra.
MessageBoxIcon.Information
Biểu tượng này chứa chữ “i”. Đượcdùng để hiển thị thông tin về trạngthái của ứng dụng.
Biểu tượng này chứa chữ “i”. Đượcdùng để hiển thị thông tin về trạngthái của ứng dụng.
MessageBoxIcon.None
Không có biểu tượng nào được hiểnthị.
MessageBoxIcon.Error
Biểu tượng này chứa dấu x màutrắng trong hình tròn màu đỏ. Dùngđể cảnh báo người sử dụng về lỗihoặ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
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
Toán tử logic
Điều kiện đơnx <= 10y > 10
Toán tử logic kết hợp các điều kiện đơn thành điều kiệnphức tạp hơn
AndAndAlsoOrOrElseXorNot
Điều kiện đơnx <= 10y > 10
Toán tử logic kết hợp các điều kiện đơn thành điều kiệnphức tạp hơn
AndAndAlsoOrOrElseXorNot
Lệnh đa lựa chọn và quy trình phát triển phần mềm 13
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 ThensoPhuNuCaoTuoi += 1
End IfNế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
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ểuthứ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
Toán tử OrElse
Có giá trị là True khi một hoặc cả hai điều kiện đơn đúngBà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) ThenMessageBox.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) ThenMessageBox.Show(“Sinh vien co so diem la A”, “Diem”MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Bảng sự thật của toán tử OrElse
Biểu thứcĐK 1
Biểu thức ĐK2
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
Đá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à đúnghay 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à đúnghay 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ặcbằng 90 thì dừng là và trả về True
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ị FalseNếu tất cả toán hạng có giá trị False hoặc tất cả các toánhạ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ểuthứ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ểuthức ĐK 2
False False False
False True True
True False True
True True False
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) ThenhienthiLabel.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
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” ThenhienthiLabel.Text = “Tuyet voi!”
If diem = “B” ThenhienthiLabel.Text = “Rat tot!”
If diem = “C” ThenhienthiLabel.Text = “Tot.”
If diem = “D” ThenhienthiLabel.Text = “Kem.”
If diem = “F” ThenhienthiLabel.Text = “Truot.”
ElsehienthiLabel.Text = “Diem khong
hop le.”End If
Trong trường hợp diem bằng“A” thì hiển thị “Tuyet voi!”
Select Case diemCase “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 hople.”
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” ThenhienthiLabel.Text = “Tuyet voi!”
If diem = “B” ThenhienthiLabel.Text = “Rat tot!”
If diem = “C” ThenhienthiLabel.Text = “Tot.”
If diem = “D” ThenhienthiLabel.Text = “Kem.”
If diem = “F” ThenhienthiLabel.Text = “Truot.”
ElsehienthiLabel.Text = “Diem khong
hop le.”End If
Select Case diemCase “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 hople.”
End Select
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épKý hiệu raquyết định
Ký hiệu ghép kết hợp hai luồng hoạt động thành một luồngLệ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”
…
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 đúngMệnh đề Case Else phải nằm sau tất cả các mệnh đề Case khácMỗi lệnh Select Case chỉ có một mệnh đề Case Else
Select Case diemCase “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 diemCase “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
Nhiều giá trị trong mệnh đề Case
Có thể có nhiều giá trị trong một mệnh đề Case
Select Case diemCase “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 diemCase “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ị đượcphân tách bởi
dấu phầy
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ênphải của toán tử
Select Case diemCase 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 diemCase 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ướctoán tử quan hệ
Từ khóa To
Từ khóa To xác định một khoảng giá trị
Select Case diemCase 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 diemCase 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
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
Datagridview và sơ lược về đọc file
Đọc dữ liệu từ file và đưa vào DataGridViewVí dụ:
Dim danhSach() As StringdanhSach = File.ReadAllLines("QuestionList.txt")Dim i As IntegerFor 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 DataGridViewVí dụ:
Dim danhSach() As StringdanhSach = File.ReadAllLines("QuestionList.txt")Dim i As IntegerFor 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
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ânviê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ómnhân viên tương ứng:
Giá trị Nhóm1645-1689 Kỹ thuật viên8345 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 tinmỗ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 đượcchấp nhận thì thông tin về thời gian truy cập và nhóm (nhà khoa học, nhân viêntạ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ờigian và thông báo “Access Denied” sẽ được ghi vào cửa sổ. Ngoài ra, người dùngcó 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ânviê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ómnhân viên tương ứng:
Giá trị Nhóm1645-1689 Kỹ thuật viên8345 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 tinmỗ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 đượcchấp nhận thì thông tin về thời gian truy cập và nhóm (nhà khoa học, nhân viêntạ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ờigian và thông báo “Access Denied” sẽ được ghi vào cửa sổ. Ngoài ra, người dùngcó 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.
Quy trình phát triển ứng dụng
Bước 2. Thiết kế ứng dụngThiế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ủaTextBox vẫn chứa giá trị do người dùng nhập vào
Thiết lập thuộc tínhPasswordChar là * để
ẩn mã truy cập
Bước 2. Thiết kế ứng dụngThiế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ủaTextBox 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ínhPasswordChar là * để
ẩn mã truy cập
Quy trình phát triển ứng dụng
Thiết kế giải thuật cho ứng dụngNếu người dùng nhấn Button # thì
Lấy giá trị mã an ninh do người dùng nhập vàoXóa nội dung trên TextBox
Chọn trường hợp đúng dựa trên mã truy cậpTrong trường hợp mã truy cập nhỏ hơn 10
Lưu văn bản “Assistance Requested” vào biến StringTrong 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 StringTrong trường hợp mã truy cập bằng 8345
Lưu văn bản “Costodians” vào biến StringTrong 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 StringTrong 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 StringKết thúc lệnh ChọnThê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 dunghiể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àoXóa nội dung trên TextBox
Chọn trường hợp đúng dựa trên mã truy cậpTrong trường hợp mã truy cập nhỏ hơn 10
Lưu văn bản “Assistance Requested” vào biến StringTrong 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 StringTrong trường hợp mã truy cập bằng 8345
Lưu văn bản “Costodians” vào biến StringTrong 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 StringTrong 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 StringKết thúc lệnh ChọnThê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 dunghiển thị của ListBox
Kết thúc lệnh Nếu
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
Demo viết mã ứng dụng
Public Class SecurityPanelForm
' xử lý sự kiện Click cho Button enterButtonPrivate 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àoDim 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ậpCase 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à 1689message = "Technicians"
Case 8345 ' mã truy cập bằng 8345message = "Custodians"
Case 9998, 1006 To 1008 ' 9998 hoặc nằm giữa 1006 và 1008message = "Scientists"
Case Else ' nếu không có trường hợp nào ở trên đúngmessage = "Access Denied"
End Select
' hiển thị thời gian và thông báo trên ListBoxlogEntryListBox.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 enterButtonPrivate 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àoDim 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ậpCase 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à 1689message = "Technicians"
Case 8345 ' mã truy cập bằng 8345message = "Custodians"
Case 9998, 1006 To 1008 ' 9998 hoặc nằm giữa 1006 và 1008message = "Scientists"
Case Else ' nếu không có trường hợp nào ở trên đúngmessage = "Access Denied"
End Select
' hiển thị thời gian và thông báo trên ListBoxlogEntryListBox.Items.Insert(0, Date.Now & " " & message)
End Sub ' enterButton_Click
Demo viết mã ứng dụng
' xử lý sự kiện Click cho Button zeroButtonPrivate 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 oneButtonPrivate 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 twoButtonPrivate 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 threeButtonPrivate 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 zeroButtonPrivate 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 oneButtonPrivate 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 twoButtonPrivate 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 threeButtonPrivate 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
Demo viết mã ứng dụng
' xử lý sự kiện Click của Button fourButtonPrivate 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 fiveButtonPrivate 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 sixButtonPrivate 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 sevenButtonPrivate 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 fourButtonPrivate 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 fiveButtonPrivate 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 sixButtonPrivate 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 sevenButtonPrivate Sub sevenButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sevenButton.Click
Demo viết mã ứng dụng
' xử lý sự kiện Click của Button fourButtonPrivate 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 fiveButtonPrivate 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 sixButtonPrivate 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 sevenButtonPrivate 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 fourButtonPrivate 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 fiveButtonPrivate 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 sixButtonPrivate 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 sevenButtonPrivate Sub sevenButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles sevenButton.Click
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 eightButtonPrivate 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 nineButtonPrivate 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 clearButtonPrivate 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 TextBoxEnd 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 eightButtonPrivate 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 nineButtonPrivate 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 clearButtonPrivate 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 TextBoxEnd Sub ' clearButton_Click
End Class ' SecurityPanelForm
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
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ụngMã thiết kế giao diện được VB tự sinh ra và đặt trongmộ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ụngMã thiết kế giao diện được VB tự sinh ra và đặt trongmột file riêng
Lệnh đa lựa chọn và quy trình phát triển phần mềm 39
Demo xem mã tự sinh
Nhấn vào Button Show All Files trong cửa sổ SolutionExplorer, 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
Demo xem mã tự sinh
Thiết lập giá trịcho các thuộc tínhcủ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ínhcủa điều khiển
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
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ínhCheckedHộp thoại được sử dụng để hiển thị thông báo chongười dùng. Sử dụng phương thức Show để hiển thịhộp thoạiVisual 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ểuthức phức tạpAndAlso 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ínhCheckedHộp thoại được sử dụng để hiển thị thông báo chongười dùng. Sử dụng phương thức Show để hiển thịhộp thoạiVisual 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ểuthức phức tạpAndAlso 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
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ằngcá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 đề CaseMệnh đề Case Else được thực hiện khi không có mệnhđề Case nào đúngQuy trình phát triển ứng dụng gồm 4 bước cơ bản: Phântích, thiết kế, viết mã và kiểm thửVisual Basic phân tách mã thành hai phần: mã chophầ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ộtfile 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ằngcá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 đề CaseMệnh đề Case Else được thực hiện khi không có mệnhđề Case nào đúngQuy trình phát triển ứng dụng gồm 4 bước cơ bản: Phântích, thiết kế, viết mã và kiểm thửVisual Basic phân tách mã thành hai phần: mã chophầ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ộtfile riêng
Lệnh đa lựa chọn và quy trình phát triển phần mềm 44