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

44
BÀI 4: LỆNH LỰA CHỌN & QUY TRÌNH PHÁT TRIỂN PHẦN MỀM

Upload: hoc-lap-trinh-web

Post on 27-Jun-2015

360 views

Category:

Documents


1 download

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 Basic

TRANSCRIPT

Page 1: 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

BÀI 4:LỆNH LỰA CHỌN &

QUY TRÌNH PHÁT TRIỂN PHẦN MỀM

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

Đá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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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”

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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ệ

Page 26: 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

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

Page 27: 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

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

Page 28: 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

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

Page 29: 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

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.

Page 30: 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

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

Page 31: 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

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

Page 32: 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

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

Page 33: 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

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

Page 34: 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

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

Page 35: 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

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

Page 36: 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

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

Page 37: 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

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

Page 38: 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

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

Page 39: 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

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

Page 40: 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

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

Page 41: 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

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

Page 42: 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

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

Page 43: 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

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

Page 44: 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

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