Module
Contents
Index 🔎︎

# Dim Statement

Khai báo một biến hay mảng.

Nếu các biến phân cách bởi dấu phẩy (v.d. « DIM sPar1, sPar2, sPar3 AS STRING »), chỉ có thể xác định biến kiểu Biến thế. Hãy dùng một lời xác định riêng cho mỗi biến.

    Dim sPar1 As String
    Dim sPar2 As String
    Dim sPar3 As String

Câu lệnh Dim khai báo biến cục bộ bên trong chương trình con. Biến toàn cục được khai báo dùng câu lệnh PUBLIC (công) hay PRIVATE (riêng).

## Cú pháp:

    [ReDim]Dim Tên_biến [(đầu To cuối)] [As Kiểu_biến][, Tên_biến2 [(đầu To cuối)] [As Kiểu_biến][,...]]

## Tham số :

Tên_biến: bất cứ tên nào của một biến hay mảng.

đầu, cuối: giá trị thuộc số hay hằng số mà xác định số phần tử (NumberElements=(cuối-đầu)+1) và phạm vi chỉ số.

đầu và cuối có thể là biểu thức thuộc số nếu câu lệnh ReDim được áp dụng ở bậc thủ tục.

Kiểu_biến: từ khoá mà khai báo kiểu dữ liệu của một biến.

Từ_khoá: kiểu biến

Bool: biến lôgic (Đúng/Sai)

Tiền_tệ: biến tiền tệ (tiền tệ có 4 chữ số thập phân)

Ngày: biến ngày

Đôi: biến chấm động chính xác đôi (1,79769313486232 × 10E308 - 4,94065645841247 × 10E-324)

Số nguyên: biến số nguyên (-32768 - 32767)

Dài: biến số nguyên dài (-2.147.483.648 - 2.147.483.647)

Đối tượng: biến đối tượng (ghi chú : biến này chỉ có thể được xác định về sau dùng « Set »)

Đơn: biến chấm động chính xác đơn (3,402823 × 10E38 - 1,401298 × 10E-45).

Chuỗi: biến chuỗi chứa nhiều nhất 64.000 ASCII ký tự.

[Variant]: kiểu biến Biến thế (chứa tất cả các kiểu, được ghi rõ bởi lời xác định). Không ghi rõ từ khoá, thì biến được tự động xác định là Kiểu Biến Thế, nếu không dùng một câu lệnh từ DefBool tới DefVar.

Bằng mã LibreOffice Basic, bạn không cần tuyến biến một cách dứt khoát. Tuy nhiên, bạn có phải cần phải khai báo một mảng trước khi sử dụng nó. Bạn có thể khai báo một biến dùng câu lệnh Dim, dùng dấu phẩy để phân cách nhiều lời khai báo. Để khai báo một kiểu biến, nhập một ký tự khai báo kiểu phía sau tên biến, hoặc dùng một từ khoá tương ứng.

LibreOffice Basic hỗ trợ mảng một/nhiều chiều được xác định bởi một kiểu biến đã ghi rõ. Mảng thích hợp nếu chương trình chứa danh sách hay bảng bạn muốn chỉnh sửa. Lợi ích của mảng là có thể đặt địa chỉ của mỗi phần tử riêng tùy theo chỉ số, mà có thể được cấu tạo dạng biểu thức thuộc số hay biến.

Mảng được khai báo dùng câu lệnh Dim. Có hai phương pháp xác định phạm vi chỉ số :

DIM text(20) as String REM 21 phần tử, đánh số từ 0 đến 20

DIM text(5 to 25) as String REM 21 phần tử, đánh số từ 5 đến 25

DIM text(-15 to 5) as String REM 21 phần tử (gồm có 0)

REM đánh số từ -15 đến 5

Trường dữ liệu chiều đôi

DIM text(20,2) as String REM 63 phần tử; từ 0 đến 20 ở bậc 1, từ 0 đến 20 ở bậc 2 và từ 0 đến 20 ở bậc 3.

Bạn có thể khai báo một kiểu mảng là động nếu một câu lệnh ReDim xác định số chiều trong chương trình con hay hàm chứa mảng đó. Nói chung, bạn chỉ có thể xác định mỗi chiều mảng một lần, sau đó thì không thể sửa đổi. Bên trong một chương trình con, bạn có thể khai báo một mảng dùng ReDim. Chỉ có thể xác định chiều dùng biểu thức thuộc số. Trường hợp này đảm bảo các trường chỉ càng lớn càng cần thiết.

## Thí dụ :

    Sub ExampleDim1
    Dim sVar As String
    Dim iVar As Integer
        sVar = "Office"
    End Sub

    Sub ExampleDim2
    Trường dữ liệu chiều đôi
    Dim stext(20,2) As String
    Const sDim as String = " Dimension:"
    For i = 0 To 20
        For ii = 0 To 2
            stext(i,ii) = str(i) & sDim & str(ii)
        Next ii
    Next i
    For i = 0 To 20
        For ii = 0 To 2
            MsgBox stext(i,ii)
        Next ii
    Next i
    End Sub