Điều khiển thứ tự xử lý các dòng code

Một phần của tài liệu Khóa hàm thụ visual basic 6 0 (Trang 35 - 36)

Giả dụ ta viết một chương trình Vb6 đơn giản như trong hình nầy với hai Textbox tên txtName, txtAge và một nút tên CmdEnter nằm trong một form tên Form1:

Thông thường các dòng code được xử lý theo thứ tự từ trên xuống dưới. Thí dụ như để kiểm xem các dữ kiện vừa được cho vào các Textbox có

tương đối hợp lý hay không, khi User click nút CmdEnter, ta xử lý Sub dưới đây:

Private Sub CmdEnter_Click()

' Make sure the Name field is not blank If txtName.Text = "" Then

MsgBox "Please enter Name" Exit Sub ' Terminate this Sub End If

' Make sure a number is supplied for Age If Not IsNumeric(txtAge.Text) Then

MsgBox "Please enter a number for Age" Exit Sub ' Terminate this Sub

End If

End Sub

Cái Sub nói trên có chữ Private nằm phía trước, ý nói chỉ nội trong cùng một form chứa Control CmdEnter (tức là Form1 trong trường hợp nầy) ta mới có thể gọi (dùng) Sub CmdEnter_Click().Thí dụ ta muốn khi User bấm key "Enter" trên bàn phím sau khi cho vào chi tiết ở Textbox txtAge thì coi như User đã click nút CmdEnter. Ta viết như sau:

Private Sub txtAge_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

KeyAscii = 0 ' swallow Key Enter to avoid side effect

CmdEnter_Click ' Call Private Sub CmdEnter_Click from the same form End If

End Sub

Khi ta dùng câu CmdEnter_Click làm một dòng code (còn gọi là gọi Sub CmdEnter_Click) thì coi như tương đương với nhét tất cả 10 dòng codes giữa hai hàng Private Sub CmdEnter_Click()End Sub tại chỗ câu CmdEnter_Click, như viết lại dưới đây:

Private Sub txtAge_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

KeyAscii = 0 ' Swallow Key Enter to avoid side effect ' Make sure the Name field is not blank

If txtName.Text = "" Then MsgBox "Please enter Name" Exit Sub ' Terminate this Sub End If

' Make sure a number is supplied for Age If Not IsNumeric(txtAge.Text) Then

MsgBox "Please enter a number for Age" Exit Sub ' Terminate this Sub

End If End If

End Sub

Có một cách nói khác là khi execution đi đến hàng CmdEnter_Click thì nó nhảy vào Private Sub CmdEnter_Click() để execute cho đến hết rồi nhảy trở lại hàng kế tiếp trong Private Sub txtAge_KeyPress(KeyAscii As Integer) Trong Private Sub CmdEnter_Click() nếu User không

đánh gì vào Textbox txtName thì chương trình sẽ display message "Please enter Name" rồi Exit Sub. Đây là cách nhảy ngay ra khỏi Sub chớ không

đợi phải execute xuống tới hàng chót.

Một phần của tài liệu Khóa hàm thụ visual basic 6 0 (Trang 35 - 36)

Tải bản đầy đủ (PDF)

(185 trang)