Sie sind auf Seite 1von 54

1

Visual Basic 6.0











Nombre:

Horario: Tel:


















2
Visual Basic 6.0





Visual Basic 6.0



Visual Basic es un lenguaje de programacin dirigido por eventos, desarrollado por Alan
Cooper para Microsoft. Este lenguaje de programacin es un dialecto de BASIC, con
importantes agregados.
EJECUTANDO VISUAL BASIC

En seguida se presentar una ventana similar a la figura siguiente:


Indicar el tipo de proyecto que desea crear (para nuestro caso seleccionar EXE estndar) y
dar click sobre el botn Abrir.



En ese instante se presentar el Entorno Integrado de Desarrollo (IDE) de Visual Basic:









3
Visual Basic 6.0



Entorno de desarrollo

El entorno de desarrollo es muy similar al de otros lenguajes. Realizando una instalacin tpica del
producto, las caractersticas bsicas se presentan de la siguiente forma:

Barra de mens

Presenta las rdenes que se utilizan para desarrollar una aplicacin. Las opciones
ms utilizadas son: Archivo, Edicin, Ver, Ventana y Ayuda. Se proporcionan otros mens
para tener acceso a funciones especficas de programacin como Proyecto, Formato o
Depuracin.

Barra de herramientas

Facilita el acceso rpido a las rdenes ms comnmente utilizadas. Omitimos el
significado de cada botn porque le ser mostrado al pasar el puntero del ratn sobre cada
uno de ellos.



Puede visualizar otras barras de herramientas ejecutando la opcin Barra de
herramientas del Men Ver.

Cuadro de herramientas

Proporciona un conjunto de herramientas que permiten disear la interfaz grfica de
usuario.















4
Visual Basic 6.0









Icono

Descripcin


Puntero


Cuadro de imagen


Etiqueta


Cuadro de texto


Marco


Botn de comando


Casilla de verificacin


Botn de opcin


Cuadro combinado


Cuadro de lista


Barra de desplazamiento horizontal


Barra de desplazamiento vertical


Cronmetro


Cuadro de lista de unidades


Cuadro de lista de directorios


Cuadro de lista de archivos


Formas


Lneas


Imagen


Contenedor OLE








5
Visual Basic 6.0



Para utilizar algn objeto simplemente debe hacer doble click sobre el icono
correspondiente, luego puede cambiar su posicin y sus dimensiones.

Diseador de formularios

Es la ventana sobre la que colocaremos los objetos (controles) de la interfaz de
usuario.



Explorador de proyectos

Contiene el conjunto de archivos que constituyen la aplicacin o proyecto.



Ventana de propiedades

Como veremos ms adelante, cada objeto lleva asociado un conjunto de
propiedades. Para ver o especificar los valores de las propiedades de los objetos,
utilizaremos la ventana de propiedades.













6
Visual Basic 6.0








Posicin del formulario

Esta ventana le permite especificar la posicin de los formularios de la aplicacin.



Ventana de cdigo

Se presenta cuando se hace doble click sobre un objeto que se encuentra en el
Diseador de formularios. Esta ventana muestra dos cuadros combinados (combos) en la
parte superior, en una aparece el nombre del objeto (izquierda) y en la otra el nombre del
evento (derecha).



MI PRIMERA APLICACIN

Hay tres pasos principales para crear una aplicacin en Visual Basic:

Crear la interfaz.
Establecer propiedades.
Escribir el cdigo.

Para ver como se realiza esto, siga los pasos del siguiente ejemplo para crear una
aplicacin sencilla que consiste en un formulario y un botn de comando. Cuando haga
click en el botn de comando aparecer el mensaje Visual Basic es fcil en un cuadro de
dilogo predefinido.








7
Visual Basic 6.0








Creacin de la interfaz

Para el desarrollo del presente ejemplo proceda a crear una nueva aplicacin. En
seguida aadir un botn de comando al formulario, para ello en el Cuadro de herramientas,
dar doble click sobre el control deseado, tal como se indica en la figura siguiente:



La apariencia de la interfaz debe ser similar a la figura mostrada:



Estableciendo las propiedades

Para ver las propiedades de un objeto, simplemente debe seleccionarlo y pulsar la
tecla F4. Por ejemplo la figura siguiente muestra las propiedades del botn de comando y
podemos ver que la propiedad Caption tiene el valor Command1.



Puede cambiar el valor de cualquier propiedad seleccionndolo de la ventana
anterior y simplemente modificando su valor, por ejemplo para el caso anterior establezca
el valor de la propiedad Caption de Command1 a Haga click aqu.








8
Visual Basic 6.0







De manera similar proceda cambiar la propiedad Caption del formulario a Mi
primera aplicacin. La apariencia de la interfaz debe ser similar a la figura mostrada:



Escribiendo el cdigo

Para ingresar el cdigo a la aplicacin debe dar doble clic sobre el control al cual
asociaremos dicho cdigo. Para nuestro caso dar doble clic sobre el botn de comando e
ingresar el cdigo que se indica a continuacin:



Para guardar la aplicacin que acaba de crear, seleccione la opcin Guardar
Proyecto del Men Archivo.

Bueno, ahora slo falta que ejecute su aplicacin. Para ello
simplemente debe pulsar la tecla F5. El resultado debe ser similar al
siguiente:








9
Visual Basic 6.0


LOS OBJETOS

Visual Basic se basa en la programacin orientada a objetos (POO), la cual es una forma de
programacin que utiliza objetos (similares a los objetos del mundo real) para la solucin
de problemas. La POO permite descomponer un problema en bloques relacionados. Cada
bloque pasa a ser un objeto auto contenido que contiene sus propios datos e instrucciones.
De esta manera, la complejidad se reduce y se pueden realizar programas ms largos de una
manera sencilla.

MECANISMOS BSICOS DE LA POO

Los mecanismos bsicos de la programacin orientada a objetos son:
Objetos
Propiedades
Mtodos
Eventos
Mensajes
Clases



Objetos

Un objeto es una entidad que tiene atributos particulares (propiedades) y unas
formas de operar sobre ellos (mtodos). Por tanto, un objeto contiene variables que
especifican su estado y operaciones que definen su comportamiento.

Son ejemplos de objetos: formularios, botones de comando, cuadros de texto,
etiquetas, etc.

Propiedades

Las propiedades representan las caractersticas del objeto. Hay propiedades
particulares, como Caption que la poseen los botones de comando por ejemplo, y genricas
como Name que la poseen todos lo objetos.

Mtodos

Los mtodos son procedimientos asociados a un objeto. Se ejecutan como respuesta
a un evento, por ejemplo al dar click en un botn de comando. Tambin pueden ser
invocados explcitamente en el programa.

Eventos

Un evento es la capacidad de un objeto de reaccionar cuando ocurre una determinada accin (accin
y reaccin). Como respuesta a un evento se enva un mensaje y se ejecuta un determinado mtodo
(procedimiento).








10
Visual Basic 6.0


Mensajes

Un mensaje es una llamada a un mtodo (procedimiento), de tal forma que cuando
un objeto recibe un mensaje la respuesta a ese mensaje es ejecutar el procedimiento
asociado.

Cuando se ejecuta un programa orientado a objetos, los objetos estn
constantemente recibiendo, interpretando y respondiendo a mensajes de otros objetos.

Clases

Una clase es una descripcin para producir objetos de esa clase o tipo. Es decir se
trata de una generalizacin de un tipo especfico de objetos. En otras palabras, un objeto es
una variable del tipo definido por una clase. Por ejemplo, piense en un molde para hacer
pasteles, el molde es la clase y los pasteles los objetos.

LOS OBJETOS DE VISUAL BASIC

Los objetos de Visual Basic estn divididos en dos tipos: controles y contenedores.

Los controles son un medio grfico que permiten a los usuarios interactuar con la
aplicacin para la manipulacin de datos y ejecucin de tareas. Son ejemplo de controles:
etiquetas, cuadros de texto, botones de comando, casillas de verificacin, botones de
opcin, cuadros de lista, cuadros combinados, etc.

Los contenedores son objetos que pueden incluir otros objetos y permiten el acceso
a los objetos que contienen. Entre los ms utilizados tenemos a los formularios, marcos y
cuadrculas.

El formulario ms los controles constituyen la interfaz de la aplicacin.




REFERENCIANDO OBJETOS

La sintaxis para referenciar objetos es la siguiente:
OBJETO.PROPIEDAD = VALOR
Por ejemplo, para establecer el ttulo de un formulario a Visual Basic es fcil, la
orden sera:

Form1.Caption = Visual Basic es fcil








11
Visual Basic 6.0


LOS EVENTOS

Cada objeto responde a un conjunto de eventos. Como respuesta a un evento se
ejecuta un determinado procedimiento. Los procedimientos asociados a un evento
presentan la forma:

Private Sub OBJETO_EVENTO()
SENTENCIAS
End Sub

Para aclarar este concepto desarrollaremos la siguiente aplicacin, la cual consiste
en un formulario, un cuadro de texto y un botn de comando. El usuario debe ingresar un
mensaje en el cuadro de texto y al pulsar el botn de comando, el mensaje recientemente
ingresado, se coloca como ttulo del formulario.








Para ello proceda a construir la interfaz mostrada en la figura anterior. Luego, dar
doble click sobre el botn de comando e ingrese el siguiente cdigo:

Private Sub Command1_Click()
Form1.Caption = Text1.Text
End Sub




