Điềukhiển dòng chương trình Cấu trúc chọn

Một phần của tài liệu Giao trinh chuyen de 1 (Trang 60 - 64)

a. Phương thức: Click

3.3. Điềukhiển dòng chương trình Cấu trúc chọn

Cấu trúc chọn

So sánh mặc định trong Visual basic mặc định là so sánh có phân biệt cỡ chữ. Nếu muốn tắt chế độ này, ta thêm dòng khai báo sau vào chương tình

Option Copare Text

Nếu muốn trả về trạng thái ban đầu, có 2 cách: Đưa dòng khai báo:

Option Compare Binary

Chỉ cần xoá dòng khai báo “Option Compare Text” Các biểu thức so sánh Ký hiệu Ý nghĩa = Bằng <> Khác > Lớn hơn < Nhỏ hơn >= Lớn hơn hoặc bằng <= Nhỏ hơn hoặc bằng If.. Then Một dòng lệnh

If <điều kiện> Then <dòng lệnh> Nhiều dòng lệnh

If <điều kiện> Then <dòng lệnh> End if

Điều kiện là một so sánh hay một biểu thức mang giá trị số. Visual basic thông dịch giá trị này thành True / False. Nếu True thì Visual basic thi hành dòng lệnh sau từ khoá Then.

If.. Then...Else

If <điều kiện 1> Then [Khối lệnh - 1]

ElseIf <điều kiện 2> Then [Khối lệnh - 2] ... Else [Khối lệnh - n] End if Select Case

Giải quyết trường hợp có quá nhiều ElseIf được dùng, giúp chương trình sáng sủa dễ đọc. Biểu thức để so sánh được tính toán một lần vào đầu cấu trúc. Sau đó Visual basic so sánh kết quả biểu thức với từng Case. Nếu bằng nó thi hành khối lệnh trong Case đó.

Select Case <biểu thức kiểm tra> Case <danh sách biểu thức 1>

Khối lệnh 1

Case <danh sách biểu thức 2> Khối lệnh 2

... Case else

Khối lệnh n End Select

Mỗi danh sách biểu thức chứa một hoặc nhiều giá trị, các giá trị cách nhau bằng dấu phảy. Mỗi khối lệnh có thể chứa từ 0 đến nhiều dòng lệnh. Nếu có hơn một Case thoả mãn điều kiện thì Case đầu tiên được thực hiện. Case else không nhất thiết phải có, dùng trong trường hợp còn lại của các Case trước.

Cấu trúc lặp Do..loop

Thi hành một khối lệnh với số lần lặp không định trước, tỏng đó, một biểu thức điều kiện dùng so sánh để quyết định vòng lặp có tiếp tục hay không. điều kiện phải quy về False hoặc True.

Kiểu 1:

Do While <điều kiện> <khối lệnh>

Loop

Kiểu 2:Vòng lặp luôn có ít nhất một lần thi hành khối lệnh Do

<Khối lệnh>

Loop While <điều kiện>

Kiểu 3: Lặp trong khi điều kiện là False Do until <điều kiện>

<khối lệnh> Loop

Kiểu 4: Lặp trong khi điều kiện là False và có ít nhất một lần thi hành khối lệnh Do

<khối lệnh> Loop Until

For...Next

Biết trước số lần lặp. Ta dùng biến đếm tăng dần hoặc giảm dần trong vòng lặp. For <biến đếm> = <điểm đầu> To <điểm cuối> [Step <bước nhảy>]

<Khối lệnh> Next [<Biến đếm>]

Biến đếm, điểm đầu, điểm cuối và bước nhảy là những giá trị số.

Bước nhảy có thể là âm hoặc dương. Nếu bước nhảy là dương, điểm đầu phải nhỏ hơn hoặc bằng điểm cuối, nếu bước nhảy là âm thì ngược lại.

For Each...Next

Tương tự vòng lặp For... Next, nhưng nó lặp khối lệnh theo số phần tử của một tập các đối tượng hay một mảng thay vì theo số lần lặp xác định. Vòng lặp này tiện lợi khi ta không biết chính xác bao nhiêu phần tử trong tập hợp.

For Each <phần tử> In <Nhóm> <khối lệnh>

Next <phần tử>

Vòng lặp While...Wend

Tương tự vòng lặp Do...While, nhưng ta khôing thể thoát vòng lặp bằng lệnh Exit. Vì vậy, vòng lặp kiểu này chỉ thoát khi biểu thức điều kiện sai.

