Professional Documents
Culture Documents
Edicin 1.0
Prohibida la reproduccin total o parcial
Sin nuestro consentimiento
Derechos de copia reservados
www.LibrosDigitales.NET
Bajo esta modalidad de programacion interesa poco que inicie por un lado u otro,
ademas debe tener en cuenta que el usuario que haga uso de su aplicacin podra
navegar (moverse) libremente con el mouse y hacer click donde le de la gana.
Definiciones bsicas
Formulario
Ventana personalizable que sirve de interfaz entre el usuario y la aplicacin. En ella
se sita los controles.
Control
Representacin grfica de un objeto, como un cuadro de texto,
desplegable, un botn de comando, etc.
una lista
Objeto
Termino usado para describir al formulario y a los controles usados. En realidad
todo lo que observe incluyendo la pantalla es considerado como objeto.
Propiedad
Son las caractersticas del objeto, como el tamao, la ubicacin, el color.
Mtodo
Accin que se puede definir para un objeto, esta accin esta asociada a un conjunto
de instrucciones (procedimiento).
Evento
Accin provocada por el usuario, por el sistema operativo (un error por ejemplo) o
por la aplicacin. El evento esta asociado a un procedimiento.
Hay que tener en cuenta que los procedimientos de los eventos se ejecutan
automticamente, en cambio los procedimientos de los mtodos requieren de una
instruccin para ser ejecutadas.
Para abandonar Visual Basic haga Alt-F4 o ubique la opcion Salir dentro del menu
Archivo.
Barra de mens
Barra de herramientas
Caja de herramientas
Ventana de proyecto
Ventana de formulario
Ventana de propiedades
Barra de mens.
Visualiza las rdenes que se utilizan para desarrollar, probar y archivar una
aplicacin. Las opciones mas usada del menu son:
Archivo
Edicin
Ver
Ejecutar
Herramientas
Complementos
Ayuda.
Barra de herramientas.
Facilita el uso a las rdenes ms comunes.
Cortar
Copiar
Pegar
Buscar
Deshacer
Rehacer
Iniciar
Interrumpir
Terminar
Explorador
proyectos
Ventana
propiedades
Caja de herramientas
10
Ventana de proyecto.
Esta ventana contiene una lista de los elementos que compone un Proyecto, loc
cuales pueden ser formularios (.FRM), archivos de mdulo (.BAS) con
procedimientos que pueden ser accedidos desde cualquier otro procedimiento de la
aplicacin, mdulos de clase (.CLS) y ficheros de recursos (.RES) que contienen
bitmaps, cadenas de texto, o cualquier otra informacin que pueda ser cambiada
sin tener que reeditar el cdigo de la aplicacin.
El proyecto hace un seguimiento de dnde estn los archivos, para esto crea un
archivo con la extensin .VBP, este es el archivo de proyecto.
La ventana de proyecto contiene dos botones: Ver Formulario que visualiza el
formulario seleccionado y; Ver Cdigo que visualiza el cdigo del fichero
seleccionado.
11
Tenga cuidado de eliminar archivos fuera del entorno de VB, la aplicacin que use
este archivo al no encontrarlo producir un error en la ejecucin del proyecto
Ventana del formulario.
Es la ventana que da lugar a la interfaz de usuario. Estas actuan como
contenedoras
graficas de controles tales como botones, etiquetas, cuadros
combinados, etc. Existen tres tipos de formulario:
Formulario de interfaz simple: SDI (Single document interface)
Formulario de interfaz padre para multiples documentos: MDI (Parent multiple
document interface)
Formulario hijo MDI (Child MDI)
La interfaz de documento simple SDI no tiene padre ni hijos, es una simple ventana
donde se colocan los controles. La interfaz de multiples documentos MDI necesita
un formulario padre y uno o mas formularios hijos. Los formularios MDI se usan
para crear aplicaciones que puedan abrir mas de un documento a la vez. Cualquier
formulario MDI hijo puede ser contenida en un formulario MDI padre. Un ejemplo
de este tipo puede ser Word para Windows (se puede abrir varios documentos a la
vez)
Para crear una aplicacion MDI primero deber crear un formulario MDI padre,
opcion Formulario MDI nuevo del menu Archivo. Los formularios hijo puede ser
creadas como formularios normales y seleccionando luego la propiedad MDI Child
como True.
Durante el diseo ayuda mucho la presencia de unos puntos horizontales y
verticales que forman una rejilla la cual sera util para alinear los controles que se
sitan sobre el mismo. Esta rejilla desaparece en tiempo de ejecucin. Para
eliminarla
en
tiempo
de
diseo
se
acceder
a
la
opcin
Herramientas/Opciones/Ficha Entorno/Mostrar Cuadrcula.
12
Ventana de propiedades.
Especifica las propiedades de cada uno de los objetos para ser cambiadas en modo
de diseo. En cada momento mostrar las propiedades del objeto seleccionado en
el formulario. Est formada por dos partes: la lista desplegable de objetos que
visualiza el nombre del objeto seleccionado y, la lista de propiedades del objeto
seleccionado.
Las propiedades puede variar segn el tipo de control. Por ejemplo una etiqueta
tiene la propiedad Caption, la cual esta ausente para un cuadro de texto. No todas
las propiedades de un control pueden cambiarse en tiempo de diseo. Por ejemplo
la propiedad ActiveForm no es accesible en modo diseo y es de solo lectura en
tiempo de Ejecucin. Asi mismo hay propiedades como Name que en tiempo de
Ejecucin es de solo lectura y que puede variarse solo en tiempo de diseo.
13
Ventana de cdigo
Se activa cuando se hace doble click sobre un control, esta ventana muestra dos
listas en la parte superior, en una aparece el nombre del objeto y en la otra el
nombre del evento. Debajo de estas se define el procedimiento, este editor verifica
automticamente la sintaxis de cada instruccin.
14
J Antes de empezar a construir su programa, es necesario que primero lo tenga planeado. Deber
entender las caractersticas de los objetos contenidos en las diferentes pantallas, todo esto para que la
interfaz sea amigable y funcional.
15
Accion
Se ubica el primer elemento que comience con la letra.
Ir al siguiente elemento
Ir al anterior elemento
Ir al ultimo elemento
Ir al primer elemento
Activa la ventana de propiedades
16
KeyUp
LinkClose
LinkError
LinkExecute
LinkNotify
LinkOpen
Load
LostFocus
MouseDown
MouseMove
MouseUp
Paint
17
PathChange
PatternChange
QueryUnload
Reposition
Resize
RowColChange
Scroll
SelChange
Timer
Unload
Updated
Validate
o, ubique la opcin
End Sub
Ampliaremos este ejemplo, si luego de haber hecho click en el botn Plsame se
modifica el contenido del cuadro de texto, haremos que el botn muestre el titulo
"Restaurar mensaje".
Cuando se modifica el contenido o valor de un objeto, en nuestro caso el cuadro de
texto, se ejecuta o dispara el evento Change, entonces definimos:
18
J Mas adelante se explicara con mas detalle una forma practica de distribuir las aplicaciones.
19
Nomenclatura a seguir
Un buen estilo para programar deber tener una estructura de cdigo fcil de
entender, no solo para otros desarrolladores sino tambin para si mismo.
Control
Check box
Combo box
Command button
Form
Grid
Horizontal Scroll Bar
Image
Label
List Box
Menu
Option Button
Picture Box
Text Box
Timer
Vertical Scroll Bar
Prefijo
chk
cbo
cmd
frm
grd
hsb
img
lbl
lst
mnu
opt
pic
txt
tmr
vsb
Ejemplo
chkSoloEscritura
cboLenguaje
cmdCancelar
frmPrincipal
grdCantidades
hsbColor
imgBitMap
lblAyuda
lstCdigoColor
mnuAbrirArchivo
optNegritaBold
picMemoria
txtEntrada
tmrIniciaAlarma
vsbRango
20
Mantenga la identacin
Cuando deba anidar un grupo de instrucciones dentro de otra, es bueno que las
instrucciones anidadas se encuentren adistanciadas respecto a la primera orden, no
le recomiendo usar la barra espaciadora sino en su lugar un espacio de tabulacin,
esto se llama identar.
La identacin es usada para tener una mejor visibilidad en el diseo de un
programa. Observe el ejemplo siguiente:
For nDia = 1 To 7
Select Case nDia
Case 1
Print "Domingo"
Case 2
Print "Lunes"
Case 3
Print "Martes"
Case 4
Print "Mircoles"
Case 5
Print "Jueves"
Case 6
Print "Viernes"
Case 7
Print "Sbado"
End Select
Next nDia
21
Documente el Cdigo
Coviene que documente aquellas zonas donde haya complejidad en el cdigo.
Hay dos formas de documentar cdigo en VB:
Puede usar el comando REM la cual reserva toda la lnea como comentario.
Ejemplo:
22
Construya Procedimientos
Toda la complejidad de un proceso desdblelo en pequeos procesos. A las finales
cada proceso formar un procedimiento, Por tanto procure que sus procedimientos
realicen tareas simples. Si un procedimiento maneja muchas tareas, lo mas
probable es que sea difcil de entender y que pueda provocar fcilmente un error.
Use Constantes
Algunas propiedades se especifican a travs de valores numricos, por ejemplo:
Check1.Value = 1
Check1.Value = vbChecked
23
nPrecio = txtPrecio.Text
nColor = txtPrecio.BackColor
luego, dicho color es asociado al objeto frmEjemplo
frmEjemplo.BackColor = nColor
24
El Formulario
El formulario es la ventana que sirve de interfaz entre la aplicacin y el usuario.
Presenta las caractersticas de cualquier ventana Windows.
25
Valor
0 - None
Descripcin
vbFixedSingle
1 - Fixed Single
VbSizable
2 - Sizeable
VbFixedDialog
3 - Fixed Dialog
VbFixedTool
Window
4 - Fixed
ToolWindow
VbSizableToolWindow
5 - Sizeable
ToolWindow
Caption
Asigna un ttulo al formulario2, esta se muestra en el borde superior
ControlBox
En el estado True se muestra los botones de control, es accesible en tiempo de
ejecucin.
Enabled
En el estado False el formulario queda deshabilitado, por consecuencia no podr
responder a eventos.
Font
Determina el tipo de letra, atributos, etc. para impresin. El texto ya escrito no se
ver afectado por un cambio en estas propiedades, pero s el texto impreso
posteriormente.
Height, Width
Determinan el ancho y el alto del formulario. Se miden en Twips Determinan el
tamao del formulario cuando se imprima, no cuando sea visualizado en pantalla. A
2
26
Valor
0
1
2
Descripcin
Tamao normal (por defecto)
Minimizar hacia un icono
Expandir el formulario al tamao de la ventana
27
Ejemplo
Vamos a crear un formulario que solicite el ingreso de una contrasea, en el
formulario situe un cuadro de texto y dos botones de comando, luego proceda a
definir las propiedades siguientes:
Objeto
Form1
Label1
Text1
Command1
Command2
Propiedad
Name
Caption
Name
Caption
Name
PassWordChar
Value
Enabled
Name
Default
Name
Cancel
Valor
frmClave
Validando los datos del Usuario
lblClave
Contrasea
txtClave
*
(vacio)
False
cmdAceptar
True
cmdCancelar
True
En las ventanas Windows habr notado que la tecla Enter y Esc responden por
omisin a la eleccin de los botones Aceptar y Cancelar o Iniciar y Salir. Podemos
hacer lo mismo mediante las propiedades Default y Cancel de los botones de
comando. Deber asignar Default = True para el botn Aceptar y Cancel = True
para el botn Cancelar en tiempo de diseo.
Veamos las especificaciones en tiempo de Ejecucin:
El Botn cmdAceptar en un principio esta deshabilitado, ni bien se ingrese una letra
en el cuadro de texto txtClave, se podr habilitar, esta accin la hacemos mediante
el evento Change de txtClave:
28
29
J No olvide dejar sus comentarios en www.LibrosDigitales.NET, son servir para preparar la segunda
edicin.
30
Hide
Oculta el formulario de la pantalla pero no lo descarga de memoria.
Load
Carga a memoria el formulario, pero no lo visualiza
31
Ejemplo:
Agregue un nuevo formulario a su proyecto.
La secuencia es ir al men Proyecto y luego hacer click en la opcin Agregar
Formulario.
32
En este nuevo formulario complete los datos que se pide en las lineas punteadas
33
Option Explicit
Private Sub Form_KeyPress(KeyAscii As Integer)
Unload Me
End Sub
Private Sub Form_Load()
lblVersion.Caption = "Versin " & App.Major & "." & _
App.Minor & "." & App.Revision
lblProductName.Caption = App.Title
End Sub
Private Sub Frame1_Click()
Unload Me
End Sub
El cual indica que cuando se haga click sobre el formulario, este se ha de cerrar.
Ahora nuestro proyecto ya tiene dos formularios: frmClave y frmSplash.
Si intenta ejecutar notar que se muestra primero frmClave.
Vamos a cambiar el orden primero deber de mostrarse el formulario de
presentacion, es decir frmSplash.
Vaya al menu Propiedades y elija la opcion Propiedades de Proyecto, en el
cuadro de dialogo ubique la pagina General, en ella cambie a frmSplash en la lista
Objeto Inicial:
34
Option Explicit
Private Sub Form_KeyPress(KeyAscii As Integer)
Unload Me
FrmClave.Show
End Sub
35
Objeto
Timer1
Propiedad
Name
Enabled
Interval
Valor
tmrVer
True
2000
Objeto
Form1
OLE1
Label1
Command1
Propiedad
Name
Caption
Name
Name
Caption
Name
Caption
Cancel
Valor
frmMagic
A King of magic...
oleMagic
lblMagic
Haz doble click sobre la imagen
cmdCerrar
Cerrar
True
36
37
38
39
MsgBox()
Muestra una ventana para la visualizacion de algun resultado.
nValor = MsgBox("Mensaje ", Tipo, "Ttulo")
Aqu tipo es un numero que indica el icono y los botones que aparecern, la
tecnologia IntelliSense con la cual est dotada VB hace que mientras se anote la
funcion automaticamente aparezca las constantes de tipo.
nValor tomara un valor numerico segn el tipo de botn que se haya definido para
MsgBox(), una forma facil de manejarlo es a traves de constantes
Constante
vbOk
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
nValor
1
2
3
4
5
6
7
Botn pulsado
Aceptar
Cancelar
Anular
Reintentar
Ignorar
Si
No
40
Ejemplo
Iremos a crear una aplicacin que pregunte al usuario su nombre y luego le d la
bienvenida.
Coloque en un formulario un botn de comando y un control imagen, luego defina
las propiedades:
Objeto
Form1
Image1
Command1
Propiedad
Name
Caption
Name
Picture
Stretch
Name
Caption
Cancel
Valor
frmSaludo
(vacio)
imgClaudia
Claudia.GIF
True
cmdCerrar
Cerrar
True
Ahora haga doble click en el formulario y defina el evento Load. Aqu solicitamos el
nombre del usuario a traves del comando InputBox y la guardamos en la variable
cNombre, el cual luego lo pasamos como titulo del formulario.
41
Al ejecutar se obtiene:
42
Variables
Podriamos representar una variable como una posicion en memoria a la cual
podemos llegar mediante un identificador y donde podemos guardar un dato por un
determinado tiempo, cuando se requiera podr tomarse, modificarse y volverse a
guardar.
Resumiendo diremos que las variables son estructura de datos usados para
almacenar informacin. Hay dos tipos de informacin que puede ser almacenada:
nmeros y texto, antes de usar una variable, deber primero definirla
Dim nombre_de_variable As Tipo
Ejemplo:
43
Tipos de variable
Se dispone de los siguientes tipos de variable:
Tipo
Integer
(Entero)
Descripcion
Guardan valores numricos enteros relativamente
pequeos, el espacio que ocupa cada variable es de 2
bytes
Long
(Entero largo)
Single
(Simple precision)
Double
(Doble precision)
Currency
(Monetario)
String
(Cadena)
Date
(Fecha)
Byte
Boolean
Variant
44
Rango permitido
De 0 a 255
Integer
-32,768 a 32,767
Long
-2,147,483,648 a 2,147,483,647
Single
-3.402823E38 a -1.401298E-45
1.401298E-45 a 3.402823E38
Double
-1.79769313486232D308 a -4.94065645841247D-324
4.94065645841247D-324 a 1.79769313486232D308
Currency
String
-922337203685477.5808 a 922337203685477.5807
Con tamao variable 10 bytes + 1 byte/char
Con tamao fijo, 1 byte/char
(0 hasta 65400 caracteres)
Date
Variant
Una vez definida la variable, le puede asignar un valor. Para esto se usa el operador
' = '.
Ejemplo:
Las operaciones que se efectuan con variables, se deben hacer entre variables del
mismo tipo, por ejemplo:
45
Si no define la variable por defecto asumir el tipo Variant (evite usar este tipo de
variable), analice el siguiente caso:
var1 = 8
var2 = var1 + 6
Print var2
Espera el error Type Mismatch?, pues no la respuesta es 14, hay un hecho curioso
en las variables del tipo Variant, antes de realizar la suma, VB evalua el contenido
de var1, a pesar de estar entre comillas lo convierte a numrico.
var1 = 8
var2 = var1 & 6
Print var2
El simbolo & se usa para unir dos cadenas, en la secuencia anterior var1 es una
variable numrica, al igual que en el ejemplo anterior se esperaria un error del tipo
Type Mismatch, pero termina arrojando el resultado 86, es decir var1 lo ha
convertido a cadena.
X
X
X
Y
=
=
=
=
"ABC" + "DE"
"ABC" & "DE"
12 + 3
12 & 3
X="ABCDE"
X="ABCDE"
X=15
X="123"
46
Option Explicit
Para evitar posibles errores a consecuencia de variables no declaradas (es decir
Variant), podemos obligarnos a definirlas. Vaya al menu Herramientas, luego a
Opciones y marque la casilla Requerir declaracion de variables.
Ahora en cada modulo, (FRM, BAS o CLS) se aadir al principio la instruccin
Option Explicit.
Procure usar siempre Option Explicit en cada mdulo. Option Explicit localiza los
nombres de variables incorrectos de forma automtica.
En cuanto a la definicion de las variables, se mencion que se deba usar la
instruccin DIM, pero no es la unica forma, tambien puede usar:
47
Dim
Dim
Dim
Dim
Dim
Dim
Dim
var1
var2
var3
var4
var5
var6
var7
As
As
As
As
As
As
As
Variant
Integer
Long
Single
Double
String
Currency
Dim
Dim
Dim
Dim
Dim
Dim
Dim
var1
var2%
var3&
var4!
var5#
var6$
var7@
Puede declarar mas de una variable con una sola instruccin Dim, por ejemplo:
De que tipo son las variables valor1, valor2 y valor3, en la siguiente linea?
Si afirma que todas son de tipo Integer, est en un error, pues las dos primeras
variables son de tipo Variant y la ultima Integer, asi que hay que tener mucho
cuidado. Finalmente si elige un tipo de variable incorrecto y luego almacena un
valor que excede el rango permitido, se presentar un error de desbordamiento,
por ejemplo:
48
ya se sabe que estas variables por omision son del tipo Variant, para simplificar el
cdigo, se puede indicar al principio del modulo (en Declaraciones Generales) que
todas las variables que se definan sin tipo, pertenezcan a uno por defecto3, esto se
hace a traves de la instruccin DefXXX.
Los formatos de las distintas instrucciones DefXXX son:
DefInt
DefLng
DefSng
DefDbl
DefCur
DefStr
DefVal
DefBool
DefByte
DefDate
rango
rango
rango
rango
rango
rango
rango
rango
rango
rango
de
de
de
de
de
de
de
de
de
de
letra
letra
letra
letra
letra
letra
letra
letra
letra
letra
Enteros
Enteros largos
Reales de simple precision
Reales de doble precision
Moneda
Cadenas
Variantes
Booleanas
Byte
Fecha
Por ejemplo las variables nPoblacion, nVarones y nMujeres tienen algo en comun,
todas empiezan con la letra n, entonces en Declaraciones Generales anote:
DefLng N
DefStr A-D
Se asumir por defecto que todas las variables que empiezan con la letra n seran
del tipo Entero largo, excepto nSalario que es Monetario.
Excepto el Variant
49
DefStr A-D
Indica que todas las variable que empiezan con las letras A, B, C o D seran del tipo
Cadena.
A continuacion se muestra la estructura completa del ejemplo:
50
51
Mdulo
Global
52
Despus de dar clic varias veces al botn el valor nunca ser arriba de uno a pesar
de que el valor de la variable se incrementa en uno cada vez. Esto es porque cada
vez que el procedimiento es llamado, la variable se define, existe y al finalizar la
Ejecucin del prodimiento muere. Para que sto no suceda as, podemos sustituir
Static en lugar de Dim:
La nueva variable esttica es una variable de alcance local, si algun procedimiento trata de acceder esta variable no
prodr hacerlo
53
Constantes
Hay ciertos valores que no necesariamente cambian en una aplicacin como el
contenido de las variables, datos como por ejemplo el IGV, el tipo de cambio, el
valor de PI. En lugar de anotar:
nRadio = 10
Print Perimetro circulo ; 2*nRadio*3.1416
Const PI = 3.1416
nRadio = 10
Print Perimetro circulo ; 2*nRadio*PI
a la
Como las variables las constantes tambin tiene reglas de alcance. Hay constantes
globales que pueden ser accesadas por cualquier mdulo o cualquier formulario del
proyecto, las constantes de mdulo solo son accesadas por el formulario que los
contiene, y las contantes locales son accesadas solamente por el objeto actual o por
el procedimiento o funcin.
54
Mdulo
Global
55
Arreglos (arrays)
Un arreglo, representa un conjunto de posiciones consecutivas en memoria
identificadas con un mismo nombre a las que se puede acceder a traves de un
subindice, cada posicion cumple la misma funcion que una variable: almacenar un
dato.
Podriamos decir tambien que un arreglo si es unidimensional es la representacion
de un vector y si es bidimensional la de una matriz.
aAmigos(0) = Guino
aAmigos(1)= Dario
aAmigos(2) = Cesar
Print aAmigos(1)
Imprime Dario
56
Command1.Caption = aAmigos(1)
Para quienes estamos acostumbrados a iniciar la cuenta a partir del nmero uno,
puede que nos desencaje el cero como inicial, para corregirlo podemos usar la
instruccin Option Base 1, de esa forma forzamos a empezar con 1. Asi
Print aAmigos(1)
Imprimir Guino
57
Arreglos Dinmicos
Podemos crear arreglos tantas veces lo necesitemos, pero en ciertos momentos es
necesario cambiar el tamao del arreglo en una aplicacin. Para hacer esto
podemos usar un arreglo 'dnamico'. Primero el arreglo puede ser declarado en la
misma forma, pero sin el nmero de elementos.
Como ejemplo vamos a crear un arreglo que contenga los distritos de Lima:
ReDim aDistritos(5)
aDistritos(0) = Lince
aDistritos(1) = San Borja
aDistritos(2) = Miraflores
aDistritos(3) = Barraco
aDistritos(4) = Surco
58
UBound
Por ejemplo
J No olvide visitar siempre www.LibrosDigitales.NET, recomiende a sus amistades nuestros libros, son
GRATIS
59
Arreglo de Controles
Un Arreglo de Controles es un grupo de controles que comparten el mismo nombre
y tipo. A su vez, comparten los mismos procedimientos de eventos, pero son
controles fsicamente separados y cada uno posee su propio conjunto de
propiedades. Un arreglo de controles tiene al menos un elemento y no puede
exceder de 254. Para crear un arreglo de controles es suficiente con asignar el
mismo nombre a los controles (propiedad Name) en la fase de diseo, o bien
asignar un valor a la propiedad Index de un control. En el ltimo caso se genera un
arreglo de un solo elemento, lo cual es til cuando se quieren crear controles en
tiempo de ejecucin. Cuando Visual Basic crea un arreglo de controles, asigna por
defecto los ndices 0, 1, ..., los cuales pueden modificarse a voluntad del usuario
cambiando el valor de la propiedad Index. Esta operacin slo puede hacerse
durante el diseo.
Un pequeo ejemplo: en un formulario se situar tres botones de comandos, a los
tres pngale de nombre cmdBotones, claro con ttulos diferentes: Aceptar,.
Cancelar y Ayuda.
Si hace doble click sobre uno de ellos, se abrir la ventana de cdigo, debemos
usar el parmetro Index5, para averiguar cual de los tres botones de puls. Debe
tener presente que el cdigo creado es compartido por cada uno de los elementos
del arreglo de controles.
de
controles
60
puede
referenciarse
escribiendo
61
If k < 0 Then
Negativo = True
k = Abs(k)
Else
Negativo = False
End If
62
63
Instrucciones IF anidadas
Es posible anidar tantas instrucciones IF como se quiera, pero conviene recordar
que si alguien al leer un programa necesita profundizar en demasiados niveles de
IF antes de llegar al nivel ms elemental, podra perder la pista del funcionamiento
del programa y abandonarlo antes de tener la oportunidad de tener la oportunidad
de volver hacia los niveles superiores. Si la nica razn del anidamiento mltiple de
instrucciones IF es elegir una alternativa de entre varias, sera mucho mejor utilizar
la instruccin SELECT CASE. La forma de una estructura de este tipo sera algo
como:
IF <condicin 1> THEN
IF <condicin 2> THEN
IF <condicin 3> THEN
IF <condicin 4> THEN
<instruccin>
ENDIF
ENDIF
ENDIF
ENDIF
Aqu tenemos otro caso de anidacin:
IF <condicin 1> THEN
<instruccin 1>
ELSE
IF <condicin 2> THEN
<instruccin 2>
ELSE
IF <condicin 3> THEN
<instruccin 3>
ELSE
<instruccin 4>
ENDIF
ENDIF
ENDIF
64
Respecto a la condicin
Los operadores que puede usar para elaborar la condicin son:
>
<
=
<=
>=
<>
Like
Mayor que
Menor que
Igual a
Inferior o igual a
Superior o igual a
Distinto a
Como el modelo de cadena propuesto
65
Pero, hay una forma con la que ya no tiene que preocuparse de como se ingrese el
dato, es indicando: Option Compare Text al principio del mdulo en Declaraciones
Generales.
De modo que:
66
Es importante que tenga en cuenta que slo se activa la primera clausula Case
cuya condicin se haga verdadera.
67
Case Is < A
Print El carcter no es una letra
Case 18 To 60
Print Bienvenido al club
Por ltimo la estructura de control Select Case permite combinar en una linea
varias comprobaciones, por ejemplo
68
69
For k = 1 To 10
If k > 3
k = 1
End If
? k
Next
For k = 1 To 10
If k > 3
GoTo Salir
End If
? k
Next
Salir:
70
For k = 1 To 10
If k > 3
Exit For
EndIf
? k
Next
71
Visual Basic ofrece tres posibilidades para realizar este tipo de estructura.
72
k = 20
While K <= 100
j = Sqrt(k) ;
Print La raz cuadrada de & k & es & j
k = k + 2
Wend
73
Num = 0
Do While Num < 5
Num = Num + 1
If Num = 3 Exit Do
Loop
Print Num
'Resultado=5
[Instrucciones]
[EXIT DO]
[Instrucciones]
DO [{WHILE/UNTIL} Condicion]
La diferencia entre poner las clasulas While/Until con el Do o con el Loop es que
en el primer caso puede que no se ejecuten nunca las instrucciones del bucle y en
el segundo caso se ejecutan al menos una vez. Una lista de las races de los 4
primeros nmeros:
Num = 1
Do
Print Sqrt(Num)
Num = Num + 1
Loop While Num < 5
74
Prxima Entrega
Edicin 1.1
Dentro de una semana
Prohibida la reproduccin total o parcial
Sin nuestro consentimiento
Derechos de copia reservados
www.LibrosDigitales.NET
75