- Me.(tên điều khiển).(tên thuộc tính ): tham chiếu đến thuộc tính của đối tượng cần
3.13 CÁC CẤU TRÚC LẶP THÔNG THƯỜNG (xem [4 tr 184])
FOR..NEXT: lặp theo số lần được chỉđịnh
Cú pháp 1:
FOR BienDem=GiaTriDau TO GiaTriCuoi Nhóm lệnh 1
EXIT FOR ‘để thoát khỏi vòng lặp FOR ngay lập tức không quan tâm
đến giá trịđầu cuối (EXIT FORkhông bắt buộc phải có trong cấu trúc). Nhóm lệnh 2
NEXT
Cú pháp 2:
FOR BienDem=GiaTriDau TO GiaTriCuoi STEP m Nhóm lệnh 1
EXIT FOR
54
NEXT
Trong đó:
- BienDem có thể được khai báo ngay trong vòng For (tầm vực của BienDem là vòng For).
- STEP m là thì tăng m đơn vị cho BienDem trong mỗi lần lặp, nếu không có STEP thì mặc định mỗi lần lặp sẽ tăng BienDem lên 1 đơn vị.
- EXIT FOR để thoát vòng lặp giữa chừng mà không cần thực hiện tiếp nhóm lệnh 2.
Ví dụ: Tính giai thừa của số nhập vào Textbox và hiện ra Label, 1 nút nhấn để thực hiện lệnh.
Dim bien AsInteger
bien = Val(TextBox1.Text) For i = 1 To bien - 1 bien = bien * i Next Label1.Text = bien Dạng 5 – WHILE: kiểm tra điều kiện đúng rồi thực hiện Cú pháp: WHILEĐiều kiện thoả Nhóm lệnh 1
EXIT WHILE ‘để thoát khỏi vòng lặp WHILE ngay lập tức không quan tâm đến điều kiện (EXIT WHILE không bắt buộc phải có trong cấu trúc).
Nhóm lệnh 2
END WHILE
Ví dụ: Tính giai thừa của số nhập vào Textbox và hiện ra Label, 1 nút nhấn để thực hiện lệnh.
Dim bien, i, y AsInteger
bien = Val(TextBox1.Text) i = 1
55 While i < y bien = bien * i i = i + 1 EndWhile Label1.Text = bien Dạng 6 – DO..LOOP: thực hiện rồi mới kiểm tra điều kiện
Cú pháp 1: khi Điều kiện thoả là True thì tiếp tục thực hiện nhóm lệnh trong DO
DO
Nhóm lệnh 1
EXIT DO ‘để thoát khỏi vòng lặp DO ngay lập tức không quan tâm đến
điều kiện (EXIT DOkhông bắt buộc phải có trong cấu trúc). Nhóm lệnh 2
LOOP WHILE Điều kiện thoả
Ví dụ: Tính giai thừa của số nhập vào Textbox và hiện ra Label, 1 nút nhấn để thực hiện lệnh.
Dim bien, i, y AsInteger
bien = Val(TextBox1.Text) i = 1 y = bien Do bien = bien * i i = i + 1 LoopWhile i < y Label1.Text = bien
Cú pháp 2: khi Điều kiện dừng là False thì tiếp tục thực hiện nhóm lệnh trong DO
DO
Nhóm lệnh 1
EXIT DO ‘để thoát khỏi vòng lặp DO ngay lập tức không quan tâm đến
điều kiện (EXIT DOkhông bắt buộc phải có trong cấu trúc). Nhóm lệnh 2
56
Ví dụ: Tính giai thừa của số nhập vào Textbox và hiện ra Label, 1 nút nhấn để thực hiện lệnh.
Dim bien, i, y AsInteger
bien = Val(TextBox1.Text) i = 1 y = bien Do bien = bien * i i = i + 1 LoopUntil i = y Label1.Text = bien 3.14 MẢNG (xem [4 tr 187]) Khái niệm Mảng Là một dạng tập hợp các biến cùng tên, cùng kiểu dữ liệu nhưng khác chỉ số. Khai báo mảng cốđịnh số phần tử
Dùng để khai báo mảng khi ta biết trước số phần tử cốđịnh cần dùng trong mảng.
Dim TenMang(SoPhanTuCuaMang)As KieuDuLieu
Ví dụ: Dim array(5) AsInteger ‘Khai báo mảng 1 chiều gồm 6 phần tử từ Array(0) - Array(5) kiểu dữ liệu là số Integer
Khai báo mảng động (không cốđịnh số phần tử) Dim TenMang( )As KieuDuLieu
Khai báo lại số phần tử mảng khi có sự thay đổi ReDim TenMang(n)
Ví dụ:
Dim array() AsInteger ‘Khai báo mảng động
ReDim array(8) array(5) = 8
Lúc này, số phần tử cũ của mảng sẽđược xoá sạch thay vào đó số phần tử mới. Trường hợp muốn khai báo thêm số phần tử mới trong khi vẫn giữ các phần tử cũ thì dùng thêm từ khoá Preserve trước tên mảng:
57
Ví dụ về khai báo và truy xuất mảng 1 chiều
Dim Array() AsDouble = {100, 100.39, 100.78, 101.17, 101.56, 101.95, 102.34, 102.73, 103.12, 103.51}
Dim x AsInteger
x = Val(TextBox1.Text) Label1.Text = Array(x)
Ví dụ về khai báo và truy xuất mảng 2 chiều
Dim Array(,) AsInteger = {{10, 11, 12, 13, 14, 15}, {20, 21, 22, 23, 24, 25}} Dim x, y AsInteger
x = Val(TextBox1.Text) y = Val(TextBox2.Text)
Label1.Text = Array(x, y) EndTry
Ví dụ về khai báo và truy xuất mảng 3 chiều Dim array(3, 3, 3) AsInteger
array(1, 1, 1) = 8