Vấn đề thoát đột ngột khỏi cấp điều khiển (tt)

Một phần của tài liệu Tin học đại cương-Phần 4 doc (Trang 29 - 30)

‰ Như ta đã thấy trong cú pháp của hầu hết các lệnh VB đều có chứa thành phần [Statement]+. Theo trình tự thi hành thông thường, các lệnh bên trong này sẽđược thực thi tuần tự, hết lệnh này đến lệnh khác cho đến lệnh cuối, lúc này thì việc thi hành lệnh cha mới có thể kết thúc. Tuy nhiên trong 1 vài trạng thái thi hành đặc biệt, ta muốn thoát ra khỏi lệnh cha đột ngột chứ không muốn thực thi hết các lệnh con trong danh sách. Để phục vụ yêu cầu này, VB cung cấp lệnh Exit với cú pháp sau đây :

Exit [For |Do |Property |Sub |Function]

‰ Lưu ý VB cho phép dùng Exit để thoát khỏi trực tiếp ra nhiều cấp. VB không cung cấp lệnh Exit If và Exit While để thoát khỏi lệnh If và lệnh While ⇒ dùng lệnh Do ... Loop thay thế lệnh While và/hoặc lệnh Goto (được trình bày sau).

Chương 8 : Các lệnh thực thi VB

‰ Để thấy việc dùng các lệnh lồng nhau và yêu cầu cần thoát khỏi đột ngột 1 cấp điều khiển nào đó, ta hãy xem thủ tục sau, nó cho phép in ra tất cả các font chữ mà có thể dùng để hiển thị lên màn hình lẫn in ra máy in.

Private Sub Form_Click()

Dim objSFont As Object, objPFont As Object ' duyệt từng font màn hình

For Each objSFont In Screen.Fonts() ' duyệt từng font máy in

For Each objPFont In Printer.Fonts() If objSFont = objPFont Then

Print objSfont End If

Next objPFont Next objSFont End Sub

Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM

Môn : Tin học

Slide 214

‰ Quan sát lệnh If ta thấy rằng điều kiện chỉđúng tối đa 1 lần trong vòng lặp objPFont, do đó khi đã thỏa điều kiện rồi thì ta nên thoát khỏi vòng lặp này ngay (để thời gian chạy ít hơn ⇒hiệu quả hơn).

Private Sub Form_Click()

Dim objSFont As Object, objPFont As Object ' duyệt từng font màn hình

For Each objSFont In Screen.Fonts() ' duyệt từng font máy in

For Each objPFont In Printer.Fonts() If objSFont = objPFont Then

Print objSfont

Exit For 'thoát đột ngột khỏi vòng For trong cùng End If

Next objPFont Next objSFont End Sub

Vấn đề thoát đột ngột khỏi cấp điều khiển (tt)

Chương 8 : Các lệnh thực thi VB

‰ Cũng thí dụở slide trước, nhưng nếu ta chỉ muốn in tên font chữđầu tiên được dùng bởi cả màn hình và máy in, thì ta phải dùng lệnh Exit Sub sau khi đã in tên font đầu tiên này.

Private Sub Form_Click()

Dim SFont As objObject, objPFont As Object ' duyệt từng font màn hình

For Each objSFont In Screen.Fonts() ' duyệt từng font máy in

For Each objPFont In Printer.Fonts() If objSFont = objPFont Then

Print objSfont

Exit Sub 'thoát đột ngột khỏi thủ tục End If

Next objPFont Next objSFont End Sub

Một phần của tài liệu Tin học đại cương-Phần 4 doc (Trang 29 - 30)

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

(31 trang)