IBM Lotus Symphony
|
A continuación se describe el uso básico de las variables en Lotus® Symphony™ Basic.
Un nombre de variable puede tener hasta 255 caracteres. El primer carácter de un nombre de variable debe ser una letra A-Z o a-z. Los números también pueden usarse en los nombres de variable, pero los símbolos de puntuación y los símbolos no están permitidos, con excepción del carácter de subrayado ("_"). En Lotus Symphony Basic, los identificadores de variables no sensibles a las mayúsculas y minúsculas. Los nombres de variable pueden contener espacios, pero en ese caso deben incluirse entre corchetes.
Ejemplo | Descripción |
---|---|
MiNumero=5 | Correcto |
MiNumero5=15 | Correcto |
MiNumero_5=20 | Correcto |
Mi Numero=20 | No es válida, las variables con espacios deben incluirse entre corchetes |
[Mi Numero]=12 | Correcto |
DéjàVu=25 | No es válida, no se permiten símbolos |
5MiNumero=12 | No es válida, la variable no puede empezar con un número |
Numero,Mío=12 | No es válida, marcas de puntuación no permitidas |
En Lotus Symphony Basic, no es necesario declarar variables explícitamente. Las declaraciones de variable pueden realizarse con la instrucción Dim. Puede declarar más de una variable a la vez separando sus nombres con una coma. Para definir el tipo de variable, use un signo de declaración de tipo después del nombre o la palabra clave apropiada.
Ejemplo | Descripción |
---|---|
DIM a$ | Declara la variable "a" como String |
DIM a As String | Declara la variable "a" como String |
DIM a$, b As Integer | Declara una variable como String y otra como Integer |
DIM c As Boolean | Declara c como variable booleana que puede ser VERDADERA o FALSA. |
Es muy importante al declarar variables que utilice siempre el carácter de declaración de tipo, aunque se usara en la declaración en lugar de una palabra clave. Por tanto, las instrucciones siguientes no son válidas:
Ejemplo | Descripción |
---|---|
DIM a$ | Declara "a" como String |
a="TestString" | Falta la declaración de tipo: "a$=" |
![]() |
En cuanto haya declarado una variable como de un tipo concreto ya no podrá declararla con el mismo nombre y un tipo distinto. |
Para forzar la declaración de variables, use el mandato siguiente:
OPTION EXPLICIT
La instrucción Option Explicit tiene que ser la primera línea del módulo, antes del primer SUB. Normalmente, sólo es necesario declarar explícitamente las matrices. El resto de las variables se declaran según el carácter de declaración de tipo o (si se omite) según el tipo predeterminado Single.
Lotus Symphony Basic admite cuatro clases de variables:
Numérica, puede contener valores numéricos. Algunas variables se utilizan para almacenar números grandes o pequeños y otras para números de coma desplegable o fracciones.
Cadena, contiene cadenas de caracteres.
Lógica, contiene el valor TRUE (cierto) o FALSE (falso).
Objeto, puede almacenar objetos de diversos tipos, como tablas y documentos dentro de un documento.
El rango de las variables enteras va de -32768 a 32767. Si asigna un valor de coma desplegable a una variable entera, los valores decimales se redondean al entero más próximo. Las variables enteras se calculan rápidamente en los procedimientos y su uso es muy conveniente como variables contador en bucles. Una variable entera sólo requiere dos bytes de memoria. El carácter de declaración de tipo es "%".
Dim Variable%
Dim Variable As Integer
El rango de las variables enteras largas va de -2147483648 a 2147483647. Si asigna un valor de coma desplegable a una variable entera larga, los valores decimales se redondean al entero más próximo. Las variables enteras largas se calculan rápidamente en los procedimientos y su uso muy conveniente como variables contador en bucles de valor muy grande. Una variable entera larga requiere cuatro bytes de memoria. El carácter de declaración de tipo es "&".
Dim Variable&
Dim Variable as Long
Las variables decimales pueden tener números positivos o negativos o cero. La precisión es de un máximo de 29 dígitos.
Puede utilizar los signos (+) o menos (-) como prefijos para los números decimales (con o sin espacios).
Si se asigna un número decimal a una variable de entorno, Lotus Symphony Basic redondea la cifra al alza o a la baja.
Las variables simples pueden tener valores positivos o negativos desde 3.402823 x 10E38 a 1.401298 x 10E-45. Las variables simples son de coma desplegable, en el que la precisión decimal decrece a medida que la parte no decimal del número aumenta. Las variables simples son adecuadas para realizar cálculos matemáticos de precisión media. Los cálculos requieren más tiempo que para las variables enteras, pero son más rápidos que las de tipo doble. Una variable simple requiere 4 bytes de memoria. El carácter de declaración de tipo es "!".
Dim Variable!
Dim Variable as Single
Las variables dobles pueden tener valores positivos o negativos desde 1.79769313486232 x 10E308 a 4.94065645841247 x 10E-324. Las variables dobles son de coma desplegable, en el que la precisión decimal decrece a medida que la parte no decimal del número aumenta. Las variables dobles son adecuadas para cálculos precisos. Los cálculos requieren más tiempo que las variables simples. Una variable doble requiere 8 bytes de memoria. El carácter de declaración de tipo es "#".
Dim Variable#
Dim Variable As Double
Las variables de moneda se almacenan internamente como números de 64 bits (8 bytes) y se muestran como números con cantidad de decimales fija con 15 posiciones no decimales y 4 decimales. El rango de valores va de -922337203685477,5808 a +922337203685477,5807. Las variables de moneda se usan para calcular valores de divisas con una precisión elevada. El carácter de declaración de tipo es "@".
Dim Variable@
Dim Variable As Currency
Las variables de cadena pueden contener cadenas de compuestas por hasta 65.535 caracteres. Cada carácter se almacena como el valor Unicode correspondiente. Las variables de cadena son adecuadas para el procesamiento de texto dentro de programas y para almacenamiento temporal de caracteres no imprimibles de hasta una longitud máxima de 64 Kbytes. La memoria necesaria para almacenar variables de cadena depende del número de caracteres que ésta contenga. El carácter de declaración de tipo es "$".
Dim Variable$
Dim Variable as String
Las variables lógicas sólo almacenan uno de estos dos valores: TRUE (cierto) o FALSE (falso). Un número 0 se evalúa en FALSO, el resto de valores se evalúa en TRUE.
Dim Variable As Boolean
Las variables de fecha sólo pueden contener valores de fecha y hora almacenados en un formato interno. Los valores asignados a las variables de fecha con Dateserial , Datevalue , Timeserial o Timevalue se convierten de forma automática al formato interno. Las variable de fecha se convierten en números normales utilizando las funciones Día , Mes , Año o las funciones Hora , Minuto , Segundo . El formato interno permite una comparación de valores de fecha/hora calculando la diferencia entre dos números. Estas variables sólo pueden declararse con la palabra clave Date.
Dim Variable As Date
En cuanto se declara la variable, ésta toma automáticamente el valor "Null" (nulo). Tenga en cuenta las convenciones siguientes:
A las variables Numéricas se les asigna automáticamente el valor 0 en cuanto se declaran.
A las variables de fecha se les asigna el valor 0 internamente, lo que equivale a convertir el valor en "0" con las funciones Día , Mes , Año o las funciones Hora , Minuto , Segundo .
A las Variables de cadena se les asigna una cadena vacía () cuando se declaran.
Lotus Symphony distingue matrices de una o varias dimensiones, definidas por un tipo de variable especificado. Las matrices son convenientes para editar listas y tablas en los programas. Se puede acceder a los elementos individuales de las matrices utilizando un índice numérico.
Las matrices deben declararse con la instrucción Dim.
Ejemplo | Descripción |
---|---|
DIM text$(20) | 21 elementos numerados del 0 al 20 |
DIM text$(5,4) | 30 elementos (una matriz de 6 x 5 elementos) |
DIM text$(5 to 25) | 21 elementos numerados del 5 al 25 |
DIM text$(-15 to 5) | 21 elementos (incluido el 0), numerados del -15 al 5 |
El rango del índice puede incluir números positivos y negativos.
Las constantes tienen un valor fijo. Sólo se definen una vez en el programa y no pueden volverse a definir más adelante:
CONST NombreConst=Expresión