Seguidamente guarde y proceda ejecutar su aplicacin. Como puede verificar, el
evento Click se dispara cada vez que el usuario pulsa (hace click) sobre un control.
















































CONVENCIN DE NOMBRES PARA LOS OBJETOS
Para dar nombre a los objetos - consiste en utilizar ciertos prefijos, los cuales indicaran el
tipo de objeto del que se trata.


Icono
Prefijo

(Abreviatura)

Nombre (Objeto) Ingles

Frm formulario Form

pic Cuadro de imagen Picture box

Lbl Etiqueta Label

txt Cuadro de texto Texbox

Fra Marco Frame

Cmd Botn de comando Command button

Chk Casilla de verificacin Check box

Opt Botn de opcin Option button

Cbo Cuadro combinado Combo y drop-list box

Lst Cuadro de lista list

Hs Barra de desplazamiento horizontal Horizontal scroll bar

Vs Barra de desplazamiento vertical Vertical scroll bar

Tim
Cronmetro
timer

Drv Cuadro de lista de unidades Drive list box

dir Cuadro de lista de directorios Dir list box

fil Cuadro de lista de archivos File list box

shp Formas Shape

lin Lneas line

img Imagen image

Ole Contenedor OLE


Visual Basic 6.0
12









13
Visual Basic 6.0


EL LENGUAJE

El cdigo de Visual Basic se almacena en mdulos, donde cada mdulo est subdividido en
distintas secciones, una para cada objeto del mdulo. Cada seccin de cdigo puede
contener uno o ms procedimientos, formados por declaraciones de constantes y variables,
expresiones, sentencias de control y llamadas a procedimientos y/o funciones

TIPOS DE DATOS

Los datos con los que trabajaremos probablemente incluyan informacin
relacionada con nmeros, dinero, nombres, descripciones, fechas, etc. Cada dato
corresponde a un determinado tipo, es decir, pertenece a una categora de datos que se
manipulan de maneras similares.


Tipo

Descripcin

Rango
Integer Entero (2 bytes) -32768 a 32767
Long Entero largo (4 bytes) -2147483648 a
2147483647
Single Punto flotante de simple precisin (4 bytes) -3.40E+38 a
3.40E+38
Double Punto flotante de doble precisin (8 bytes) -1.79D+308 a
1.79D+308
Currency Monetario (8 bytes) +/-922337203685477.5807
Byte Carcter (1 byte) 0 a 255
String Cadena de caracteres (1 byte por carcter) Aproximadamente hasta 64K
(65400 caracteres)
Boolean Lgico (2 bytes) True o False
Date Fecha/Hora (8 bytes) 01/ENERO/100 a
31/DICIEMBRE/9999
Variant
(por omisin)
Cualquier tipo de dato Con nmeros hasta el
intervalo de un tipo Double.
Con caracteres 22 bytes + 1
byte por carcter








14
Visual Basic 6.0












IDENTIFICADORES:

Los identificadores son nombres dados a los elementos de una aplicacin, tales como
constantes, variables, procedimientos, funciones, objetos, etc. Un identificador es una
secuencia de caracteres que puede ser de hasta 255 caracteres.

CONSTANTES: Una constante almacena un dato cuyo valor no cambia durante la
ejecucin de un programa. Para declarar una constante utilice la siguiente sintaxis:

Const NOMBRE_CONSTANTE [As TIPO] = VALOR

Si no se declara el tipo de constante (utilizando As TIPO) se asigna a la constante el
tipo de dato ms apropiado a su valor.

El valor de una constante puede ser numrico, alfanumrico, carcter o de tipo fecha
y hora. Por ejemplo:

Const MAXIT = 25

Const PI As Double = 3.141592

Const CADENA As String = Visual Basic es fcil

VARIABLES: Una variable almacena un dato cuyo valor puede cambiar durante la
ejecucin de un programa. Para declarar una variable utilice la siguiente sintaxis:

Dim NOMBRE_VARIABLE [As TIPO]

Cuando se declara una variable y no se especifica su tipo (con As TIPO), se asume
que es de tipo Variant.

La instruccin Dim puede realizar ms de una declaracin, teniendo en cuenta que
la clusula opcional As TIPO le permite definir el tipo de dato de cada variable que vaya a
declarar.

Para asignar valores a una variable, utilizar la siguiente sintaxis:
NOMBRE_VARIABLE = VALOR
A manera de ejemplo considere lo siguiente:

Dim CANTIDAD As Integer, PRECIO As Double, TOTAL As Double

CANTIDAD = 30

PRECIO = 1.5

TOTAL = CANTIDAD * PRECIO








15
Visual Basic 6.0












OPERADORES:

Los operadores son smbolos que indican cmo sern manipulados los operandos.

Operadores aritmticos

Operador Significado
^ Exponenciacin
- Menos unario
* / Multiplicacin y divisin
\ Divisin entera
Mod Resto de una divisin entera
+ - Suma y resta
Operadores relacionales

Operador Significado
= Igual que
Diferente que
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Operadores lgicos


Operador

Significado
Not Negacin
And Conjuncin
Or Disyuncin inclusiva
Xor Disyuncin exclusiva
Eqv Equivalencia (opuesto a Xor)
Imp Implicacin (falso si primer operando verdadero y
segundo operando falso)
Operadores de cadenas de caracteres


Operador

Significado
& Concatenacin
Like Compara dos cadenas de caracteres








16
Visual Basic 6.0












SENTENCIAS:

Una sentencia es una lnea de cdigo que indica una o ms operaciones a realizar. Una lnea
puede incluir varias sentencias, separadas unas de otras por dos puntos. Por ejemplo:

Dim CANTIDAD As Integer, PRECIO As Double, TOTAL As Double

CANTIDAD = 30 : PRECIO = 1.5 : TOTAL = CANTIDAD * PRECIO

Una sentencia Visual Basic puede escribirse en ms de una lnea fsica utilizando el
carcter de continuacin de lnea (un espacio en blanco seguido del carcter de subrayado).
Por ejemplo:

Dim CH4_ENTRADA As Double, CH4_SALIDA As Double, _
CH4_GENERA As Double, CH4_CONSUME AS Double
ENTRADA Y SALIDA DE DATOS:

Visual Basic posee una serie de objetos (controles) que pueden ser utilizados como
mecanismos de entrada y salida (E/S) de datos.

Otra posibilidad de proporcionar datos o de visualizarlos durante la ejecucin de
una aplicacin es utilizando cajas de dilogos predefinidas.

Entrada de datos: La entrada de datos permite proporcionar valores durante la ejecucin
de una aplicacin. Estos valores son ingresados generalmente mediante el teclado y
asignados a variables del programa. En Visual Basic una forma de ingresar datos a la
aplicacin es utilizando la caja de dilogo predefinida provista por la funcin InputBox. Su
sintaxis es la siguiente:

VARIABLE = InputBox(MENSAJE [, TTULO] [, PREDETERMINADO])

Donde MENSAJE es el mensaje que indica al usuario el tipo de informacin que debe
ingresar. Por ejemplo, las sentencias:

Dim EDAD As Integer

EDAD = InputBox(Ingrese su edad?)

Da lugar a que Visual Basic presente la siguiente caja de dilogo solicitando la informacin
requerida:










17
Visual Basic 6.0












Como puede observar, el resto de los parmetros son opcionales. TTULO es el texto que
se muestra en la barra de ttulo del cuadro de dilogo, si se omite TTULO, el nombre de la
aplicacin es la que se muestra en la barra de ttulo. PREDETERMINADO es una
expresin de cadena que aparece en el cuadro de texto como respuesta predeterminada si no
se proporciona ningn otro texto. Si se omite PREDETERMINADO el cuadro de texto se
muestra vaco. A manera de ejemplo considere lo siguiente:

Dim EDAD As Integer

EDAD = InputBox(Ingrese su edad?, Ficha de datos, 18)

En este caso se visualiza la caja de dilogo que se presenta en la figura siguiente:






Salida de datos: La salida de datos generalmente consiste en tomar la informacin
de la memoria y mostrarla en pantalla. Para realizar la operacin de salida de datos en
Visual Basic, podemos utilizar el procedimiento MsgBox, cuya sintaxis es como sigue:

MsgBox MENSAJE [, ICONO, TTULO]

MENSAJE es La cadena que se muestra como salida en la caja de dilogo. ICONO es se
refiere al estilo de icono que se va ha utilizar y TTULO es una texto que se mostrar en la barra de
ttulo de la caja de dilogo. Por ejemplo:

Dim EDAD As Integer

EDAD = InputBox(Ingrese su edad?)

EDAD = EDAD + 10

MsgBox Dentro de 10 aos su edad ser: & Str(EDAD)

Si ejecuta el cdigo anterior e ingresa su edad (en mi caso 29 aos) la salida debe ser
similar a la figura siguiente:










18
Visual Basic 6.0
Para que pueda ejecutar el cdigo anterior, proceda a crear una nueva aplicacin y


haga doble click sobre el formulario, luego ingrese el cdigo anterior:

Private Sub Form_Load()

Dim EDAD As Integer

EDAD = InputBox(Ingrese su edad?)

EDAD = EDAD + 10

MsgBox Dentro de 10 aos su edad ser: & Str(EDAD)

End Sub

A manera de observacin cabe sealar que la funcin Str() se utiliza para convertir
una expresin numrica a una cadena de caracteres.

