martes, 26 de mayo de 2015
Alcance de las Variables
El alcance de una variable define en qué partes del código son reconocidas. Cuando declara una variable en un procedimiento, sólo el código de dicho procedimiento puede tener acceso o modificar el valor de la variable; tiene un alcance local al procedimiento. A veces, sin embargo, se necesita utilizar
una variable con un alcance más general, como aquella cuyo valor está disponible para todos los procedimientos del mismo módulo o incluso para todos los procedimientos de toda la aplicación.
Visual Basic le permite especificar el alcance de una variable cuando la declara.
Establecido el alcance de las variables
Dependiendo de cómo se declara, una variable tiene como alcance un procedimiento (local) o un módulo.
Variables utilizadas en un procedimiento
Las variables al nivel de procedimiento sólo se reconocen en el procedimiento en el que se han declarado. Se las conoce también como variables locales. Se declaran mediante las palabras clave Dim o Static. Por ejemplo:
Dim intTemp As Integer
- o bien -
Static intContador As Integer
Los valores de variables locales declaradas con Static existen mientras se ejecuta la aplicación, mientras que las variables declaradas con Dim sólo existen mientras se ejecuta el procedimiento.
Variables utilizadas en un módulo
De forma predeterminada, una variable al nivel de módulo está disponible para todos los procedimientos del módulo, pero no para el código de otros módulos. Cree variables al nivel de módulo declarándolas con la palabra clave Private en la sección Declaraciones Generales al principio del módulo. Por ejemplo:
Private intTemp As Integer
Al nivel de módulo, no hay diferencia entre Private y Dim, pero es preferible usar Private porque contrasta con Public y hace que el código sea más fácil de comprender.
Variables utilizadas por todos los módulos
Para hacer que una variable al nivel de módulo esté disponible para otros módulos, utilice la palabra clave Public para declararlas. Los valores de las variables públicas están disponibles para todos los procedimientos de la aplicación. Al igual que todas las variables al nivel del módulo, las variables públicas se declaran en la sección Declaraciones Generales al principio del módulo. Por ejemplo:
Constantes
A menudo verá que el código contiene valores constantes que reaparecen una y otra vez. O puede que el código dependa de ciertos números que resulten difíciles de recordar (números que, por sí mismos, no tienen un significado obvio).
En estos casos, puede mejorar mucho la legibilidad del código y facilitar su mantenimiento si utiliza constantes. Una constante es un nombre significativo que sustituye a un número o una cadena que no varía. Aunque una constante recuerda ligeramente a una variable, no puede modificar una constante o asignarle un valor nuevo como ocurre con una variable. Hay dos orígenes para las constantes:
→ Constantes intrínsecas o definidas por el sistema proporcionadas por Visual Basic.
→ Las constantes simbólicas o definidas por el usuario se declaran mediante la instrucción Const.
Creación de sus propias constantes
La sintaxis para declarar una constante es la siguiente:
[Public|Private] Const nombre_constante [As tipo] = expresión
El argumento nombre_constante es un nombre simbólico válido (las reglas son las mismas que para crear nombres de variable) y expresión está compuesta por constantes y operadores de cadena o numéricos; sin embargo, no puede utilizar llamadas a funciones en expresión. Una instrucción Const puede representar una cantidad matemática o de fecha y hora:
Const conPi = 3.14159265358979
Public Const conMaxPlanetas As Integer = 9
Const conFechaSalida = #1/1/95#
Se puede utilizar también la instrucción Const para definir constantes de cadena:
Public Const conVersion = “ 07.10.A”
Const conNombreClave = “Enigma”
Puede colocar más de una declaración de constante en una única línea si las separa con comas:
Public Const conPi=3.14, conMaxPlanetas=9, conPobMundial=6E+09
A menudo, la expresión del lado derecho del signo igual ( = ) es un número o cadena literal, pero también puede ser una expresión que dé como resultado un número o una cadena (aunque la expresión no puede contener llamadas a funciones). Puede incluso definir constantes en términos de constantes previamente definidas
Const conPi2 = conPi * 2
Una vez que defina las constantes, puede colocarlas en el código para hacerlo más legible. Por ejemplo:
Static SistemaSolar (1 To conMaxPlanetas)
If numPersonas > conPopMundial Then Exit Sub
Alcance de las constantes definidas por el usuario
Una instrucción Const tiene igual alcance que una declaración de variable y se le aplican las mismas reglas:
→ Para crear una constante que sólo exista en un procedimiento, declárela dentro del procedimiento.
→ Para crear una constante disponible para todos los procedimientos de un módulo, pero no para el código que está fuera del módulo, declárela en la sección Declaraciones Generales del módulo.
→ Para crear una constante disponible en toda la aplicación, declare la constante en la sección Declaraciones Generales de un módulo estándar y coloque delante de Const la palabra clave Public. No se pueden declarar las constantes públicas en un módulo de clase o de formulario.
Evitar referencias circulares
Como es posible definir constantes en términos de otras constantes, deberá tener cuidado para no establecer un ciclo o referencia circular entre dos o más constantes. Se produce un ciclo cuando se tienen dos o más constantes públicas, cada una de las cuales está definida en función de la otra. Por ejemplo:
'En el Módulo 1:
Public Const conA = conB * 2 ' Disponible en toda la aplicación
'En el Módulo 2:
Public Const conB = conA / 2 ' Disponible en toda la aplicación
Si se produce un ciclo, Visual Basic generará un error cuando intente ejecutar la aplicación. No puede ejecutar el código hasta que resuelva la referencia circular. Para evitar la creación de un ciclo, restrinja todas las constantes públicas a un único módulo o, al menos, al menor número posible de módulos.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario