Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Visual Basic (página 2)




Enviado por jaimemontoya



Partes: 1, 2, 3

Partes: 1, , 3

Parte
3: Tipos De Datos,
Constantes

y Variables

Tipos de Datos

Un tipo de dato determina la naturaleza del
dominio de
valores que
puede tomar una variable, las operaciones en
que puede participar y el espacio de memoria que
necesita. La tabla siguiente muestra los tipos
de datos, incluyendo el tamaño de almacenamiento y
el intervalo.

Tipo de Dato

Tamaño de
Almacenamiento

Rango

Byte

1 byte

0 a 255

Boolean

2 bytes

True o False

Integer

2 bytes

-32.768 a 32.767

Long

(entero largo)

4 bytes

-2.147.483.648 a 2.147.483.647

Single

(coma flotante/ precisión
simple)

4 bytes

-3,402823E38 a -1,401298E-45 para valores
negativos; 1,401298E-45 a 3,402823E38 para valores
positivos

Double

(coma flotante/ precisión
doble)

8 bytes

-1,79769313486232E308 a -4,94065645841247E-324
para valores negativos; 4,94065645841247E-324 a
1,79769313486232E308 para valores positivos

Currency

(entero a escala)

8 bytes

-922.337.203.685.477,5808 a
922.337.203.685.477,5807

Decimal

14 bytes

+/-

79.228.162.514.264.337.593.543.950.335 sin punto
decimal;

+/-

7,9228162514264337593543950335 con 28 posiciones
a la derecha del signo decimal; el número
más pequeño distinto de cero es

+/-

0,000000000000000000000000001

Date

8 bytes

1 de enero de 100 a 31 de Diciembre de
9999

Object

4 bytes

Cualquier referencia a tipo Object

String

(longitud variable)

10 bytes +

longitud de la

cadena

Desde 0 a 2.000 millones

String

(longitud fija)

Longitud de la

cadena

Desde 1 a 65.400 aproximadamente

Variant

(con números)

16 bytes

Cualquier valor
numérico hasta el intervalo de un tipo
Double

Variant

(con caracteres)

22 bytes +

longitud de la

cadena

El mismo intervalo para un tipo String de
longitud variable.

Definido por el usuario

(utilizando Type)

Número requerido por los
elementos

El intervalo de cada elemento es el mismo que el
intervalo de su tipo de datos

Nota: Las matrices de
cualquier tipo de datos requieren 20 bytes de memoria más
cuatro bytes para cada dimensión de matriz,
más el número de bytes que ocupan los propios
datos. Por ejemplo, los datos de una matriz unidimensional que
constan de cuatro elementos de datos tipo Integer de dos
bytes cada uno, ocupan ocho bytes. Los ocho bytes que requieren
los datos más los 24 bytes necesarios para la matriz suman
un requisito total de memoria de 32 bytes para dicha matriz. Un
tipo Variant que contiene una matriz requiere 12 bytes más
que la matriz por sí sola.

Convertir tipos de datos

Visual Basic proporciona varias funciones de
conversión que puede utilizar para convertir valores de
tipos de datos
específicos. Por ejemplo, para convertir un valor a
Currency, utilice la función
Ccur:

PagoPorSemana = Ccur (horas * PagoPorHora)

La siguiente tabla muestra las funciones de
conversión:

Nota: Los valores
que se pasan a una función de conversión deben ser
válidos para el tipo de dato de destino o se
producirá un error. Por ejemplo, si intenta convertir un
tipo Long en un Integer, el tipo de Long
debe de estar en el intervalo válido del tipo de dato
Integer.

Variables

Las variables se
utilizan para almacenar valores temporalmente durante la
ejecución de una aplicación. Las variables tienen
un nombre (la palabra que utiliza para referirse al valor que
contiene la variable) y un tipo de dato (que determina la
clase de dato
que la variable puede almacenar).

Almacenamiento y recuperación de datos en
variables

Utilice una sentencia de asignación para realizar
cálculos y asignar el resultado a una variable:

ManzanaVendidas = 10 ‘ Se pasa el valor 10 a la
variable

ManzanasVendidas = ManzanasVendidas + 1

Observe que el signo igual del ejemplo es un operador de
asignación, no un operador de igualdad; el
valor 10 se asigna a la variable
ManzanasVendidas.