ESTRUCTURAS DE CONTROL:Las estructuras de control permiten tomar decisiones y
realizar un proceso repetidas veces (procesos iterativos). Para ello Visual Basic dispone de
las siguientes estructuras de control: If . . . Then . . . Else, If . . . Then . . . ElseIf, Select
Case, For . . . Next, While . . . . Wend, Do . . . Loop y GoTo.

Estructura If . . . Then . . . Else Este tipo de estructura evala una determinada
condicin y en funcin a ello ejecuta uno de entre dos posibles grupos de sentencias. Su
sintaxis es la siguiente:

If CONDICIN Then

SENTENCIAS_VERDADERAS

Else



End If



SENTENCIAS_FALSAS

Si CONDICIN es verdadera se ejecuta el grupo de
SENTENCIAS_VERDADERAS. Si CONDICIN es falsa se ejecuta el grupo de
SENTENCIAS_FALSAS.

Por ejemplo, el siguiente cdigo determina si un entero A es o no divisible por otro
entero B:

Dim A As Integer, B As Integer

A = InputBox(Ingrese A?)
B = InputBox(Ingrese B?)








19
Visual Basic 6.0
If A Mod B = 0 Then





Else



End If

MsgBox Str(A) & es divisible por & Str(B)



MsgBox Str(A) & no es divisible por & Str(B)

Estructura If . . . Then . . . ElseIf Este tipo de estructura se utiliza para elegir una de
entre mltiples alternativas. Su sintaxis es como sigue:

If CONDICIN_1 Then
SENTENCIAS_1
ElseIf CONDICIN_2 Then
SENTENCIAS_2
.



Else


End If
.
.


SENTENCIAS_FALSAS


Si CONDICIN_1 es verdadera se ejecuta el grupo de SENTENCIAS_1, y si no se
cumple, se evalan secuencialmente las condiciones siguientes hasta Else, ejecutndose las
sentencias correspondientes al primer ElseIf cuya condicin sea verdadera. Si todas las
condiciones son falsas, se ejecutan las SENTENCIAS_FALSAS correspondientes a Else.

Por ejemplo considere el siguiente cdigo, el cual imprime el nombre del mes
correspondiente a los nmeros del 1 al 12.

Dim N As Integer
N = InputBox(Ingrese N?)
If N = 1 Then
MsgBox Enero
ElseIf N = 2 Then : MsgBox Febrero
ElseIf N = 3 Then : MsgBox Marzo
ElseIf N = 4 Then : MsgBox Abril
ElseIf N = 5 Then : MsgBox Mayo
ElseIf N = 6 Then : MsgBox Junio
ElseIf N = 7 Then : MsgBox Julio
ElseIf N = 8 Then : MsgBox Agosto
ElseIf N = 9 Then : MsgBox Setiembre
ElseIf N = 10 Then : MsgBox Octubre








20
Visual Basic 6.0
ElseIf N = 11 Then : MsgBox Noviembre


ElseIf N = 12 Then : MsgBox Diciembre
Else : MsgBox Error de datos
End If


Estructura Select Case: Este estructura es una alternativa a la estructura If . . .
Then . . . ElseIf, cuando lo que necesita es comparar la misma expresin con diferentes
valores. Su sintaxis es la siguiente:

Select Case EXPRESIN_TEST
Case EXPRESIN_1
SENTENCIAS_1
Case EXPRESIN_2
SENTENCIAS_2
.
.
.
Case Else
SENTENCIAS_FALSAS
End Select

En este caso se comprueba el valor de EXPRESIN_TEST frente a la lista
expresiones EXPRESIN_1, EXPRESIN_2, . . . y as sucesivamente, y busca el primer
Case que incluya el valor evaluado en EXPRESIN_TEST, ejecutando a continuacin el
bloque de sentencias correspondiente. Si no existe un valor igual a EXPRESIN_TEST,
entonces se ejecuta las SENTENCIAS_FALSAS correspondientes al Case Else.

A manera de ejemplo vamos a codificar el programa de la seccin anterior el cual
imprime el nombre del mes correspondiente a los nmeros del 1 al 12. Pero en esta vez
utilizaremos la estructura Select Case (compare con cual de ambas estructuras es ms
cmodo trabajar).

Dim N As Integer
N = InputBox(Ingrese N?)
Select Case N
Case 1 : MsgBox Enero
Case 2 : MsgBox Febrero
Case 3 : MsgBox Marzo
Case 4 : MsgBox Abril
Case 5 : MsgBox Mayo
Case 6 : MsgBox Junio
Case 7 : MsgBox Julio
Case 8 : MsgBox Agosto
Case 9 : MsgBox Setiembre
Case 10 : MsgBox Octubre
Case 11 : MsgBox Noviembre








21
Visual Basic 6.0
Case 12 : MsgBox Diciembre


Case Else
MsgBox Error de datos
End Select
Cabe destacar que Select Case tambin se puede utilizar de la siguiente manera:
Dim X As Integer
X = InputBox(Ingrese X?)
Select Case X
Case 1
MsgBox X = 1
Case 2, 3
MsgBox X = 2 o X = 3
Case 4 To 10
MsgBox 4 <= X <= 10
Case Else
MsgBox X < 1 o X > 10
End Select

Estructura For . . . Next: Esta estructura es utilizada para ejecutar un bucle un nmero
determinado de veces. El nmero de iteraciones deber ser conocido de antemano. Su
sintaxis es la que se presenta a continuacin:

For CONTADOR = INICIO To FINAL [Step INCREMENTO/DECREMENTO]
SENTENCIAS_REPETITIVAS
[Exit For]
Next
Donde la variable CONTADOR es inicializada con el valor de INICIO y se
incrementa o decrementa hasta un valor FINAL. INCREMENTO/DECREMENTO define
la manera en que cambia el valor de la variable CONTADOR en cada iteracin.

La sentencia Exit For permite salir del bucle For .Next antes de que este finalice.

Por ejemplo, el siguiente cdigo imprime los cuadrados de los nmeros enteros del
1 al 25.

Dim C As Integer

For C = 1 To 25

Print C
Next








22
Visual Basic 6.0



Para que este cdigo funcione correctamente debe establecer la propiedad
AutoRedraw del formulario a True.

Estructura While . . . Wend: La estructura While . . . Wend es aquella en la que el
nmero de iteraciones no se conoce por anticipado y el cuerpo del bucle se repite mientras
se cumple una determinada condicin. Su sintaxis es la siguiente:

While CONDICIN
SENTENCIAS_REPETITIVAS
Wend

La estructura While . . . Wend evala la CONDICIN en cada iteracin y si el
resultado es verdadero contina su ejecucin. El bucle termina cuando CONDICIN es
falsa.

A manera de ejemplo, considere el siguiente cdigo, el cual imprime en pantalla la
suma de los N primeros nmeros naturales, es decir S = 1 + 2 + 3 + 4 + . . . + N

Dim N As Integer, S As Integer
S = 0
N = InputBox(Ingrese N?)
While N 0
S = S + N
N = N - 1
Wend
MsgBox La suma es S= & Str(S)


Estructura Do . . . Loop:

Esta estructura ejecuta un bucle mientras una condicin dada sea cierta, o hasta que
una condicin dada sea cierta. La condicin puede ser verificada antes o despus de
ejecutarse el cuerpo del bucle. Su sintaxis es:

Formato 1: Do [While/Until] CONDICIN
SENTENCIAS_REPETITIVAS
[Exit Do]

Formato 2: Do
Loop



SENTENCIAS_REPETITIVAS
[Exit Do]
Loop [While/Until] CONDICIN








23
Visual Basic 6.0


Esta estructura (como se puede observar en ambos formatos) permite realizar varias
estructuras diferentes dependiendo si la condicin de terminacin est al principio o al final
del cuerpo del bucle.

Como ejemplo, consideremos el siguiente programa, el cual calcula el factorial de
un entero N ingresado por teclado:

Dim N As Integer, FACT As Integer, C As Integer
FACT = 1
C = 1
N = InputBox(Ingrese N?)
Do
FACT = FACT * C
C = C + 1
Loop While C <= N
MsgBox El factorial de & Str(N) & es= & Str(FACT)

Sentencia GoTo: Transfiere el control a una lnea especfica de cdigo, identificada por
una etiqueta o por un nmero de lnea. Su sintaxis es:

GoTo ETIQUETA/NUMERO_LNEA

Aunque el uso del GoTo se ha depreciado considerablemente, en el presente trabajo
no se juzgar su validez. Sin embargo, se ha establecido que no hay situaciones de
programacin que requieran el uso del GoTo, es decir, no es un elemento necesario para
hacer completo el lenguaje.

Sin embargo, el GoTo es un convenio que, si su usa con cuidado, puede ser
beneficioso en ciertas situaciones de programacin.

Por ejemplo podra escribir un bucle para imprimir los cuadrados de los nmeros
enteros del 1 al 25.

Dim X As Integer
X = 0
LABEL1:
X = X + 1
Print X ^ 2
If X < 25 Then GoTo LABEL1

Un uso abusivo de la sentencia GoTo da lugar a cdigos difciles de interpretar y de
mantener. Por ello, se recomienda su uso solamente en ocasiones excepcionales. La tarea
que vaya a desempear una sentencia GoTo puede suplirse utilizando cualquiera de las
estructuras de control vistas en las secciones anteriores.








24
Visual Basic 6.0


CAPTULO 4

USO DE LOS CONTROLES

