Module
Contents
Index 🔎︎

# Dim Statement

변수나 배열을 선언합니다.

변수가 쉼표로 구분된 경우(예: DIM sPar1, sPar2, sPar3 AS STRING) Variant 변수만 지정할 수 있습니다. 각 변수에 대해 별도의 지정 줄을 사용합니다.

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

Dim은 서브루틴 내에서 로컬 변수를 선언합니다. 전역 변수는 PUBLIC 또는 PRIVATE 문을 사용하여 선언합니다.

## 구문:

    [ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

## 매개 변수:

VarName: 임의의 변수 또는 배열 이름입니다.

Start, End: 요소 수(NumberElements=(end-start)+1)와 색인 범위를 지정하는 숫자 값 또는 상수입니다.

ReDim이 프로시저 수준에서 적용될 경우 Start 및 End는 숫자 식이 될 수 있습니다.

VarType: 변수의 데이터 형식을 선언하는 키워드입니다.

Keyword: 변수 유형

Bool: Boolean 변수(True, False)

Currency: Currency 변수(소수점 이하 자릿수가 4개인 통화)

Date: Date 변수

Double: Double-precision 부동 소수점 변수(1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Integer 변수(-32768 - 32767)

Long: Long integer 변수(-2.147.483.648 - 2.147.483.647)

Object: Object 변수(참고: 이 변수는 이후에 Set을 통해서만 지정할 수 있습니다.)

Single: Single-precision 부동 소수점 변수(3,402823 x 10E38 - 1,401298 x 10E-45)

String: 최대 64,000개의 ASCII 문자로 구성되는 String 변수

[Variant]: Variant 변수 유형(모든 유형을 포함하며 정의별로 지정됨). 키워드가 지정되지 않으면 DefBool에서 DefVar까지의 문이 사용되지 않은 경우 변수는 자동으로 Variant 유형으로 지정됩니다.

LibreOffice Basic에서는 변수를 명시적으로 선언할 필요가 없습니다. 그러나 배열을 사용할 수 있으려면 먼저 배열을 선언해야 합니다. 변수는 Dim 문을 사용하여 선언할 수 있으며, 이때 여러 선언을 구분하려면 쉼표를 사용합니다. 변수 유형을 선언하려면 이름 뒤에 유형 선언 문자를 입력하거나 해당 키워드를 사용합니다.

LibreOffice Basic은 지정한 변수 유형에 의해 지정되는 일차원 또는 다차원 배열을 지원합니다. 편집할 목록이나 테이블이 프로그램에 포함된 경우에 배열이 적합합니다. 배열의 장점은 숫자 식 또는 변수로 공식화할 수 있는 색인에 따라 개별 요소를 지정할 수 있다는 것입니다.

배열은 Dim 문을 사용하여 선언합니다. 색인 범위를 지정하는 방법에는 다음 두 가지가 있습니다.

DIM text(20) as String REM 21 elements numbered from 0 to 20

DIM text(5 to 25) as String REM 21 elements numbered from 5 to 25

DIM text(-15 to 5) as String REM 21 elements (including 0)

REM numbered from -15 to 5

2차원 데이터 필드

DIM text(20,2) as String REM 63 elements; form 0 to 20 level 1, from 0 to 20 level 2 and from 0 to 20 level 3.

ReDim 문이 서브루틴의 차원 수를 지정하거나 배열을 포함하는 함수를 지정할 경우 배열 유형을 동적인 것으로 선언할 수 있습니다. 일반적으로 배열 차원은 한 번만 지정할 수 있으며 수정할 수 없습니다. 서브루틴 내에서 ReDim을 사용하여 배열을 선언할 수 있습니다. 차원을 지정할 때는 숫자 식만 사용할 수 있는데, 이것은 필드가 필요 이상으로 커지는 것을 방지합니다.

## 예:

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

    Sub ExampleDim2
    2차원 데이터 필드
    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