Module
Contents
Index 🔎︎

# ReDim Statement

Khai báo một biến hay mả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][,...]]

Tùy chọn, bạn cũng có thể thêm từ khoá Preserve (bảo tồn) làm tham số để bảo tồn nội dung của mảng có các chiều đang được thay đổi.

## 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 ReDim được sử 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)

Ngày: biến ngày

Đôi: biến chấm động đô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 đến 2.147.483.647)

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

[Single]: biến chấm động đơn (3,402823×10E38 đến 1,401298×10E-45). Không đưa ra từ khoá thì xác định một biến là Single, nếu không dùng một câu lệnh từ DefBool tới DefVar.

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

Biến thế: biến kiểu biến thế (có thể chứa mọi kiểu và được đặt theo định nghĩa).

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.

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

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ử (kể cả 0),

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

Trường biến, bất chấp kiểu, có thể được làm động nếu nó có các chiều được đặt bởi câu lệnh ReDim ở bậc thủ tục trong chương trình con hay hàm. Bình thường, bạn chỉ có thể đặt phạm vi của mỗi mảng một lần, sau đó thì không sửa đổi được. Bên trong một thủ tục, bạn có thể khai báo một mảng dùng câu lệnh ReDim với các biểu thức thuộc số để xác định phạm vi các kích cỡ trường.

## Thí dụ :

    Sub ExampleRedim
    Dim iVar() As Integer, iCount As Integer
    ReDim iVar(5) As Integer
    For iCount = 1 To 5
        iVar(iCount) = iCount
    Next iCount
    ReDim iVar(10) As Integer
    For iCount = 1 To 10
        iVar(iCount) = iCount
    Next iCount
    End Sub