Los controles son aquellos objetos que se encuentran dentro de un contenedor y que
permiten la interaccin entre el usuario y la aplicacin, ya sea para manipular datos y/o
ejecutar tareas.

En Visual Basic, los controles suelen ser agrupados en tres categoras:

Controles bsicos
Controles complementarios
Controles externos



Los controles bsicos son las etiquetas, cuadros de texto y botones de comando,
pues utilizando estos tres controles se puede construir cualquier interfaz.

Los controles complementarios son el resto de los controles, por ejemplo una casilla
de verificacin, un cuadro combinado o un cronmetro.

Los controles externos se refieren a aquellos controles creados por terceros. Este
tipo de controles son llamados ActiveX.

CONTROLES BSICOS: Los controles bsicos lo conforman las etiquetas, cuadros de
texto y botones de comando, debido a que cualquier interfaz se puede implementar con slo
estos tres objetos.

Etiqueta

Una etiqueta es un control que permite presentar texto de solo lectura. Se utiliza
para mostrar ttulos y mensajes que por lo general no cambian. Sin embargo, si lo desea,
puede escribir procedimientos que cambien el texto mostrado por una etiqueta como
respuesta a eventos en tiempo de ejecucin.

Propiedad Descripcin
Alignment Especifica la forma como se alinear el texto.
AutoSize Especifica si se cambia automticamente el tamao del control
para que quepan sus contenidos.
BackColor,
ForeColor
Especifica el color de fondo y de primer plano empleado para
mostrar el texto.
BackStyle Especifica si el fondo del control es transparente u opaco.
Caption Especifica el texto que se muestra en el control.
WordWrap Especifica si la etiqueta se extiende a ms de una lnea cuando el
texto es amplio.








25
Visual Basic 6.0




Cuadro de texto

Un cuadro de texto es un control en el que el usuario pueda ingresar datos desde el
teclado o visualizar un resultado generado por la aplicacin. El valor de un cuadro de texto
por lo general se asocia a una variable de memoria.




Propiedad Descripcin
Enabled Habilita o deshabilita el control, es decir si se puede o no
modificar el contenido.
Locked Permite bloquear el acceso al control en tiempo de ejecucin.
MaxLenght Especifica la longitud mxima (en caracteres) que puede escribirse
en el control.
MultiLine Especifica si el control admitir mltiples lneas.
PasswordChar Determina si se muestran en el control los caracteres escritos por
el usuario o los caracteres de marcador de posicin.
ScrollBars Especifica si se muestran las barras de desplazamiento
horizontales o verticales.
SelLength Especifica el nmero de caracteres seleccionados.
SelStart Especifica el inicio del texto seleccionado. Si su valor es 0, el
texto seleccionado comienza por el primer carcter.
SelText Contiene el texto seleccionado.
Text Contiene el texto introducido en el control. Puede inicializar el
contenido en tiempo de diseo.
Los eventos asociados a un cuadro de texto son los siguientes:

Evento Descripcin
Change Ocurre cuando se cambia el contenido del control utilizando el
teclado o el ratn.
KeyPress Ocurre cuando se pulsa una tecla.



Botn de comando

Un botn de comando es un control que suele emplearse para ejecutar una accin,
como cerrar un formulario, imprimir un informe, etc.

Propiedad Descripcin
Cancel Especifica si el control responder a la tecla ESC, por lo general
para terminar la aplicacin.
Caption Muestra un ttulo para el control.
Default Especifica si el control responder a la tecla ENTRAR, sin
importar la ubicacin del enfoque.
Enabled Permite habilitar o deshabilitar el control.
Picture Especifica una imagen tipo icono para el control.








26
Visual Basic 6.0












Style Especifica la apariencia del control, ya sea estndar (estilo
estndar de Windows) o grfica (con una imagen
personalizada).
Los botones de comando suelen responder al evento Click, cuya descripcin es:




Evento Descripcin
Click Ocurre cuando el usuario hace click sobre el control.


A manera de ejemplo vamos a desarrollar la siguiente aplicacin. Esta consiste en
un cajero automtico el cual permite manipular cierta cantidad de dinero para lo cual
dispone de los siguientes billetes: S/. 10.00; S/. 20.00; S/. 50.00; S/. 100.00 y S/. 200.00.
Elaborar una aplicacin que permita la lectura de la cantidad a retirar e indique el menor
nmero de billetes a utilizar.






Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles
en el formulario:

6 etiquetas
6 cajas de texto
3 botones de comando
Una vez ubicados los controles, establezca las propiedades segn se indica:



Modificar las siguientes Propiedades de las etiquetas y el formulario








27
Visual Basic 6.0












Form1 Label 1
Nombre FrmCajero Nombre LblCantidad
BorderStyle 3-Fixed Dialog AutoSize True
Caption Cajero automtico
Label 2 Label 3
Nombre LblB10 Nombre LblB20
AutoSize True AutoSize True
Caption Billetes de S/. 10 Caption Billetes de S/. 20
Label 4 Label 5
Nombre LblB50 Nombre LblB100
AutoSize True AutoSize True
Caption Billetes de S/. 50 Caption Billetes de S/. 100
Label6
Nombre LblB200
AutoSize True
Caption Billetes de S/. 200


Modifique los siguientes Botones de comando y cajas de texto

Text1 Text2
Nombre TxtCantidad Nombre TxtB10
Text Text
Text3 Text4
Nombre TxtB20 Nombre TxtB50
Text Text
Text5 Text6
Nombre TxtB100 Nombre TxtB200
Text Text
Command1 Command2
Nombre CmdAceptar Nombre CmdLimpiar
Caption &Aceptar Caption &Limpiar
Command3
Nombre CmdSalir
Caption &Salir


Para aadir cdigo a la aplicacin haga doble click sobre el botn Aceptar e
ingrese lo siguiente:

Private Sub CmdAceptar_Click()
Dim C As Integer, B200 As Integer, B100 As Integer, _
B50 As Integer, B20 As Integer, B10 As Integer
C = Val(TxtCantidad)
If C Mod 10 = 0 Then








28
Visual Basic 6.0































Else





End If
End Sub
B200 = C \ 200 : C = C Mod 200
B100 = C \ 100 : C = C Mod 100
B50 = C \ 50 : C = C Mod 50
B20 = C \ 20 : B10 = C Mod 20
TxtB200 = Str(B200)
TxtB100 = Str(B100)
TxtB50 = Str(B50)
TxtB20 = Str(B20)
TxtB10 = Str(B10)


MsgBox Cantidad a retirar debe ser mltiplo de 10
TxtCantidad =
TxtCantidad.SetFocus
Luego, haga doble click sobre el botn Limpiar y aada el siguiente cdigo:
Private Sub CmdLimpiar_Click()
TxtCantidad =
TxtB200 =
TxtB100 =
TxtB50 =
TxtB20 =
TxtB10 =
TxtCantidad.SetFocus
End Sub
Finalmente dar doble click sobre el botn Salir y aada el siguiente cdigo:


Private Sub CmdSalir_Click()
End
End Sub
En el cdigo anterior hemos utilizado el
mtodo SetFocus para enfocar la caja de texto
TxtCantidad, esto es, para posicionar el cursor sobre
ella.

Ejemplo 2 Desarrollar un programa que lea un
numero entero y muestre la tabla de multiplicar de
dicho nmero. Para el diseo de la interfaz del
programa se presenta el siguiente ejemplo:








29
Visual Basic 6.0



















Paso # 1. Ubique los siguientes controles en el formulario:

1 Etiqueta
2 Cajas de Texto
1 Botn de Comando

Paso #3. Al terminar de colocar sobre el formulario los controles, proceda a modificar sus
propiedades, como se incida a continuacioo:

Formulario Etiqueta 1
Nombre Tablas Nombre Numero
BorderStyle 3-Fixed Dialog Caption Ingrese un Numero:
Caption Tabla de Multiplicar
Caja 1 Botn de Comando 1
Nombre TNumero Nombre Limpiar
Text Vaco Caption &Limpiar
Caja 2
Nombre TTabla
MultiLine True
Locked True
ScrollBar 2-Vertical
Text Vaco

Paso #3. Ahora debe escribir el siguiente cdigo.

Private Sub TNumero_Change()
If IsNumeric(TNumero) Then
Dim N As Integer
Dim P As Integer
Dim I As Integer
Dim s As String
N = Val(TNumero)
s = ""
For I = 0 To 12
P = N * I
s = s & N & " * " & I & " = " & P & vbCrLf
Next I
TTabla = s
Else
If TNumero = "" Then
Exit Sub
Else
MsgBox "Ingrese un nmero", vbCritical, "Mensaje"
TTabla = ""
End If
End If
End Sub
Private Sub Limpiar_Click()
TNumero = ""
TTabla = ""
TNumero.SetFocus
End Sub
















Paso #4. Agregue una imagen al fondo del
formulario y el botn salida. Guarde el
programa con el nombre de Tablas de
multiplicar.








30
Visual Basic 6.0















CONTROLES COMPLEMENTARIOS: Los controles complementarios se utilizan
como alternativa a los controles bsicos en aplicaciones en las cuales su uso facilita o
mejora el diseo de la interfaz. Como el lector podr verificar, algunos controles son ms
adecuados que otros dependiendo del tipo de aplicacin que se pretenda desarrollar.

Marco

Un marco es un objeto contenedor que puede utilizarse para agrupar casillas de
verificacin, botones de opcin, botones de comando, etc.

