Usar variábeis
A continuación descríbese o uso básico das variábeis en LibreOffice Basic.
Convencións de nomeamento das variábeis
O nome dunha variábel pode consistir nun máximo de 255 caracteres. O primeiro carácter do nome dunha variábel debe ser unha letra A-Z ou a-z. Tamén se poden empregar números no nome dunha variábel, mais os símbolos de puntuación e os caracteres especiais non están permitidos, coa excepción do trazo de subliñado ou guión baixo («_»). No Basic do LibreOffice os identificadores de variábeis non diferencian entre maiúsculas e minúsculas. Os nomes das variábeis poden conter espazos, mais neste caso deben ir metidas entre corchetes.
Exemplos de identificadores de variábeis:
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 variábeis
No Basic do LibreOffice non hai que declarar as variábeis explicitamente. Pódese realizar unha declaración dunha variábel coa declaración Dim. Pódese declarar máis de unha variábel por vez, separando os nomes con vírgulas. Para definir o tipo de variábel, empregue un símbolo de declaración de tipo a continuación do nome ou empregue a palabra chave apropiada.
Exemplos de declaracións de variábeis:
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'
Despois de declarar unha variábel como dun tipo específico, non pode declarala de novo co mesmo nome e un tipo diferente!
Obrigatoriedade das declaracións de variábeis
Use a seguinte orde para forzar a declaración de variábeis:
Option Explicit
The Option Explicit statement has to be the first line in the module, before the first SUB. Generally, only arrays need to be declared explicitly. All other variables are declared according to the type-declaration character, or - if omitted - as the default type Single.
Tipos de variábeis
LibreOffice Basic admite catro clases de variábeis:
-
As variábeis numéricas poden conter valores numéricos. Algunhas variábeis empréganse para almacenar números grandes ou pequenos e outras empréganse para números de vírgula flutuante ou números fraccionarios.
-
As variábeis de cadea conteñen cadeas de caracteres.
-
As variábeis lóxicas conteñen ora o valor VERDADEIRO ora o FALSO.
-
As variábeis de obxecto poden almacenar obxectos de diversos tipos, como táboas e documentos dentro dun documento.
Variábeis enteiras
As variábeis enteiras comprenden o intervalo de -32768 a 32767. Se atribúe un valor de punto flotante a unha variábel de número enteiro, os decimais arredóndanse ao número enteiro máis próximo. As variábeis enteiras calcúlanse rapidamente nos procedementos e son apropiadas como variábeis contador en lazos. Esas variábeis só requiren dous bytes de memoria. O carácter de declaración de tipo desas variábeis é o «%».
Dim Variable%
Dim Variable As Integer
Variábeis enteiras longas
As variábeis enteiras longas comprenden o intervalo -2147483648 a 2147483647. Se atribúe un valor de punto flotante a unha variábel de número enteiro longo, os decimais arredóndanse ao número enteiro máis próximo. As variábeis enteiras longas calcúlanse rapidamente nos procedementos e son apropiadas para contadores por lazos con valores maiores. Esas variábeis requiren catro bytes de memoria. O carácter de declaración de tipo desas variábeis é o «&».
Dim Variable&
Dim Variable As Long
Variábeis decimais
As variábeis decimais poden tomar números positivos, negativos ou cero. A precisión chega aos vinte e nove díxitos.
Pódense empregar símbolos de máis (+) ou menos (-) para os números decimais (con ou sen espazos).
Se un número decimal for asignado a unha variábel enteira, o Basic do LibreOffice arredonda o número por exceso ou por defecto.
Variábeis simples
As variábeis simples conteñen valores positivos ou negativos entre 3.402823 x 10E38 e 1.401298 x 10E-45. Son variábeis de punto flotante onde a precisión decimal diminúe cando a parte non decimal aumenta. Son apropiadas para cálculos matemáticos de precisión mediana. Os cálculos precisan de máis tempo que as variábeis enteiras aínda que son máis rápidos que con variábeis duplas. As variábeis simples requiren 4 bytes de memoria. O carácter de declaración de tipo é «!».
Dim Variable!
Dim Variable As Single
Variábeis duplas
As variábeis duplas conteñen valores positivos ou negativos entre 1.79769313486232 x 10E308 e 4.94065645841247 x 10E-324. Son variábeis de punto flotante onde a precisión decimal diminúe cando a parte non decimal aumenta. Son útiles para cálculos precisos. Estes cálculos demoran máis que coas variábeis simples. As variábeis duplas requiren 8 bytes de memoria. O carácter de declaración de tipo é «#».
Dim Variable#
Dim Variable As Double
Variábeis monetarias
As variábeis monetarias almacénanse internamente como números de 64 bits (8 Bytes) e móstranse como un número decimal fixo con 15 díxitos non decimais e 4 decimais. Os valores varían desde -922337203685477.5808 a +922337203685477.5807. Úsanse para calcular valores monetarios con alta precisión. O carácter de declaración de tipo é «@».
Dim Variable@
Dim Variable As Currency
Variábeis de cadea
As variábeis de cadea almacenan cadeas de ata 65.535 caracteres. Cada carácter almacénase segundo o seu correspondente valor Unicode. Son útiles para o procesamento de textos dentro de programas e para o almacenamento temporal de caracteres non imprimíbeis de ata 64 Kbytes como máximo. A memoria esixida para o almacenamento destas variábeis depende do número de caracteres que conteña. O carácter de declaración de tipo é o «$».
Dim Variable$
Dim Variable As String
Variábeis lóxicas
As variábeis lóxicas almacenan só un destes valores: VERDADEIRO (TRUE) ou FALSO (FALSE). Un número 0 avalíase como FALSO, mestres que os outros valores avalíanse como VERDADEIRO.
Dim Variable As Boolean
Variábeis de data
As variábeis de data poden conter só valores de data e hora almacenados nun formato interno. Os valores atribuídos ás variábeis de tipo Data con Dateserial, Datevalue, Timeserial ou Timevalue son convertidas automaticamente para o formato interno. As variábeis de tipo Data son convertidas para números normais utilizando a función Day, Month, Year ou Hour, Minute, Second. O formato interno permite unha comparación de valores de data/hora calculando a diferenza entre dous números. Esas variábeis pode ser declaradas apenas coa palabra chave Date.
Dim Variable As Date
Valores iniciais das variábeis
Tras declarar a variábel, o seu valor defínese automaticamente como «Nulo». Teña en conta as seguintes convencións:
As variábeis numéricas reciben automaticamente o valor «0» así que son declaradas.
As variábeis de data reciben internamente o valor de 0; equivale a converter o valor en «0» coa función Day, Month, Year ou Hour, Minute, Second.
As variábeis de cadea reciben unha cadea baleira («») cando son declaradas.
Matrices
LibreOffice Basic recoñece matrices unidimensionais ou multidimensionais definidas por un tipo de variábel especificado. Son útiles para editar listas e táboas en programas. Pode acceder a elementos individuais dunha matriz por medio dun índice numérico.
As matrices teñen que ser declaradas coa declaración Dim. Existen varias maneiras de definir o intervalo do índice dunha 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'
O intervalo do índice pode incluír tanto números positivos como negativos.
Constantes
As constantes teñen un valor fixo. Defínense só unha vez no programa e non poden redefinirse posteriormente:
Const ConstName=Expression