Variables lógicas, de objeto y de tipo variable
Para finalizar la revisión del tipo de variables de OOo Basic, trataremos en esta entrada sobre las variables lógicas (Boolean), de tipo variable (Variant) y de tipo objeto (Object)
¿Llegaste a la meta? -> Admite dos posibles respuestas: Sí (True) 1 vs. No (False) 0
¿Es niño? -> Admite dos posibles respuestas: Sí (1) -> Es niño vs. No (0) -> Es niña.
Además de las variables declaradas como booleanas, este tipo de análisis también puede ser realizada sobre cualquier variable o expresión en contextos de condicionalidad, ya que en ellos lo que se hace es juzgar en términos V|F el cumplimiento de una condición. Por ejemplo:
Dim sDato As String, sTipo As String
sDato = "Perro"
If sDato = "Perro" Then
sTipo = "Animal"
End If
En este caso la variable sDato es de tipo string, pero cuando se emplea dentro del condicional If lo que analizamos es el cumplimiento de una equivalencia (no la asignación precedente sDato = "Perro"), así que si se cumple que sDato = "Perro" (esto es, si sDato = "Perro" es True, como es el caso), entonces se realiza la asignación (ahora sí, asignación) sTipo = "Animal". De no cumplirse la condición anterior, no se efectúa dicha (segunda) asignación. (1)
Otra situación en la que es interesante el uso de variables Boolean es cuando como resultado de una categorización, una variable puede tener asignados contenidos identificables dentro de dicha categoría, resultando, no obstante, suficientemente complejo el análisis de los mismos cuando nos interesa algún tipo de análisis de la tabla o base de datos resultante.
En este caso una opción frecuente es generar tantas variables como elementos tenga la categoría (al menos tantas como se presenten en los datos obtenidos), las cuales se identifican o denominan como la categoría, y que se definen como variables booleanas. Esto facilita su análisis posterior. Un ejemplo:
- Dim sCatNE As String requiere como respuesta tres categoría "ORD", "NEAE", "NEE".
- Podemos "desglosarla en tres variables Boolean (Dim vORD As Boolean, vNEAE As Boolean y vNEE As Boolean) a las que se responde como True o False. Esta diferenciación no tiene mucho interés cuando se trabaja con casos individuales, pero facilita los análisis posteriores de la base de datos que resulte de su aplicación a un colectivo.
Para la valoración de las expresiones booleanas contamos con las llamadas [tablas de verdad]
Las variables Variant permiten a OOo Basic tratar variables cuyo contenido no está definido a priori y es, por tanto, variable. Viene a ser el equivalente a no delimitar expresamente el (tipo de) contenido o dato de una variable. Variant da flexibilidad al lenguaje a costa de un consumo mayor de memoria RAM, por lo que su uso debe quedar restringido a lo necesario. Un ejemplo de uso del tipo Variant se da en la definición de las matrices por razones que se comentarán en su momento.
Finalmente las variables tipo objeto (Object) permiten almacenar en un variable cualquier objeto definido en la API de LibreOffice. Dado que LibreOffice es una suite construida en gran medida sobre Java, que es un lenguaje orientado a objetos (POO), el uso de variables de tipo objeto es muy frecuente en los script OOo Basic, permitiendo a este lenguaje acceder a los componentes fundamentales de la suite LibreOffice y sus diferentes servicios.
Un ejemplo de variable tipo Object es la que permite a OOo Basic acceder al documento sobre el que se construye el script:
Dim oDoc As Object, oHojaActiva As Object
No hay comentarios:
Publicar un comentario
Comenta esta entrada