Propiedad Descripcin
Caption Muestra un ttulo para el control.



Casilla de verificacin

Una casilla de verificacin se utiliza para alternar entre dos posibles valores
(Activado/Desactivado). Cada casilla de verificacin es independiente de las dems ya que
cada una tiene su propio nombre (Name). Puede utilizar casillas de verificacin en grupos
para mostrar mltiples opciones entre las cuales el usuario puede seleccionar todas las que
desee a la vez.

Propiedad Descripcin
Caption Muestra un ttulo para el control.
Value Devuelve o establece el estado del control, puede ser: Desactivado
(0), Activado (1).


Las casillas de verificacin suelen responder al evento Click.




Botn de opcin

Un botn de opcin se utiliza para alternar entre dos posibles valores
(Activado/Desactivado), de manera similar a las casillas de verificacin, la diferencia
radica en que de un grupo de botones de opcin el usuario slo puede seleccionar un nico
botn a la vez.

Propiedad Descripcin
Caption Muestra un ttulo para el control.
Value Devuelve o establece el estado del control, puede ser: Desactivado
(Falso), Activado (True).








31
Visual Basic 6.0















Los botones de opcin tambin suelen responder al evento Click.

Cuadro de lista

Un cuadro de lista es un control que presenta una lista de elementos en la que el
usuario puede seleccionar uno o ms de dichos elementos. Si el nmero de elementos
supera el nmero que puede mostrarse, se agregar automticamente una barra de
desplazamiento al control.

Propiedad Descripcin
List Contiene los elementos de la lista. Puede definirlos en tiempo de
diseo.
ListCount Especifica el nmero de elementos de la lista. Su valor siempre es
uno ms que el mayor valor de ListIndex.
ListIndex Especifica el nmero de orden que ocupa el elemento
seleccionado en la lista. Toma el valor de 0 para el primer
elemento, si no ha selecciona ninguno retorna -1.
MultiSelect Especifica si se pueden seleccionar varios elementos de la lista.
SelCount Devuelve el nmero de elementos seleccionados.
Selected Especifica si un elemento de la lista est seleccionado.
Sorted Especifica si los elementos de la lista se ordenan alfabticamente.
Text Especifica el valor del elemento seleccionado en ese instante. El
valor es tratado como una cadena de caracteres.


Los mtodos que se pueden utilizar para un cuadro de lista son los siguientes:

Mtodo Descripcin
AddItem Agrega un nuevo elemento a la lista.
Clear Elimina todos los elementos contenidos en la lista.
RemoveItem Elimina en elemento de la lista.



Cuadro combinado

Un cuadro combinado es una mezcla de un cuadro de texto con una lista. En l no
slo se podr ingresar un dato sino tambin seleccionarlo de la lista. Presenta las mismas
propiedades, eventos y mtodos que el cuadro de lista a excepcin de lo siguiente:

Propiedad Descripcin
Style Especifica si el control se comporta como un cuadro de texto o como
una lista desplegable. Un cuadro de texto permite ingresar valores.
Una lista desplegable slo permite seleccionar valores. El valor
predeterminado es 0-vbComboDropDown, e incluye una lista
desplegable y un cuadro de texto. El valor 1-vbComboSimple
incluye tan solo cuadro de texto. El valor 2-Dropdown List incluye
slo una lista desplegable.








32
Visual Basic 6.0


Cronmetro




accin.
Un cronmetro sirve para controlar el tiempo transcurrido desde el inicio de una

Propiedad Descripcin
Interval Especifica el nmero de milisegundos que se esperar para
disparar el evento Timer.


El control Cronmetro responde al evento Timer, cuya descripcin es:

Evento Descripcin
Timer Ocurre cuando el nmero de milisegundos especificado en la
propiedad Interval ha transcurrido.


A manera de ejemplo vamos a desarrollar la siguiente aplicacin que simula el
funcionamiento de un reloj digital.



Para el desarrollo de la presente aplicacin proceda a ubicar los siguientes controles
sobre el formulario:








Form1
1 etiqueta
1 cuadro de texto
1 cronmetro
1 botn de comando
En seguida proceda a establecer las propiedades segn se indica:

Nombre FrmReloj
BorderStyle 3-Fixed Dialog
Caption Reloj digital








33
Visual Basic 6.0












Label1

Nombre LblHora
Caption Hora



Text1

Nombre TxtHora
Text


Timer1

Nombre Timer1
Interval 500


Command1

Nombre CmdTerminar
Caption &Terminar
Seguidamente proceda a ingresar el cdigo que se indica a continuacin:

Private Sub Form_Activate()
TxtHora = Time()
End Sub

Private Sub Timer1_Timer()
If TxtHora Time() Then
TxtHora = Time()
End If
End Sub

Private Sub CmdTerminar_Click()
End
End Sub



Cuadro de imagen

Un cuadro de imagen se utiliza para mostrar un archivo de imagen (BMP, GIF o
JPG). Recorta el grfico si el control no es lo bastante grande para mostrar la imagen
completa.








34
Visual Basic 6.0















Propiedad Descripcin
AutoSize Especifica si el control ajusta automticamente su tamao para
mostrar un grfico completo.
Picture Especifica el archivo de imagen para el control.


es:
El evento que suele manejarse para este control es MouseMove, cuya descripcin

Evento Descripcin
MouseMove Ocurre cuando el usuario mueve el ratn sobre el control.



Imagen

Un control imagen se utilizar para mostrar un archivo de imagen (BMP, GIF o
JPG) de manera similar a un Cuadro de imagen. Sin embargo, este control utiliza menos
recursos del sistema y se actualiza con ms rapidez que un cuadro de imagen.

Propiedad Descripcin
Picture Especifica el archivo de imagen para el control.
Stretch Especifica como se ajusta el tamao del archivo grfico para que
quepa dentro del control imagen.


Para este control tambin se suele manejar el evento MouseMove.

Barras de desplazamiento horizontal

Una barra de desplazamiento horizontal representa un valor entero, la cual tiene un
cuadrado que se desplaza a lo largo de la misma para fijar un valor.

La posicin ms a la izquierda se corresponde con el valor mnimo, la posicin ms
a la derecha con el valor mximo, y cualquier otra posicin es un valor entre ellos dos.

Propiedad Descripcin
Max Especifica el valor mximo que puede tomar la propiedad Value.
Min Especifica el valor mnimo que puede tomar la propiedad Value.
LargeChange Especifica en cuanto cambiar el valor de la propiedad Value
cuando el usuario haga click antes o despus del cuadrado de
desplazamiento.
SmallChange Especifica en cuanto cambiar el valor de la propiedad Value
cuando el usuario haga click en alguna de las flechas de los
extremos de la barra.
Value Especifica el valor del control, este se encuentra siempre entre los
valores de las propiedades Min y Max.








35
Visual Basic 6.0















Las barras de desplazamientos responden a los eventos:

Evento Descripcin
Change Ocurre inmediatamente despus que el cuadrado de
desplazamiento ha sido movido.
Scroll Ocurre mientras el cuadrado de desplazamiento est siendo
movido (este evento slo ocurre cuando el cuadrado es
arrastrado).
Barras de desplazamiento vertical

Una barra de desplazamiento vertical representa un valor entero, la cual tiene un
cuadrado que se desplaza a lo largo de la misma para fijar un valor.

La posicin ms hacia arriba se corresponde con el valor mnimo, la posicin ms
hacia abajo se corresponde con el valor mximo, y cualquier otra posicin es un valor entre
ellos dos.

Las propiedades y eventos de las barras de desplazamiento horizontal y vertical son
anlogas.

Cuadro de lista de unidades

Un cuadro de lista de unidades permite al usuario seleccionar una unidad de disco
vlida en tiempo de ejecucin. Utilice este control para presentar una lista de todas las
unidades vlidas del sistema.




Propiedad Descripcin
Drive Especifica la unidad seleccionada en tiempo de ejecucin.


Este control responde al evento Change, cuya descripcin es la siguiente:




Evento Descripcin
Change Ocurre cuando el usuario hace click sobre la unidad que desea
seleccionar. El evento Change tambin ocurre si se selecciona la
unidad mediante el teclado.



Cuadro de lista de directorios

Un cuadro de lista de directorios muestra directorios y rutas de acceso en tiempo de
ejecucin. Utilice este control para mostrar una lista jerrquica de directorios.








36
Visual Basic 6.0















Propiedad Descripcin
Path Especifica la ruta de acceso actual.


Un cuadro de lista de directorios tambin responde al evento Change.

Cuadro de lista de archivos

Un cuadro de lista de archivos encuentra y muestra los archivos del directorio
especificado por la propiedad Path en tiempo de ejecucin. Utilice este control para mostrar
una lista de los archivos seleccionados por tipo.




Propiedad Descripcin
Path Especifica la ruta de acceso actual.
Pattern Especifica el tipo de archivo que se desea visualizar en el control.
List Devuelve los elementos contenidos en la parte de lista del control.
ListIndex Especifica el ndice del elemento seleccionado actualmente en el
control.


LA FUNCIN MSGBOX:

A menudo habr situaciones en las cuales tendr que presentar algn mensaje (por ejemplo
una pregunta) y en funcin de la respuesta del usuario se ejecutar una determinada accin.






La funcin MsgBox() muestra un cuadro de dilogo predefinido y retorna un valor
de tipo entero dependiendo del botn seleccionado por el usuario. Su sintaxis es de la
siguiente forma:

