Uso de cookies

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continúa navegando, consideramos que acepta su uso. Para obtener más información o bien conocer cómo cambiar la configuración lea nuestra Política de cookies

Declaración de constantes

OpenOffice Basic admite la declaración de constantes. Las constantes, al igual que las variables, son contenedores de datos, pero su valor no puede ser cambiado a lo largo del programa; permanece constante.


Las reglas de nombrado de las constantes son las mismas que se aplican para nombrar a las variables.


Las constantes se pueden declarar:



Las constantes se declaran con la sentencia


 Const <NombreDeConstante>[ As <TipoDeConstante>] = <ValorDeLaConstante> 


Las constantes se suelen utilizar para utilizar valores de uso repetitivo a lo largo del código, o para que el código sea más legible.


Si no se define el tipo de constante, se asigna el tipo Variant.


Const Saludo as string = "Hola"
Const FechaInicial as date = "31/01/2012"
Const Pi = 3.14159265358979
Const Pix2 = Pi * 2
Const Pi2 = Pi * Pi
Const PiTxt = Saludo & " El valor de Pi es " & "3,1415..."
Const Uno as integer = 1
Const VERDADERO as boolean = True
Const FALSO as boolean = False


Se pueden definir constantes con un valor resultado de realizar operaciones sencillas con valores y cadenas, pero no se pueden utilizar funciones ni subrutinas en su declaración. Por ello, esta expresión no será admitida


Const INTRO = Chr(13)


Como puedes ver en nuestro ejemplo, sí que son aceptadas las expresiones que calculan las constantes Pi al cuadrado (Pi2) y dos por Pi (Pix2) operando con la constante ya definida Pi. También hemos podido declarar la constante PiTxt operando con un texto y la constante Saludo, pero no se admite utilizar la constante Pi que no es de tipo texto, por lo que hemos tenido que escribir el valor como texto.


Si se define una constante de tipo Date, el valor se expresará encerrado entre comillas dobles ", y no entre almohadillas # como ocurre en otros lenguajes BASIC.



Declaración de constantes a nivel de módulo

Podemos declarar constantes a nivel de módulo, declarando éstas después de las opciones de compilador y antes de cualquier función o subrutina.


REM  *****  BASIC  *****
Option Explicit
 
Const VERDADERO as boolean = True
Const FALSO as boolean = False
Const Pi = 3.14159265358979
 
Sub MiSubrutina() as string
 
 
End Sub


Cualquier constante declarada a nivel de módulo será visible por todas las funciones y subrutinas de ese módulo. Solo será visible en ese módulo (salvo que se declare como pública).



Declaración de constantes a nivel de subrutina o función

Podemos declarar constantes a nivel de subrutina o función, declarando éstas después de la declaración de la subrutina o función, y antes de su finalización con End Sub o End Function, según corresponda, y siempre antes de utilizar la constante, por lo que es recomendable situarlas al principio, justo tras la declaración de la subrutina o función.


REM  *****  BASIC  *****
Option Explicit
 
Const Saludo as string = "Hola"
 
Sub MiSubrutina()
Const FechaInicial as date = "31/01/2012"
 
MsgBox Saludo
MsgBox "Han transcurrido " & ( date() - cDate(FechaInicial)) & _
       " días desde el " & FechaInicial
 
End Sub


Cualquier constante declarada a nivel de función o subrutina será visible sólo dentro de la misma (salvo que se declare como pública). Si el nombre coincide con una constante o variable declarada a nivel de módulo, o pública, la constante de la función o subrutina eclipsará a las anteriores, por lo que no podremos acceder a ellas.

Modificada el 28 jul 2013 22:48.   Visitas: 6019