While <điều kiện> <khối lệnh> Wend

Câu lệnh GoTo

Được dùng cho bẫy lỗi. On Error Goto ErrorHandler

Khi có lỗi, chương trình sẽ nhảy đến nhãn ErrorHandler và thi hành lệnh ở đó

Làm việc với cấu trúc

Ta có thể lồng các cấu trúc với nhau ví dụ có thể lồng nhiều vòng For Nẽex với nhau. Để thoát khỏi cấu trúc ta dùng lệnh Exit, Exit for cho phép thoát khỏi vòng For, Exit do cho phép thoát khỏi Do loop.

Gỡ rối chương trình

Không một chương tình nào là không có lỗi. Tuy nhiên, giảm khả năng lỗi đến mức tối thiểu là có thể làm được. Để có chương trình tốt, ta cần có thiết kế chặt chẽ. Sau đó, chương trình phải được viết sao cho có ít sinh lỗi và nếu có thì dễ tìm.

Một số giải pháp giảm lỗi

• Thiết kế cẩn thận, ghi ra các vấn đề quan trọng và cách giải quyết cho từng phần. Ghi ra từng thủ tục và mục đích của nó.

• Chú thích rõ ràng trong chương trình

• Đối tượng có tham chiếu tường minh thay vì kiểu chung chung như Object, Control

• Tuân thủ Coding convention

• Một tỏng những nguyên nhân gây lỗi là gõ sai tên biến hoặc nhầm lẫn điều khiển. Dùng Option Explicit để tránh trường hợp này.

Truyền giá trị khi gọi thủ tục

Là một trong những cách giảm thiểu khả năng lỗi. Tuy nhiên, trở ngại duy nhất của nó là tiêu tốn nhiêềuvùng nhớ hơn truyền địa chỉ, làm chương tình chạy chậm hơn.

Đối tượng Err

Là đối tượng do Visual basic cung cấp sẵn. Nó có vô số thuộc tính. Sau đây là những thuộc tính thông dụng:

Thuộc tính Giải thích

Number Giá trị mặc định, số hiệu lỗi Description Mô tả lỗi

Source Tên đối tượng gây ra lỗi

Gỡ rối

Có thể tạm dừng chương trình bằng cách chọn Break từ menu Run hoặc nhấn trên thanh công cụ, hoặc nhấn trên tổ hợp phím Ctrl-Break. Ta cũng có thể đặt dòng lệnh Stop trong chương trình nhưng sẽ có cách khác tốt hơn.

Cửa sổ Immediate

Cửa sổ này cho phép ta xem các giá trị của các biến trong form khi ta chỵ gỡ rối

Cửa sổ Watch

Hiển thị các giá trị của một biến, thuộc tính hay biểu thức bất kỳ. Thậm chí có thể buộc chương trình tạm ngưng sau một số lần lặp.

Đi qua từng dòng chương trình

Thanh Debug

Thứ tự nút bấm từ trái sang phải như sau: - Start: thi hành chương trình - Break: tạm dừng chương trình - End: Kết thúc chương trình

- BreakPoint: Điểm đánh dấu dòng lệnh để tạm dừng chương trình. Nút này được sử dụng để bật tắt chế độ breakpoint. Khi có lỗi xảy ra và ta chưa khoanh được khu vực nghi ngờ, thì Breakpoint là giải pháp tốt nhất để cô lập vùng chương trình bị lỗi.

- Step Into: Nếu dòng lệnh hiện hành đang gọi một thủ tục, nhấn F8 sẽ nhảy vào bên trong thủ tục.

- Step Over: Nếu dòng lệnh hiện hành đang gọi một thủ tục, nhấn Shipt-F8 sẽ chạy qua thủ tục.

- Step Out: Nếu điểm dừng đang ở trong một thủ tục, nhấn Ctrl-Shift-F8 sẽ chạy hết thủ tục và dừng ở dòng kế tiếp sau lệnh gọi thủ tục

- ...

Bẫy lỗi

Lệnh On Error

Lệnh On Error dùng trong hàm hay thủ tục báo cho Visual basic biết cách xử ký khi lỗi xảy ra. On Error GoTo <Nhãn>

Dùng On error Goto 0 tắt xử lý lỗi.

Một phần của tài liệu Giao trinh chuyen de 1 (Trang 60 - 64)

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

(76 trang)
w