VALOR = MsgBox(MENSAJE [, BOTN + ICONO, TTULO])

Donde MENSAJE se refiere a una expresin de cadena que se muestra como
mensaje en el cuadro de dilogo.








37
Visual Basic 6.0












BOTN es una expresin numrica que se refiere al tipo y cantidad de botones a
utilizar.

ICONO es una expresin numrica que se refiere al estilo de icono que se va ha
utilizar.

TTULO es una texto que se mostrar en la barra de ttulo de la caja de dilogo.

Tipo de botn

Valor Botn Nombre
0 Aceptar vbOKOnly
1 Aceptar y Cancelar vbOKCancel
2 Anular, Reintentar, Ignorar vbAbortRetryIgnore
3 S, No y Cancelar vbYesNoCancel
4 S y No vbYesNo
5 Reintentar y Cancelar vbRetryCancel


Tipo de icono

Valor Icono Nombre
16 Mensaje crtico vbCritical
32 Signo de interrogacin vbQuestion
48 Signo de exclamacin vbExclamation
64 Signo de informacin vbInformation


Valores retornados

Valor Botn Nombre
1 Aceptar vbOK
2 Cancelar vbCancel
3 Anular vbAbort
4 Reintentar vbRetry
5 Ignorar vbIgnore
6 S vbYes
7 No vbNo


Como ejemplo vamos a construir un formulario que presente un botn Salir, de tal forma
que cuando el usuario pulse dicho botn se presente el siguiente mensaje:








38
Visual Basic 6.0













En caso de que el usuario elija la opcin S, la aplicacin debe terminar. En caso
contrario, es decir si el usuario elige la opcin No, se debe proseguir con la aplicacin.

Para el desarrollo del presente ejemplo, proceda a ubicar sobre el formulario un
botn de comando (CmdSalir), a continuacin ingresar el siguiente cdigo:

Private Sub CmdSalir_Click()
Dim RESP As Integer
RESP = MsgBox(Desea terminar la aplicacin?, _

vbQuestion + vbYesNo, Pregunta)

If RESP = vbYes Then

End

End If

End Sub

Para ilustrar mejor el uso de la funcin MsgBox() vamos a desarrollar la siguiente
aplicacin que permite mostrar los diferentes tipos de botones e iconos generados por la
funcin.













39
Visual Basic 6.0


Para ello proceda a ubicar los siguientes controles en el formulario:

2 cuadros de lista
1 botn de comando
En seguida proceda a establecer las propiedades segn se indica:

Form1

Nombre FrmFuncionMsgBox
BorderStyle 3-Fixed Dialog
Caption Funcin MsgBox


List1

Nombre LstBoton



List2

Nombre LstIcono



Command1

Nombre CmdMensaje
Caption &Mensaje


Seguidamente proceda a ingresar el cdigo que se indica a continuacin:

Private Sub Form_Load() LstBoton.AddItem
Aceptar LstBoton.AddItem Aceptar y
Cancelar
LstBoton.AddItem Anular, Reintentar, Ignorar
LstBoton.AddItem S, No y Cancelar
LstBoton.AddItem S y No
LstBoton.AddItem Reintentar y Cancelar
LstIcono.AddItem Mensaje crtico
LstIcono.AddItem Signo de interrogacin
LstIcono.AddItem Signo de exclamacin
LstIcono.AddItem Signo de informacin
End Sub
Private Sub CmdMensaje_Click()
Dim RESP As Integer, BOTON As Integer, ICONO As Integer
BOTON = LstBoton.ListIndex
ICONO = (LstIcono.ListIndex + 1) * 16
RESP = MsgBox(Hola Mundo, BOTON + ICONO, Ejemplo)
End Sub








40
Visual Basic 6.0




Ejemplo 1.1: Sencillo programa de
colores y posiciones

En la Figura 1.2 se muestra el formulario
y los con- troles de un ejemplo muy
sencillo que permite mo- ver una caja de
texto por la pantalla, permitiendo a su
vez representarla con cuatro colores
diferentes.

En la Tabla 1.2 se describen los
controles uti- lizados, as como algunas de
sus propiedades ms importantes (sobre
todo las que se separan de los valores por
defecto). Los ficheros de este proyecto
se llamarn Colores0.vbp y Colores0.frm.
Figura 1.2. Formulario y controles del

Ejemplo 1.1.


Control

Propiedad

Valor

Control

Propiedad

Valor
frmColores0 Name frmColores0 optVerde Name optVerde

Caption Colores

Caption Verde
fraColores Name fraColor fraPosicion Name fraPosicion

Caption Colores

Caption Posicin
optAzul Name optAzul optArriba Name optArriba

Caption Azul

Caption Arriba
optRojo Name optRojo optAbajo Name optAbajo

Caption Rojo

Caption Abajo
optAmarillo Name optAmarillo txtCaja Name txtCaja

Caption Amarillo

Text
Tabla 1.2. Objetos y propiedades del ejemplo Colores0.

A continuacin se muestra el cdigo correspondiente a los procedimientos de este
ejemplo.

Option
Explicit
Private Sub Form_Load()
txtCaja.Top = 0
End Sub

Private Sub optArriba_Click()
txtCaja.Top = 0
End Sub

Private Sub optAbajo_Click()
txtCaja.Top = frmColores0.ScaleHeight - txtCaja.Height
End Sub

Private Sub optAzul_Click()
txtCaja.BackColor = vbBlue
End Sub

Private Sub optRojo_Click()
txtCaja.BackColor = vbRed








41
Visual Basic 6.0




End Sub

Private Sub optVerde_Click()
txtCaja.BackColor = vbGreen
End Sub

Private Sub optAmarillo_Click()
txtCaja.BackColor = vbYellow
End Sub

Sobre este primer programa en Visual Basic 6.0 se pueden hacer algunos comentarios:

1. El comando Option Explicit sirve para obligar a declarar todas las variables que
se utilicen. Esto impide el cometer errores en los nombres de las variables
(confundir masa con mesa, por ejemplo). En este ejemplo esto no tiene ninguna
importancia, pero es conveniente acostum- brarse a incluir esta opcin. Declarar
una variable es crearla con un nombre y de un tipo de- terminado antes de
utilizarla.

2. Cada una de las partes de cdigo que empieza con un Private Sub y termina con
un End Sub es un procedimiento, esto es, una parte de cdigo independiente y
reutilizable. El nombre de uno de estos procedimientos, por ejemplo
optAzul_Click(), es tpico de Visual Basic. La pri- mera parte es el nombre de un
objeto (control); despus va un separador que es el carcter de subrayado (_); a
continuacin el nombre de un evento -click, en este caso-, y finalmente unos
parntesis entre los que iran los argumentos, en caso de que los hubiera.



Ejemplo 1.2: Minicalculadora elemental

En este ejemplo se muestra una calculadora elemental que permite hacer las cuatro
operaciones aritmticas (Figura 1.3). Los ficheros de este proyecto se pueden llamar
minicalc.vbp y minicalc.frm.

El usuario introduce los datos y clica sobre el botn correspondiente a la operacin que
desea reali- zar, apareciendo inmediatamente el resultado en la ca- ja de texto de la
derecha.


Figura 1.3. Minicalculadora elemental.








42
Visual Basic 6.0




La Tabla 1.3 muestra los objetos y las propie- dades ms importantes de este ejemplo.



Control


Propiedad


Valor


Control


Propiedad


Valor

frmMinicalc Name frmMinicalc lblEqual Name lblEqual

Caption Minicalculadora

Caption =
txtOper1 Name txtOper1 cmdSuma Name cmdSuma

Text

Caption +
txtOper2 Name txtOper2 cmdResta Name cmdResta

Text

Caption -
txtResult Name txtResult cmdMulti Name cmdProd

Text

Caption *
lblOp Name lblOp cmdDivi Name cmdDiv

Caption

Caption /

Tabla 1.3. Objetos y propiedades del ejemplo Minicalculadora.
.

A continuacin se muestra el cdigo correspondiente a los procedimientos que gestionan
los eventos de este ejemplo.

Option Explicit

Private Sub cmdDiv_Click()
txtResult.Text = Val(txtOper1.Text) / Val(txtOper2.Text)
lblOp.Caption = "/"
End Sub

Private Sub cmdProd_Click()
txtResult.Text = Val(txtOper1.Text) * Val(txtOper2.Text)
lblOp.Caption = "*"
End Sub

Private Sub cmdResta_Click()
txtResult.Text = Val(txtOper1.Text) - Val(txtOper2.Text)
lblOp.Caption = "-"
End Sub

Private Sub cmdSuma_Click()
txtResult.Text = Val(txtOper1.Text) + Val(txtOper2.Text)
lblOp.Caption = "+"
End Sub

En este ejemplo se ha utilizado repetidamente la funcin Val() de Visual Basic. Esta
funcin convierte una serie de caracteres numricos (un texto formado por cifras) en el
nmero entero o de punto flotante correspondiente. Sin la llamada a la funcin Val() el
operador +aplicado a cadenas de caracteres las concatena, y como resultado, por ejemplo,
3+4 dara 34. No es lo mismo los caracteres 1 y 2 formando la cadena o string
12 que el nmero 12; la funcin val() convierte cadenas de caracteres numricos con
los que no se pueden realizar operaciones aritmticas- en los nmeros correspondientes
con los que s se puede operar matemticamente-. Visual Basic 6.0 transforma de modo
automtico nmeros en cadenas de caracteres y viceversa, pero este es un caso en el que
dicha transformacin no funciona porque el operador + tiene sentido tanto con nmeros
como con cadenas.








