+ MessageBoxIcon.Exclamation
+ MessageBoxIcon.Hand
+ MessageBoxIcon.Information
+ MessageBoxIcon.None
+ MessageBoxIcon.Question
+ MessageBoxIcon.Stop
+ MessageBoxIcon.Warning
- Default button: Nút bấm ngầm định nhận 1 trong 3 giá trị Button1, Button2, Button3
- Option: kiểu căn lề của hộp thoại
MessageBox.Show("Xóa bản ghi hiện thời?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
Có thể bạn quan tâm!
- Lập trình cơ sở dữ liệu - CĐ Nghề Công Nghiệp Hà Nội - 2
- Khai Báo Và Khởi Tạo Giá Trị Cho Biến
- Lập trình cơ sở dữ liệu - CĐ Nghề Công Nghiệp Hà Nội - 4
- Lập trình cơ sở dữ liệu - CĐ Nghề Công Nghiệp Hà Nội - 6
- Tổng Quan Về Lập Trình Hướng Đối Tượng
- Phương Thức Thiết Lập Và Phương Thức Phá Hủy
Xem toàn bộ 201 trang tài liệu này.
- DisplayHelpButton (True,False) cho phép hiển thị hay không hiển thị nút Help. Ví dụ: Lệnh
Sẽ hiển thị hộp thông báo dưới đây
2.4.3 Các lệnh rẽ nhánh
If <điều kiện> Then ' Các câu lệnh
End if
a. Lệnh If Mẫu 1:
Trong đó <điều kiện> có thể là biểu thức trả về giá trị True/False hoặc là một giá trị số. Giá trị số khác 0 tương ứng với True, ngược lại là False.
Sử dụng cú pháp này, người lập trình muốn khai báo với trình biên dịch rằng các câu lệnh trong vùng If … End If chỉ được thực hiện nếu như <điều kiện> là đúng.
Nếu chỉ có một lệnh được thực hiện khi điều kiện đúng ta có thể viết lại mẫu 1 như sau:
If <điều kiện> then Câu_lệnh
Mẫu 2:
If <điều kiện> Then
' Các câu lệnh khi điều kiện đúng
Else
' Các câu lệnh khi điều kiện sai End if
Nếu chỉ có một câu lệnh được thực hiện trong mỗi trường hợp khi điều kiện đúng hoặc sai ta có thể viết như sau:
If <điều kiện> Then Câu_lệnh1 Else Câu_lệnh2
Trong đó câu_lệnh1 là lệnh được thực hiện khi điều kiện đúng còn
câu_lệnh 2 là lệnh được thực hiện khi điều kiện sai.
Ví dụ: Đoạn mã dưới đây:
If x>0 then
Msgbox ("Số dương")
Else
Msgbox ("Số âm")
End if
Có thể được viết như sau:
If x>0 then Msgbox ("Số dương") Else Msgbox ("Số âm")
Trong trường hợp nhiều điều kiện, chúng ta sử dụng mẫu 3 dưới đây:
Mẫu 3:
If <điều kiện 1> Then
...
ElseIf <điều kiện 2> Then
...
ElseIf <điều kiện n> Then
...
Else
...
End If
Chú ý:Các mệnh đề If … Then … Else có thể lồng nhau.
Ví dụ 2-2: Đoạn chương trình dưới đây sử dụng hàm InputBox để nhập giá trị cho 2 số nguyên x và y sau đó dùng MsgBox để đưa ra thông báo về số lớn nhất và số nhỏ nhất.
Dim x%, y%
x = InputBox("Nhập số thứ nhất") y = InputBox("Nhập số thứ hai") If x > y Then
MsgBox("Số lớn nhất là " & x & Chr(13) & Chr(10) _ & "Số nhỏ nhất là" & y)
Else
MsgBox("Số lớn nhất là " & y & Chr(13) & Chr(10) _ & "Số nhỏ nhất là" & x)
End If
Trong ví dụ trên biểu thức Chr(13) & Chr(10) được dùng để tách chuỗi thông báo trong hộp thoại thành 2 dòng. Dấu _ dùng để xuống dòng khi chưa kết thúc câu lệnh.
b. Lệnh Case
Select Case <biểu thức> Case <danh sách 1>
' Các lệnh thực hiện trong nhánh 1 Case <danh sách 2>
' Các lệnh thực hiện trong nhánh 2
...
Case Else
' Các lệnh thực hiện khi không có nhánh nào ở trên được chọn End Select
Danh sách được đưa ra để làm điều kiện rẽ nhánh có thể rơi vào một trong các trường hợp sau:
- biểu thức
- biểu thức 1, biểu thức 2,...
- biểu thức 1 TO biểu thức 2
- IS <phép toán so sánh> biểu thức
Ví dụ 2-3: Đoạn chương trình sau dùng InputBox để nhập vào giá trị của một tháng trong một năm và hiển thị số ngày của tháng đó.
Dim thang, nam, songay As Integer
thang = InputBox("Tháng") : nam = InputBox("Năm:") Select Case thang
Case 1, 3, 5, 7, 8, 10, 12
songay = 31
Case 4, 6, 9, 11
songay = 30
Case Else
If (nam Mod 400=0) Or (nam Mod 4=0 And nam Mod 100 <>0) _ Then songay = 29 Else songay = 28
End Select
MsgBox("Tháng " & thang & " năm " & nam & " có " & _ songay & " ngày")
Ví dụ 2-4: Nhập vào tuổi của một người và in ra thông báo Thiếu niên nếu tuổi nhỏ hơn 15; Thanh niên nếu tuổi từ 15 đến 25; Trung niên nếu tuổi từ 26 đến 45; Hoa niên nếu tuổi lớn hơn 26
Dim tuoi%
tuoi = InputBox("Tuổi:") Select Case tuoi
Case Is < 15 MsgBox("Thiếu niên")
Case 15 To 25 MsgBox("Thanh niên")
Case 26 To 45 MsgBox("Trung niên")
Case Is > 46 MsgBox("Hoa niên")
End Select
2.4.4 Câu lệnh lặp
For <biến đếm> ' Các câu lệnh [Exit For]
' Các câu lệnh
Next [biến đếm]
= <giá trị
đầu> To <giá trị cuối> [Step <bước>]
a. For .. Next Cú pháp:
Các câu lệnh trong vùng For … Next chỉ được thực hiện nếu <biến đếm> có giá trị trong đoạn [<giá trị đầu>, <giá trị cuối>]
Sau mỗi lần thực hiện, <biến đếm> sẽ được tăng thêm <bước>. Nếu không chỉ định, <bước> có giá trị là 1.
Nếu <bước> có trị > 0, cấu trúc chỉ thực hiện khi <giá trị đầu> <= <giá trị cuối>
Nếu <bước> có trị < 0, cấu trúc chỉ thực hiện khi <giá trị đầu> >= <giá trị cuối>
Mệnh đề Exit For dùng để thoát ngang khỏi vòng lặp
Ví dụ 2-5: Tính số tiền nhận được sau N tháng gửi tiết kiệm biết số tiền đem gửi là S và lãi suất kép là H% một tháng.
Dim N%, i%
Dim H, S As Decimal
S = InputBox("Số tiền đem gửi:")
H = InputBox("Lãi suất hàng tháng: (%)") N = InputBox("Số tháng gửi:")
For i = 1 To N
S += H * S / 100
Next
MsgBox("Số tiền nhận được là " & S)
For Each <phần tử> In <tập hợp> ' Các câu lệnh
[Exit For]
' Các câu lệnh Next [phần tử]
b. For Each … Next Cú pháp:
Với cú pháp này, chương trình sẽ duyệt qua từng phần tử trong tập hợp đang duyệt. Chú ý kiểu của phần tử phải khai báo tương thích với kiểu của tập hợp đang duyệt. Exit For dùng để thoát khỏi vòng lặp For
Ví dụ: Đoạn chương trình dưới đây dùng cấu trúc For .. Each .. Next để duyệt qua lần lượt các phần tử trong một tập hợp nhằm tìm phần tử có chứa chuỗi "Hello". Đoạn mã này giả thiết là tập hợp thisCollection đã được thiết lập và mỗi phần tử của nó thuộc kiểu String.
Dim found As Boolean = False
Dim thisCollection As New Collection
For Each thisObject As String In thisCollection If thisObject = "Hello" Then
found = True Exit For
End If
Next thisObject
c. Do … Loop Mẫu 1:
Do While <biểu thức logic> ' Các câu lệnh
Loop
Với cú pháp này, các câu lệnh đặt trong vùng Do While … Loop chỉ thực hiện bao lâu <biểu thức logic> có giá trị True. Sau mỗi lần thực hiện các câu lệnh trong vùng Do While...Loop, <biểu thức logic> sẽ được kiểm tra lại:
Nếu trị True, thực hiện lại vòng lặp
Nếu trị False, chấm dứt vòng lặp.
Cấu trúc này kiểm tra <biểu thức logic> trước khi thực hiện các lệnh nên sẽ không thực hiện lần nào nếu ngay lần đầu tiên <biểu thức logic> có trị False.
Mẫu 2:
Do
' Các câu lệnh
Loop While <biểu thức logic>
Tương tự Do While … Loop, các câu lệnh chỉ tiếp tục thực hiện khi <biểu thức logic> có giá trị True và sẽ kiểm tra lại <biểu thức logic> sau mỗi lần thực hiện.
Do kiểm tra sau khi thực hiện nên nếu ngay lần đầu <biểu thức logic> có trị False, các lệnh cũng được thực hiện một lần.
Mẫu 3:
Do Untile <biểu thức logic> ' Các câu lệnh
Loop
Mẫu 4:
Do
' Các câu lệnh
Loop Until <biểu thức logic>
Hai cú pháp này tương tự hai cú pháp trên (Do While … Loop, Do … Loop While), với một khác biệt là chỉ thực hiện hoặc tiếp tục thực hiện khi <biểu thức logic> là False.
Chúng ta có thể chấm dứt giữa chừng vòng lặp với lệnh Exit Do
d. While … End While
Cú pháp
While <biểu thức logic> ' Các câu lệnh
[ Exit While ]
' Các câu lệnh End While
Cách sử dụng như Do While … Loop
Dim n%, m%, UCLN%
n = InputBox("Nhập số thứ nhất:") m = InputBox("Nhập số thứ hai") Do While m <> n
If m > n Then m = m-n Else n = n-m
Loop UCLN = m
msgBox("USCLN= " & UCLN)
Ví dụ 2-6: Tìm ước số chung lớn nhất của 2 số m và n Cách 1: - Dùng Do .. While
Cách 2: - Dùng Do ..Until
Do Until m = n
If m > n Then m = m-n Else n = n-m
Loop
Cách 3: - Dùng While .. End While
While m <> n
If m > n Then m = m - n Else n = n - m End While
2.5 Dữ liệu có cấu trúc
2.5.1 Enum
Kiểu Enum là sự liên kết một tập hợp các trị hằng với các tên gợi nhớ. Các trị này mặc nhiên có kiểu Integer và chỉ có thể là kiểu Byte, Short, Long hoặc Integer. Kiểu Enum chỉ được tạo trong các Class hoặc Module.
Cú pháp:
[Phạm vi] [ Shadows ] Enum <tên> [ As <Kiểu DL>]
<tên thành phần thứ nhất> [= trị hằng 1]
<tên thành phần thứ hai> [= trị hằng 2]
...
End Enum
Trong đó phạm vi được xác định bởi một trong các từ khóa [Public | Protected | Friend | Protected Friend | Private]
Ví dụ:
Public Enum DoTuoi as Integer Nhidong = 0
Thieunien = 1
Thanhnien = 2
Trungnien = 3 End Enum
Khi không chỉ ra trị hằng, VB.NET sẽ gán trị cho thành phần đầu tiên là 0 và tăng dần cho các thành phần kế tiếp:
Ví dụ:
Public Enum DoTuoi as Integer
Nhidong ' mặc nhiên có trị
Thieunien ' mặc nhiên có trị Thanhnien ' mặc nhiên có trị Trungnien ' mặc nhiên có trị
End Enum
0
1
2
3
Nếu chỉ gán trị hằng cho thành phần đầu tiên, các thành phần kế tiếp sẽ nhận giá trị tăng dần:
Public Enum DoTuoi as Integer Nhidong = 100
Thieunien ' mặc nhiên có trị 101 Thanhnien ' mặc nhiên có trị 102 Trungnien ' mặc nhiên có trị 103
End Enum
Sau khi khai báo kiểu Enum, chúng ta có thể khai báo biến kiểu Enum cũng như sử dụng các thành phần của kiểu này thay cho các trị hằng.
2.5.2 Mảng
Mảng là tập hợp các biến có cùng kiểu dữ liệu, cùng tên nhưng có chỉ số khác nhau. Trong VB.Net, mảng có chỉ số bắt đầu là 0 và luôn luôn là mảng động. Chúng ta có các cách khai báo mảng như sau.
- Khai báo không khởi tạo kích thước và giá trị
Dim a() as Integer