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       'Nun val, nun se permiten caráuteres especiales'
    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'
warning

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:

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

Single variables can take positive or negative values ranging from 3.402823 x 10E38 to 1.401298 x 10E-45. Single variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Single variables are suitable for mathematical calculations of average precision. Calculations require more time than for Integer variables, but are faster than calculations with Double variables. A Single variable requires 4 bytes of memory. The type-declaration character is "!".


Dim Variable!
Dim Variable As Single

Variables dobles

Double variables can take positive or negative values ranging from 1.79769313486232 x 10E308 to 4.94065645841247 x 10E-324. Double variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Double variables are suitable for precise calculations. Calculations require more time than for Single variables. A Double variable requires 8 bytes of memory. The type-declaration character is "#".


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

Literals for integers

Numbers can be encoded using octal and hexadecimal forms.


  xi = &o13 '    8 + 3
  ci = &h65 ' 6*16 + 5
  MAX_Integer =  &o77777 '  32767 = &h7FFF
  MIN_Integer = &o100000 ' -32768 = &h8000
  MAX_Long = &h7fffffff '  2147483647 = &o17777777777
  MIN_Long = &h80000000 ' -2147483648 = &o20000000000

Variables de cadena

String variables can hold character strings with up to 2,147,483,648 characters. Each character is stored as the corresponding Unicode value. String variables are suitable for word processing within programs and for temporary storage of any non-printable character up to a maximum length of 2 Gbytes. The memory required for storing string variables depends on the number of characters in the variable. The type-declaration character is "$".

tip

In BASIC String functions, the first character of the string has index 1.



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

Please support us!