43
Visual Basic 6.0
Ejemplo 1.3: Transformacin de unidades de temperatura






La Figura 1.4 muestra un programa sencillo que permite ver la equivalencia entre las
escalas de temperaturas en grados centgrados y grados Fahrenheit. Los ficheros de este
proyecto se pueden llamar Temperat.vbp y Temperat.frm.

En el centro del formulario aparece una barra de desplazamiento vertical que
permite desplazarse con incrementos pequeos de 1 C y grandes de 10 C. Como es
habitual, tambin puede cambiarse el valor arrastrando con el ratn el cursor de la barra.
Los valores mximos y mnimo de la barra son 100 C y -100 C.

A ambos lados de la barra aparecen dos cua- dros de texto (color de fondo blanco) donde
aparecen los grados correspondientes a la barra en ambas esca- las. Encima aparecen dos
rtulos (labels) que indican la escala de temperaturas correspondiente. Comple- tan la
aplicacin un botn Salir que termina la ejecucin y un men File con la nica opcin
Exit, que termina asimismo la ejecucin de programa.



Figura 1.4. Equivalencia de temperaturas..

La Tabla 1.4 indica los controles utilizados en este ejemplo junto con las propiedades y los
va- lores correspondientes.


Control


Propiedad


Valor


Control


Propiedad


Valor

frmTemp Name frmTemp vsbTemp Name vsbTemp

Caption Conversor de temperatu-
ras

Min 100
mnuFile Name mnuFile

Max -100

Caption &File

SmallChange 1
mnuFileExit Name mnuFileExit

LargeChange 10

Caption E&xit

Value 0
cmdSalir Name cmdSalir lblCent Name lblCent

Caption Salir

Caption Grados Centgrados

Font MS Sans Serif, Bold, 14

Font MS Sans Serif, 10
txtCent Name txtCent lblFahr Name lblFahr

text 0

Caption Grados Fahrenheit
txtFahr Name txtFahr

Font MS Sans Serif, 10

text 32


Tabla 1.4. Controles y propiedades del Ejemplo 1.3.








44
Visual Basic 6.0
Por otra parte, el cdigo con el que este programa responde a los eventos es el contenido


en los siguientes procedimientos:

Option Explicit


Private Sub cmbSalir_Click()
Beep
End
End Sub


Private Sub mnuFileExit_Click()
End
End Sub


Private Sub vsbTemp_Change()
txtCent.Text = vsbTemp.Value txtFahr.Text = 32 + 1.8 *
vsbTemp.Value
End Sub



Sobre este tercer ejemplo se puede comentar lo siguiente:



1. Se ha utilizado la propiedad Value de la barra de desplazamiento, la cual da el
valor actual de la misma con respecto a los lmites inferior y superior, previamente
establecidos (-100 y 100).

2. Mediante el procedimiento cmdSalir_Click, se cierra el programa, gracias a la
instruccin End. El cometido de Beep no es otro que el de emitir un pitido a travs
del altavoz del orde- nador, que indicar que en efecto se ha salido del programa.

3. La funcin mnuFileExit_Click() y activa desde el men y termina la ejecucin sin
emitir nin- gn sonido.

4. Finalmente, la funcin vsbTemp_Change() se activa al cambiar el valor de la barra
de despla- zamiento; su efecto es modificar el valor de la propiedad text en las cajas
de texto que mues- tran la temperatura en cada una de las dos escalas.




Ejemplo 1.4: Colores RGB

La Figura 1.5 muestra el formulario y los contro- les del proyecto Colores. Los ficheros de
este proyecto se pueden llamar Colores.vbp y Colo- res.frm.

En este ejemplo se dispone de tres barras de desplazamiento con las que pueden
controlarse las componentes RGB del color del fondo y del color del texto de un control
label.








45
Visual Basic 6.0
Dos botones de opcin permiten determinar si los valores de las barras se aplican al






fondo o al texto. Cuando se cambia del texto al fondo o viceversa los valo- res de las
barras de desplazamiento (y la posicin de los cursores) cambian de modo acorde.

A la dcha. de las barras de desplazamiento tres cajas de texto contienen los valores num-
ricos de los tres colores (entre 0 y 255). A la izda. tres labels indican los colores de las tres
barras.




Figura 1.5. Colores de fondo y de texto.




La Tabla 1.5 muestra los controles y las propiedades utilizadas en el este ejemplo.


Control

Propiedad

Valor

Control

Propiedad

Valor
frmColores Name frmColores hsbColor Name hsbColor

Caption Colores

Min 0
lblCuadro Name lblCuadro

Max 255

Caption INFORMTICA 1

SmallChange 1

Font MS Sans Serif, Bold, 24

LargeChange 16
cmdSalir Name cmdSalir

Index 0,1,2

Caption Salir

Value 0

Font MS Sans Serif, Bold, 10 txtColor Name txtColor
optColor Name optColor

Text 0

Index 0,1

Locked True

Caption Fondo, Texto

Index 0,1,2

Font MS Sans Serif, Bold, 10 lblColor Name lblColor

Caption Rojo,Verde,Azul

Index 0,1,2

Font MS Sans Serif, 10

Tabla 1.5. Objetos y propiedades del ejemplo Colores.








46
Visual Basic 6.0


Una caracterstica importante de este ejemplo es que se han utilizado vectores (arrays) de
controles. Las tres barras se llaman hsbColor y se diferencian por la propiedad I ndex, que
toma los valores 0, 1 y 2. Tambin las tres cajas de texto, las tres labels y los dos botones
de opcin son arrays de controles. Para crear un array de controles basta crear el primero
de ellos y luego hacer Copy y Paste tantas veces como se desee, respondiendo
afirmativamente al cuadro de dilogo que pregunta si desea crear un array.

El procedimiento Sub que contiene el cdigo que gestiona un evento de un array es nico
para todo el array, y recibe como argumento la propiedad I ndex. De este modo que se
puede saber exac- tamente en qu control del array se ha producido el evento. As pues, una
ventaja de los arrays de controles es que pueden compartir el cdigo de los eventos y
permitir un tratamiento conjunto por medio de bucles for.

A continuacin se muestra el cdigo correspondiente a los procedimientos que tratan los
eventos de este ejemplo.

Option Explicit
Public Brojo, Bverde, Bazul As Integer
Public Frojo, Fverde, Fazul As Integer

Private Sub
cmdSalir_Click()
End
End Sub

Private Sub
Form_Load()
Brojo = 0
Bverde = 0
Bazul = 0
Frojo = 255
Fverde = 255
Fazul = 255
lblCuadro.BackColor = RGB(Brojo, Bverde, Bazul)
lblCuadro.ForeColor = RGB(Frojo, Fverde, Fazul)
End Sub

Private Sub hsbColor_Change(Index As
Integer) If optColor(0).Value =
True Then
lblCuadro.BackColor = RGB(hsbColor(0).Value,
hsbColor(1).Value, _


Dim i As Integer
For i = 0 To 2
hsbColor(2
).Value)
txtColor(i).Text = hsbColor(i).Value
Next i
Else
lblCuadro.ForeColor = RGB(hsbColor(0).Value,
hsbColor(1).Value, _


For i = 0 To 2
hsbColor(2
).Value)
txtColor(i).Text = hsbColor(i).Value
Next i
End If








47
Visual Basic 6.0


End Sub

Private Sub optColor_Click(Index As Integer)
If Index = 0 Then 'Se pasa a cambiar el fondo
Frojo = hsbColor(0).Value
Fverde = hsbColor(1).Value
Fazul = hsbColor(2).Value
hsbColor(0).Value = Brojo
hsbColor(1).Value = Bverde
hsbColor(2).Value = Bazul
Else 'Se pasa a cambiar el texto
Brojo = hsbColor(0).Value
Bverde = hsbColor(1).Value
Bazul = hsbColor(2).Value
hsbColor(0).Value = Frojo
hsbColor(1).Value = Fverde
hsbColor(2).Value = Fazul
End If
End Sub

El cdigo de este ejemplo es un poco ms complicado que el de los ejemplos anteriores
y requiere unas ciertas explicaciones adicionales adelantando cuestiones que se vern
posteriormente:


1. La funcin RGB() crea un cdigo de color a partir de sus argumentos: las
componentes RGB (Red, Green and Blue). Estas componentes, cuyo valor se almacena
en un byte y puede oscilar entre 0 y 255, se determinan por medio de las tres barras de
desplazamiento.


2. El color blanco se obtiene con los tres colores fundamentales a su mxima
intensidad. El co- lor negro se obtiene con los tres colores RGB a cero. Tambin se
pueden introducir con las constantes predefinidas vbWhite y vbBlack,
respectivamente.


3. Es importante disponer de unas variables globales que almacenen los colores del
fondo y del texto, y que permitan tanto guardar los valores anteriores de las barras
como cambiar stas a sus nuevos valores cuando se clica en los botones de opcin. Las
variables globales, definidas en la parte de definiciones generales del cdigo, fuera de
cualquier procedimiento, son visi- bles desde cualquier parte del programa. Las
variables definidas dentro de una funcin o pro- cedimiento slo son visibles desde
dentro de dicha funcin o procedimiento (variables loca- les).