Declaración de Variables

Declarar una variable es decirle al programa algo de
antemano. Se declara una variable mediante la instrucción
Dim, proporcionando un nombre a la variable, según
la siguiente sintaxis:

Dim nombre-variable [As tipo]

Las variables que se declaran en un procedimiento
mediante la sentencia Dim sólo existen mientras se
ejecuta el procedimiento. Cuando termina el procedimiento,
desaparece el valor de la variable. Además, el valor de
una variable de un procedimiento es local a dicho
procedimiento; es decir, no puede tener acceso a una variable de
un procedimiento desde otro procedimiento. Estas
características le permiten utilizar los mismos nombres de
variables en distintos procedimientos
sin preocuparse por posibles conflictos o
modificaciones accidentales.

El nombre de una variable debe cumplir con los
siguientes requisitos:

  • Debe comenzar con una letra.
  • No puede incluir un punto o un carácter de declaración de tipo
    ($,&,!,%,#,@).
  • No debe exceder de 255 caracteres.
  • Debe ser única en el mismo alcance, que es el
    intervalo desde el que se puede hacer referencia a la variable:
    un procedimiento, formulario, etc.

La cláusula opcional As tipo de la
sentencia Dim le permite definir el tipo de dato o de
objeto de la variable que va a declarar. Los tipos de datos
definen el tipo de información que almacena la variable.
Algunos ejemplos de tipos de datos son String, Integer y
Currency. Las variables también pueden contener
objetos de Visual Basic u
otras aplicaciones. Algunos ejemplos de tipos de objeto de
Visual Basic, o
clases, son Object, Form1 y TextBox.

Hay otras formas de declarar variables:

  • Declarar una variable en la sección
    Declaraciones de un módulo de formulario,
    estándar o de clase, en vez de un procedimiento, hace
    que la variable esté disponible para todos los
    procedimientos del módulo.
  • Declarar una variable mediante la palabra clave
    Public hace que esté accesible para toda la
    aplicación.
  • Declarar una variable local mediante la palabra clave
    Static conserva su valor aunque termine el
    procedimiento.

Declaración Implícita

No tiene por qué declarar una variable antes de
utilizarla. Por ejemplo, podría escribir una
función donde no hiciera falta declarar TempVal
antes de utilizarla:

Visual Basic crea automáticamente una variable
con ese nombre, que puede utilizar como si la hubiera declarado
explícitamente. Aunque es cómodo, puede provocar
errores sutiles en el código
si se equivoca de nombre de variable. Por ejemplo, suponga que ha
escrito esta función:

A primera vista, parece igual. Pero como se ha escrito
erróneamente la variable TempVal en la tercera
línea, la función devolverá siempre cero.
Cuando Visual Basic encuentra un nombre nuevo, no puede averiguar
si realmente desea declarar una variable nueva o simplemente ha
escrito de forma errónea una variable existente, por lo
que crea una variable nueva con ese nombre.

Declaración Explícita

Para evitar problemas al
equivocarse de nombre en las variables, puede configurar Visual
Basic para que le avise siempre que encuentre un nombre que no se
haya declarado explícitamente como una
variable.

Para declarar variables de forma
explícita:

  • Incluya esta sentencia en la sección
    Declaraciones Generales del módulo de clase, de
    formulario o estándar:

Option Explicit

– o bien –

En el menú Herramientas, elija
Opciones, haga clic en la ficha Editor y active
la opción Declaración de variables
requerida.
Esto inserta automáticamente la sentencia
Option Explicit en los módulos nuevos, pero no en
los ya creados, por lo que tendrá que agregar
manualmente Option Explicit a los módulos
existentes en el proyecto.

Si hubiera tenido efecto dicha instrucción en el
módulo de formulario o módulo estándar que
contiene la función Raíz, Visual Basic
habría reconocido TempVal y TemVal como variables no
declaradas y habría generado errores para ambas.
Debería, por tanto, declara explícitamente
TempVal:

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:

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:

Public intTemp As Integer

Nota: No puede declarar variables
públicas en un procedimiento, sólo en la
sección Declaraciones Generales de un
módulo.

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.

Convenciones para Nombres de Constantes y
Variables

Las variables se deben definir siempre con el menor
alcance posible. Las variables globales (públicas) pueden
hacer lógica
de una aplicación muy difícil de entender. Las
variables globales también hacen más difícil
mantener y volver a usar el código.

En Visual Basic las variables pueden tener el alcance
siguiente:

En una aplicación de Visual Basic, las variables
globales se deben usar sólo cuando no exista ninguna otra
forma cómoda de compartir
datos entre formularios.
Cuando haya que usar variables globales, es conveniente
declararlas todas en un único módulo agrupadas por
funciones y dar al módulo un nombre significativo que
indique su finalidad, como Públicas.

Una práctica de codificación correcta es escribir
código modular siempre que sea posible. Por ejemplo, si la
aplicación muestra un cuadro de diálogo,
coloque todos los controles y el código necesario para
ejecutar la tarea del diálogo en un único
formulario. Esto ayuda a tener código de la
aplicación organizado en componentes útiles y
minimiza la sobrecarga en tiempo de
ejecución.

A excepción de las variables globales ( que no se
deberían pasar), los procedimientos y funciones deben
operar sólo sobre los objetos que se les pasan.

Prefijos de alcance de variables

A medida que aumenta el tamaño del proyecto,
también aumenta la utilidad de
reconocer rápidamente el alcance de las variables. Esto se
consigue escribiendo un prefijo de alcance de una letra delante
del prefijo de tipo, sin aumentar demasiado la longitud del
nombre de las variables.

Una variable tiene alcance global si se declara
como Public en un módulo estándar o en un
módulo de formulario. Una variable tiene alcance de
nivel de módulo si se declara como
Private en un módulo estándar o en un
módulo de formulario, respectivamente.

Nota: La coherencia es crucial para
usar esta técnica de forma productiva; el corrector de
sintaxis de Visual Basic no interceptará las variables de
nivel de módulo que comience con "p".

Constantes

El nombre de las constantes se debe escribir en
mayúsculas y minúsculas, con la letra inicial de
cada palabra en mayúsculas. Aunque las constantes
estándar de Visual Basic no incluyen información de
tipo de datos y el alcance de una constante. Para los nombres de
constantes, se deben seguir las mismas normas que para
las variables. Por ejemplo:

Variables

Declarar todas las variables ahorra tiempo de programación porque reduce el número
de errores debidos a nombres de variables errados (por ejemplo,
aNombreUsuarioTmp frente a sNombreUsuarioTmp frente a
sNombreUsuarioTemp). En la ficha Editor del cuadro de
diálogo Opciones, active la opción
Declaración de variables requerida. La
instrucción Option Explicit requiere que declare
todas las variables del programa de Visual Basic.

Las variables deben llevar un prefijo para indicar su
tipo de datos. Opcionalmente, y en especial para programas largos,
el prefijo se puede ampliar para indicar el alcance de la
variable.

Tipos de datos de variables

Use los siguientes prefijos para indicar el tipo de
datos de una variable.

Nombres descriptivos de variables y
procedimientos

El cuerpo de un nombre de variable o procedimiento se
debe escribir en mayúsculas y minúsculas y debe
tener la longitud necesaria para describir su funcionalidad.
Además, los nombres de funciones deben empezar con un
verbo, como IniciarNombreMatriz o
CerrarDiálogo.

Para nombres que se usen con frecuencia o para
términos largos, se recomienda usar abreviaturas
estándar para que los nombres tengan una longitud
razonable. En general, los nombres de variables con más de
32 caracteres pueden ser difíciles de leer en pantalla
VGA.

Cuando se usen abreviaturas, hay que asegurarse de que
sean coherentes en toda la aplicación. Alterar
aleatoriamente entre Cnt y Contar dentro de un proyecto provoca
una confusión innecesaria.

Tipos definidos por el usuario

En un proyecto grande con muchos tipos definidos por el
usuario, suele ser útil dar a cada uno de estos tipos un
prefijo de tres caracteres. Si estos prefijos comienzan con "u",
será fácil reconocerlos cuando se esté
trabajando con tipos definidos por el usuario. Por ejemplo,
"ucli" se podría usar como prefijo para las variables de
un tipo Cliente definido
por el usuario.

Tipos Adicionales de Variables

Registros o Estructuras

Son tipos de datos definidos por el usuario. Es
básicamente un conjunto de varios datos de tipos
elementales agrupados bajo una denominación común.
Debe declararse en la sección Declaraciones
Generales
de un módulo. Se usa la palabra reservada
Type.

Sintaxis

Ejemplo

Arreglo de Variables

Un arreglo es una colección de elementos del
mismo tipo con un nombre común. Los elementos son
identificados por el nombre común y un
índice.

Sintaxis

Dim NombreDelArreglo(
Dimensión1, Dimensión2, … ) As
TipoDeDato

Visual Basic soporta hasta 60 dimensiones. Al declarar
las dimensiones se puede indicar un solo número, en cuyo
caso se entiende que dicha dimensión va de cero hasta el
número indicado. También es posible indicar
explícitamente el inicio y término de la
dimensión.

Ejemplo

Arreglos Dinámicos

Hay situaciones en las cuales se desea usar un arreglo,
pero al momento del diseño
no se sabe sus dimensiones. Para este tipo de situaciones Visual
Basic permite declaraciones de arreglos del siguiente
modo:

Dim x ( ) As Integer

Redim x (lstLista.ListCount)

Cuando se redimensiona un arreglo, los valores
almacenados anteriormente se pierden, porque cada elemento es
reinicializado con cero o null dependiendo del tipo de dato del
elemento. Si se desea preservar los valores debemos usar la
palabra clave Preserve en la sentencia de
redimensionamiento.

Redim Preserve x ( intNúmeroDeElementos
)

OPERADORES

Aritméticos

^ Exponenciación

* Multiplicación

/ División

División entera

Mod Residuo entero (Ejm: A Mod B)

+ Suma

  • Resta

& Concatenación de cadenas

Comparación

= Igual

<> Distinto

  • Menor que

<= Menor o igual

>= Mayor o igual

Like Compara dos cadenas

* Cero o más caracteres (Ejm: cad Like
"ma*")

? Cualquier carácter

# Cualquier dígito (0-9)

[lista] cualquier carácter en
lista

[¡lista] cualquier carácter que no esta
en lista

Is Usado para comparar dos variables de referencia a
objetos

Lógicos

And "Y" lógico

Or "O" lógico

Xor "O" Exclusivo

Not Negación

Parte 4: Estructuras de
Control

Estructuras de Control

Las estructuras de control le
permiten controlar el flujo de ejecución del programa.
Tenemos dos tipos de estructuras de control:

  • Estructuras de decisión
  • Estructuras de bucle

Estructuras de Decisión

Los procedimientos de Visual Basic pueden probar
condiciones y, dependiendo de los resultados, realizar diferentes
operaciones. Entre las estructuras de decisión que acepta
Visual Basic se incluyen las siguientes:

  • If…Then
  • If…Then…Else
  • Select Case

If…Then

Use la estructura
If…Then para ejecutar una o más instrucciones
basadas en una condición. Puede utilizar la sintaxis de
una línea o un bloque de varias líneas:

  • If condición Then
    Sentencias
  • If condición
    Then

Sentencias

End If

Condición normalmente es una
comparación, pero puede ser cualquier expresión que
dé como resultado un valor numérico. Visual Basic
interpreta este valor como True o False; un valor
numérico cero es False y se considera True
cualquier valor numérico distinto de cero. Si
condición es True, Visual Basic
ejecuta todas las sentencias que siguen a la palabra clave
Then. Puede utilizar sintaxis de una línea o de
varias líneas para ejecutar una sentencia basada en una
condición, los siguientes dos ejemplos son
equivalentes:

Observe que el formato de una única línea
de If…Then no utiliza la instrucción End
If.
Si se desea ejecutar más de una línea de
código cuando condición sea
True, debe utilizar la sintaxis de bloque de varias
líneas If…Then…End If.

If…Then…Else

Utilice un bloque If…The…Else para definir
varios bloques de sentencias, uno de los cuales se
ejecutará:

If condición1
Then

[bloque de sentencias 1]

[ElseIf condición2
Then

[bloque de sentencias 2]] …

[Else

[bloque de sentencias n]]

End If

Visual Basic evalúa primero
condición1. Si es False, Visual Basic
procede a evaluar condición2 y así
sucesivamente, hasta que encuentre una condición
True. Cuando encuentra una condición True,
Visual Basic ejecuta el bloque de instrucciones correspondientes
y después ejecuta el código que sigue a End
If.
Opcionalmente, puede incluir un bloque de instrucciones
Else, que Visual Basic ejecutará sin ninguna de las
condiciones es True.

If…Then…ElseIf es un caso especial de
If…Then…Else. Observe que puede tener cualquier
número de cláusula ElseIf o ninguna. Puede
incluir una cláusula Else sin tener en cuenta si
tiene o no cláusula ElseIf.

Por ejemplo, la aplicación podría realizar
distintas acciones
dependiendo del control en que se haya hecho clic de una matriz
de controles de menú:

Observe que siempre puede agregar más
cláusulas ElseIf a la estructura If…Then.
Sin embargo, esta sintaxis puede resultar tediosa de escribir
cuando cada ElseIf compara la misma expresión con
un valor distinto. Para estas situaciones, puede utilizar la
estructura de decisión Select Case.

Select Case

Visual Basic proporciona la estructura Select
Case
como alternativa a If…Then…Else para ejecutar
selectivamente un bloque de sentencias entre varios bloques. La
sentencia Select Case ofrece posibilidades similares a la
instrucción If…Then…Else, pero hace que el
código sea más legible cuando hay varias
opciones.

La estructura Select Case funciona con una
única expresión de prueba que se evalúa una
vez solamente, al principio de la estructura. Visual Basic
compara el resultado de esta expresión con los valores de
cada Case de la estructura. Si hay una coincidencia,
ejecuta el bloque de sentencias asociado a ese
Case:

Cada lista_expresiones es una lista de uno
a más valores. Si hay más de un valor en una lista,
se separan los valores con comas. Cada bloque de
sentencias
contiene cero o más instrucciones. Si
más de un Case coincide con la expresión de
prueba, sólo se ejecutará el bloque de
instrucciones asociado con la primera coincidencia. Visual Basic
ejecuta las instrucciones de la cláusula (opcional)
Case Else si ningún valor de la lista de
expresiones coincide con la expresión de
prueba.

Por ejemplo, suponga que agrega otro comando al
menú Edición en el ejemplo
If…Then…Else. Podría agregar otra
cláusula ElseIf o podría escribir la
función con Select Case:

Observe que la estructura Select Case
evalúa una expresión cada vez que al principio de
la estructura. Por el contrario, la estructura
If…Then…Else puede evaluar una expresión
diferente en cada sentencia ElseIf. Sólo puede
sustituir una esructura If…Then…Else con una
estructura Select Case si la intrucción If y
cada instrucción ElseIf evalúa la misma
expresión.

Otros Ejemplos

Estrucuras de Repetición

Las estructuras de repetición o bucle le permiten
ejecutar una o más líneas de código
repetidamente. Las estructuras de repetición que acepta
Visual Basic son:

  • Do…Loop
  • For…Next
  • For Each…Next

Do…Loop

Utilice el bucle Do para ejecutar un bloque de
sentencias un número indefinido de veces. Hay algunas
variantes en la sentencia Do…Loop, pero cada una
evalúa una condición numérica para
determinar si continúa la ejecución. Como ocurre
con If…Then, la condición debe ser
un valor o una expresión que dé como resultado
False (cero) o True (distinto de cero).

En el siguiente ejemplo de Do…Loop, las
sentencias se ejecutan siempre y cuando
condición sea True:

Do While
condición

Sentencias

Loop

Cuando Visual Basic ejecuta este bucle Do,
primero evalúa condición. Si
condición es False (cero), se salta
todas las sentencias. Si es True (distinto
de cero) Visual Basic ejecuta las sentencias,
vuelve a la instrucción Do While y prueba la
condición de nuevo.

Por tanto, el bucle se puede ejecutar cualquier
número de veces, siempre y cuando
condición sea distinta de cero o
True. Nunca se ejecutan las sentencias si
condición es False inicialmente. Por
ejemplo, este procedimiento cuenta las veces que se repite una
cadena destino dentro de otra cadena repitiendo el bucle tantas
veces como se encuentre la cadena de destino:

Si la cadena destino no está en la otra cadena,
InStr devuelve 0 y no se ejecuta el bucle.

Otra variante de la instrucción Do…Loop
ejecuta las sentencias primero y prueba la
condición después de cada
ejecución. Esta variación garantiza al menos una
ejecución de sentencias:

Do

Sentencias

Loop While condición

Hay otras dos variantes análogas a las dos
anteriores, excepto en que repiten el bucle siempre y cuando
condición sea False en vez de
True.

For…Next

Los bucles Do funcionan bien cuando no se sabe
cuántas veces se necesitará ejecutar las
sentencias del bucle. Sin embargo, cuando se sabe
que se va a ejecutar las sentencias un
número determinado de veces, es mejor elegir el bucle
For…Next. A diferencia del bucle Do, el bucle
For utiliza una variable llamada contador
que incrementa o reduce su valor en cada repetición del
bucle. La sintaxis es la siguiente:

For contador = iniciar To finalizar
[Step incremento]

Sentencias

Next [contador]

Los argumentos contador, iniciar, finalizar e
incremento son todos numéricos.

Nota: El argumento incremento
puede ser positivo o negativo. Si incremento es positivo,
iniciar debe ser menor o igual que finalizar o no
se ejecutarán las sentencias del bucle. Si
incremento es negativo, iniciar debe ser mayor o
igual que finalizar para que se ejecute el cuerpo del
bucle. Si no se establece Step, el valor predeterminado de
incremento es 1.
Al ejecutar el bucle For,
Visual Basic:

  1. Establece contador al mismo valor que
    iniciar.
  2. Comprueba si contador es mayor que
    finalizar. Si lo es, Visual Basic sale del bucle.
    (Si incremento es negativo, Visual Basic
    comprueba si contador es menor que
    finalizar.)
  3. Ejecuta las sentencias.
  4. Incrementa contador en 1 o en
    incremento, si se especificó.
  5. Repite los pasos 2 a 4.

Este código imprime los nombres de todas las
fuentes de
pantalla disponibles:

For Each…Next

El bucle For Each…Next es similar al bucle
For…Next, pero repite un grupo de
sentencia por cada elemento de una colección de objetos o
de una matriz en vez de repetir las sentencias un número
especificado de veces. Esto resulta especialmente útil si
no se sabe cuántos elementos hay en la colección.
He aquí la sintaxis del bucle For
Each…Next:

For Each elemento In
grupo

Sentencias

Next elemento

Por ejemplo, el siguiente procedimiento Sub abre
la base de datos
Biblio.mdb y agrega el nombre de cada tabla a un cuadro de
lista.

Tenga en cuenta las restricciones siguientes cuando
utilice For Each…Next:

  • Para las colecciones, elemento
    sólo puede ser una variable Variant, una variable
    Object genérica o un objeto mostrado en el
    Examinador de objetos.
  • Para las matrices, elemento sólo
    puede ser una variable Variant.
  • No puede utilizar For Each…Next con una
    matriz de tipos definidos por el usuario porque un
    Variant no puede contener un tipo definido por el
    usuario.

El siguiente ejemplo habilita todos los Cuadro de
Texto
del formulario:

Salida de una Estructura de Control

La instrucción Exit le permite salir
directamente de un bucle For o de un bucle Do. La
sintaxis de la sentencia Exit es sencilla: Exit For
puede aparecer tantas veces como sea necesario dentro de un bucle
For y Exit Do puede aparecer tantas veces como sea
necesario dentro de un bucle Do:

Exit For y Exit Do son muy
útiles ya que, algunas veces, resulta apropiado salir
inmediatamente de un bucle sin realizar más iteraciones o
sentencias dentro del bucle.

Cuando utilice la instrucción Exit para
salir de un bucle, el valor de la variable contador difiere,
dependiendo de cómo haya salido del bucle:

  • Cuando termina un bucle, la variable
    contador contiene el valor del límite
    superior más el paso.
  • Cuando sale de un bucle prematuramente, la variable
    contador conserva su valor según las
    reglas usuales del alcance.
  • Cuando sale antes del final de una colección,
    la variable contador contiene Nothing si
    se trata de un tipo de dato Object y Empty si es
    un tipo de dato Variant.

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter