Conteníu
Índiz 🔎︎

# Usu de variables

De siguío descríbese l'usu básicu de variables en LibreOffice Basic.

## Convenciones de asignación de nomes a variables

Un nome de variable pue tener hasta 255 caráuteres. El primer caráuter d'un nome de variable ten de ser una lletra A-Z o a-z. Los númberos tamién puen usase nos nomes de variable, pero los símbolos de puntuación y los caráuteres especiales nun tán dexaos, con esceición del caráuter de sorrayáu ("_"). En LibreOffice Basic nun se fai distinción ente mayúscules/minúscules nos identificadores de variable. Los nomes de variable puen contener espacios, pero nesi casu tienen d'incluyise ente corchetes.

Exemplos d'identificadores de variable:

        MyNumber=5      'Correct'
        MyNumber5=15    'Correct'
        MyNumber_5=20   'Correct'
        My Number=20    'Not valid, variable with space must be enclosed in square brackets'
        [My Number]=12  'Correct'
        DéjàVu=25       'Not valid, special characters are not allowed'
        5MyNumber=12    'Not valid, variable may not begin with a number'
        Number,Mine=12  'Not valid, punctuation marks are not allowed'

## Declaración de variables

En LibreOffice Basic nun ye necesariu declarar variables explícitamente. Les declaraciones de variable puen realizase cola instrucción Dim. Pue declarar más d'una variable al empar dixebrando los sos nomes con una coma. Pa definir el tipu de variable, use un signu de declaración de tipu dempués del nome o la pallabra clave apropiada.

Exemplos de declaraciones de variable:

        Dim a$               'Declares the variable "a" as a String'
        Dim a As String      'Declares the variable "a" as a String'
        Dim a$, b As Integer 'Declares one variable as a String and one as an Integer'
        Dim c As Boolean     'Declares c as a Boolean variable that can be TRUE or FALSE'

Tenga en cuenta qu'en cuanto declarara una variable como d'un tipu concretu yá nun pue declarala col mesmu nome y un tipu distintu.

### Forzar declaraciones de variables

Pa forzar la declaración de variables, use la orde siguiente:

    Option Explicit

La instrucción Option Explicit tien que ser la primer llinia del módulu, enantes del primera SUB. De normal, namái ye necesariu declarar esplícitamente les matrices. El restu de variables declárense según el caráuter de declaración de tipu o (si s'omite) según el tipu predetermináu Single.

## Tipos de variable

LibreOffice Basic almite cuatro clases de variables:

- Numbérica, pue contener valores numbéricos. Delles variables úsense p'almacenar númberos grandes o pequeños y otres pa númberos de coma flotante o fraiciones.

- Cadena, contién cadenes de caráuteres.

- Les variables Lóxica, contienen el valor TRUE (ciertu) o FALSE (falsu).

- Oxetu, pue almacenar oxetos de diversos tipos, como tables y documentos dientro d'un documentu.

### Variables enteres

El rangu de les variables enteres va de -32768 a 32767. Si asigna un valor de coma flotante a una variable entera, los valores decimales arredondiar al enteru más próximu. Les variables enteres calcúlense rápido nos procedimientos y el so usu ye bien conveniente como variables contador en bucles. Una variable entera namái rique dos bytes de memoria. El caráuter de declaración de tipu ye "%".

    Dim Variable%
    Dim Variable As Integer

### Variables enteres llargues

El rangu de les variables enteres llargues va de -2147483648 a 2147483647. Si asigna un valor de coma flotante a una variable entera llarga, los valores decimales arredondiar al enteru más próximu. Les variables enteres llargues calcúlense rápido nos procedimientos y el so usu bien conveniente como variables contador en bucles de valor bien grande. Una variable entera llarga rique cuatro bytes de memoria. El caráuter de declaración de tipu ye "&".

    Dim Variable&
    Dim Variable As Long

### Variables Decimales

Les variables decimales puen tomar númberos positivos y negativos o'l númberu cero. La exactitú esta hasta 29 díxitos.

Pues usar un signu de suma (+) o resta (-) como prefixu a un númberu decimal (con o ensin espaciu).

Si un númberu decimal esta asignáu a una variable integral LibreOffice Basic arredondia la cantidá enriba o embaxo.

### Variables simples

Les variables simples puen tener valores positivos o negativos dende 3,402823 x 10E38 a 1,401298 x 10E-45. Les variables simples son de coma flotante, nel que la precisión decimal escai a midida que la parte non decimal del númberu aumenta. Les variables simples son afeches pa los cálculos matemáticos de precisión media. Los cálculos necesiten más tiempu que pa les variables Enteru, pero son más rápidos que los cálculos con variables Doble. Una variable simple necesita 4 bytes de memoria. El caráuter de declaración de tipu ye "!".

    Dim Variable!
    Dim Variable As Single

### Variables dobles

Les variables dobles puen tener valores positivos o negativos dende 1.79769313486232 x 10E308 a 4.94065645841247 x 10E-324. Les variables dobles son de coma flotante, nes que la precisión decimal escai a midida que la parte non decimal del númberu aumenta. Les variables dobles son afeches pa cálculos precisos. Los cálculos necesiten más tiempu que les variables simples. Una variable doble necesita 8 bytes de memoria. El caráuter de declaración de tipu ye "#".

    Dim Variable#
    Dim Variable As Double

### Variables de moneda

Les variables de moneda almacénense internamente como númberos de 64 bits (8 bytes) y amuésense como númberos con decimales fixos con 15 cifres non decimales y 4 decimales. El rangu de valores va de -922337203685477,5808 a +922337203685477,5807. Les variables de moneda úsense pa calcular valores de divises con alta precisión. El caráuter de declaración de tipu ye "@".

    Dim Variable@
    Dim Variable As Currency

### Variables de cadena

Les variables de cadena puen contener cadenes de compuestes por hasta 65.535 caráuteres. Cada caráuter almacénase como'l valor Unicode correspondiente. Les variables de cadena son afeches pal procesamientu de testu dientro de programes y p'almacenamientu temporal de caráuteres non imprentables d'hasta un llargor máximu de 64 Kbytes. La memoria necesaria p'almacenar variables de cadena depende del númberu de caráuteres qu'ésta contenga. El caráuter de declaración de tipu ye "$".

    Dim Variable$
    Dim Variable As String

### Variables lóxiques

Les variables lóxiques o booleanes namái almacenen ún d'estos dos valores: True (verdaderu) o False (falsu). Un númberu 0 evalúa en FALSE, cualesquier otru númberu evalúa en TRUE.

    Dim Variable As Boolean

### Variables de fecha

Les variables de fecha namái puen contener valores de fecha y hora almacenaos nun formatu internu. Los valores asignaos a les variables de fecha con Dateserial, Datevalue, Timeserial o Timevalue conviértense automáticamente al formatu internu. Les variables de fecha convertir en númberos normales por aciu les funciones Día, Mes y Añu o bien Hora, Minutos y Segundu. El formatu internu dexa una comparanza de valores de fecha/hora calculando la diferencia ente dos númberos. Estes variables namái puen declarase cola pallabra clave Date.

    Dim Variable As Date

## Valores iniciales de les variables

En cuanto declárase la variable, ésta toma automáticamente el valor "Null" (nulu). Tenga en cuenta les convenciones siguientes:

A les variables Numbériques asígnase-yos automáticamente el valor "0" en cuanto declárense.

A les variables de fecha asígnase-yos el valor 0 internamente; qu'equival a convertir el valor a "0" cola función Día, Mes, Añu o Hora, Minutu, Segundu.

A les variables de cadena asígnase-yos una cadena balera ("") cuando se declaren.

## Matrices

LibreOffice Basic estrema matrices d'una o delles dimensiones, definíes por un tipu de variables especificáu. Les matrices son convenientes pa editar llistes y tables nos programes. Pue aportase a los elementos individuales de les matrices utilizando un índiz numbéricu.

Les matrices tienen de declarase cola instrucción Dim. Hai delles maneres de definir el rangu d'índices d'una matriz:

        Dim Text$(20)       '21 elements numbered from 0 to 20'
        Dim Text$(5,4)      '30 elements (a matrix of 6 x 5 elements)'
        Dim Text$(5 To 25)  '21 elements numbered from 5 to 25'
        Dim Text$(-15 To 5) '21 elements (including 0), numbered from -15 to 5'

El rangu del índiz pue incluyir númberos positivos y negativos.

## Constantes

Les constantes tienen un valor fixu. Namái se definen una vegada nel programa y nun puen volvese a definir más palantre:

    Const ConstName=Expression