4. La funcin hsbColor_Change(I ndex As I nteger) se activa cada vez que se cambia el
valor en una cualquiera de las barras de desplazamiento. El argumento I ndex, que
Visual Basic define automticamente, indica cul de las barras del array es la que ha
cambiado de valor (la 0, la 1 la 2). En este ejemplo dicho argumento no se ha
utilizado, pero est disponible por si se hubiera querido utilizar en el cdigo.








48
Visual Basic 6.0


Men
Hamburguesa
Precio (Q.)
10.00
Hot Dog 5.00
Cerveza 8.00
Gaseosa 4.50
Ensalada 1 12.00
Ensalada 2 18.75
Tostadas 15.00
Refrescos 4.00
Pltanos Fritos 25.00
Porcin de pastel Chocolate 8.50
Porcin de pastel 3 leches 10.00
Porcin de pastel fresa 10.00

Ejemplo 2

Desarrolle un programa que muestre el men para el restaurante Antojitos y que calcule
las ventas totales al final del da, asi como los impuestos a pagar (12 % ). El men de
ejemplo es el siguiente:




Para el diseo de la interfaz del programa se presenta el siguiente ejemplo:











49
Visual Basic 6.0







Paso #1

Para el diseo del cuadro de men utilizaremos el control Microsoft hierarchical
FlexGrid. Seleccione el Men Proyecto y elija la opcin Componentes, en la grfica se
puede observar la ventana componentes y la forma como se presenta en la caja de
herramientas. Luego active la casilla de verificacin Microsoft hierarchical FlexGrid
Control 6.0 OLEDB y clic sobre el botn Aceptar. El control se agregar al cuadro de
herramientas.








Paso #3. Ubique los siguientes controles en el formulario:

14 Etiquetas.
14 Cajas de texto.
1 Control MSHFlexGrid.
3 Botones de Comando.

Paso #4

Elabore el diseo de entrada y salida de productos. Al terminar de colocar sobre el
formulario los controles, seleccione cada uno de ellos y modifique sus propiedades, en la
ventana de propiedades del control seleccionado, debe establecer las propiedades que se
requieren para este ejercicio, como se indica a continuacin.








50
Visual Basic 6.0



Formulario Etiqueta 1
Nombre Comida Rpida Nombre Hamburguesa
BorderStyle 3-fixed Dialog AutoSize True
Caption Los Antojitos Caption Hamgurguesa:
Moveable False
StartUpPosition 2-centerScreen
Etiqueta 2 Etiqueta 3
Nombre Hot_Dog Nombre Cerveza
AutoSize True AutoSize True
Caption Hot Dog: Caption Cerveza:
Etiqueta 4 Etiqueta 5
Nombre Gaseosa Nombre Ensalada1
AutoSize True AutoSize True
Caption Gaseosa: Caption Ensalada Cesar:
Etiqueta 6 Etiqueta 7
Nombre Ensalada2 Nombre Tostadas
AutoSize True AutoSize True
Caption Ensalada de Vejetales: Caption Tostadas:
Etiqueta 8 Etiqueta 9
Nombre Refresco Nombre Pltanos
AutoSize True AutoSize True
Caption Refresco: Caption Porcin de Platanos
Etiqueta 10 Etiqueta 11
Nombre Pastel_Chocolate Nombre Pastel3Leches
AutoSize True AutoSize True
Caption Porcin de Pastel Chocolate Caption Porcin Pastel 3 Leches
Etiqueta 12 Etiqueta 13
Nombre PastelFresas Nombre VentaTotal
AutoSize True AutoSize True
Caption Porcin de Pastel Fresa Caption Venta Total Q.:
Etiqueta 14
Nombre Impuesto
AutoSize True
Caption Impuesto Q.:





MSHFlexGrid1

Nombre Men
Font Verdana (Negrita 10)
FontFixed Verdana (Negrita 10)








51
Visual Basic 6.0



Caja de Texto 1 Caja de Texto 2
Nombre THamburguesa Nombre THot_Dog
Text Vaco Text Vaco
Caja de Texto 3 Caja de Texto 4
Nombre TCerveza Nombre TGaseosa
Text Vaco Text Vaco
Caja de Texto 5 Caja de Texto 6
Nombre TEnsalada1 Nombre TEnsalada2
Text Vaco Text Vaco
Caja de Texto 7 Caja de Texto 8
Nombre TTostada Nombre TRefresco
Text Vaco Text Vaco
Caja de Texto 9 Caja de Texto 10
Nombre TPlatanos Nombre TPastelChocolate
Text Vaco Text Vaco
Caja de Texto 11 Caja de Texto 12
Nombre TPastelLeches Nombre TPaselFresa
Text Vaco Text Vaco
Caja de Texto 13 Caja de Texto 14
Nombre TVentaTotal Nombre TImpuesto
Text Vaco Text Vaco
Botn 1 Botn 2
Nombre Aceptar Nombre Limpiar
Caption &Acepat Caption &Limpiar
Botn 3
Nombre Salir
Caption &Salir
Picture C:\Archivos de Programa\Microsoft Visual Studio\Common\
Graphics\Icons\Arrows\Point04.ico
Style 1-Graphical


Paso #4

Se debe ingresar datos a la cuadricula. Doble Clic sobre el formulario y escriba el siguiente
Cdigo:

Private Sub Form_Load()
TVentaTotal.Enabled = False
TImpuesto.Enabled = False
Menu.Cols = 2
Menu.Rows = 12
Menu.FixedCols = 0
Menu.FixedCols = 1
Menu.TextArray(0) = "Men"








52
Visual Basic 6.0



Menu.TextArray(1) = "Precio"
Menu.TextArray(2) = "Hamburguesa"
Menu.TextArray(3) = "Q 10"
Menu.TextArray(4) = "Hot Dog"
Menu.TextArray(5) = " Q 5"
Menu.TextArray(6) = "Cerveza"
Menu.TextArray(7) = "Q 8 "
Menu.TextArray(8) = "Gaseosa"
Menu.TextArray(9) = "Q 3.50"
Menu.TextArray(10) = "Ensalada 1"
Menu.TextArray(11) = "Q 10"
Menu.TextArray(12) = "Ensalada 2"
Menu.TextArray(13) = "Q 18"
Menu.TextArray(14) = "Tostadas"
Menu.TextArray(15) = "Q 15"
Menu.TextArray(16) = "Refresco"
Menu.TextArray(17) = "Q 7"
Menu.TextArray(18) = "Pltanos Fritos"
Menu.TextArray(19) = "Q 25"
Menu.TextArray(20) = "Pastel Chocolate"
Menu.TextArray(21) = "Q 8"
Menu.TextArray(22) = "Pastel 3 leches"
Menu.TextArray(23) = "Q 10"
Menu.TextArray(24) = Pastel de Fresa
Menu.TextArray(25) = Q 10
End Sub

Paso #5. Doble Clic sobre el botn Aceptar, Escriba lo siguiente:
Private Sub Aceptar_Click()

Declara las variables a utulizar


Dim hamburguesa As Integer
Dim Hotdog As Integer
Dim Cerveza As Integer
Dim gaseosa As Integer
Dim ensalada1 As Integer
Dim ensalada2 As Integer
Dim tostada As Integer
Dim refresco As Integer
Dim platanos As Integer








53
Visual Basic 6.0
Dim pastelchcolate As Integer


Dim pastel3leches As Integer
Dim PastelFresa As Integer
Dim VentaTotal As Double
Dim Impuesto As Double


Guarda los valores de variables de tipo texto para cada producto


hamburguesa = Val(THamburguesa)
Cerveza = Val(TCerveza)
Hotdog = Val(THot_Dog)
ensalada1 = Val(TEnsalada1)
Ensalda2 = Val(TEnsalada2)
tostada = Val(TTostada)
refresco = Val(TRefresco)
platanos = Val(TPlatanos)
pastelchocolate = Val(TPastelCholate)
pastel3leches = Val(TPastelLeches)
PastelFresa = Val(TPastelFresa)


Suma de la venta total


VentaTotal = Hamburguesas * 10 + Hotdog * 5# + Cerveza * 8# + gaseosa * 3.5 _
+ ensalada1 * 10# + ensalada2 * 18# + tostada * 15# + refresco * 7# + platanos * 25# _
+ pastelchocolate * 8# + pastel3leches * 10# + PastelFresa * 10


Calcula el impuesto en la venta total


Impuesto = 0.12 * VentaTotal


Muestra los resultados en la caja de texto


TVentaTotal = Str(VentaTotal)
TImpuesto = Str(Impuesto)


End Sub








54
Visual Basic 6.0


Paso # 6 Doble clic sobre el botn limpiar, escriba el siguiente cdigo:


Limpia las cajas de texto


Private Sub Limpiar_Click()
THamburguesa = ""
TCerveza = ""
TGaseosa = ""
TTostada = ""
THot_Dog = ""
TEnsalada1 = ""
TEnsalada2 = ""
TRefresco = ""
TPlatanos = ""
TPastelChocolate = ""
TPastelLeches = ""
TVentaTotal = ""
TImpuesto = ""
TPastelFresa =
THamburguesa.SetFocus


End Sub


Paso #7 A continuacin haga doble clic sobre el botn Salir y escriba el siguiente cdigo:
Private Sub Salir_Click()
End


End Sub


Paso #8 Guarde el programa con el nombre Los Antojitos.

Das könnte Ihnen auch gefallen