Sunteți pe pagina 1din 65

Visual Basic

VERSIN 6.0

VISUAL BASIC
Lenguajes de Programacin:

Un lenguaje de programacin es un medio para comunicar al hombre con la


computadora. Existen distintos tipos de lenguajes: Lenguajes de mquina,
ensambladores y lenguajes de alto nivel.

Lenguaje de Mquina:

Un programa, es una secuencia de instrucciones que orienta a la unidad central de


proceso en el desarrollo de clculos. Este programa debe expresarse en un lenguaje
que pueda comprender la CPU, y ella solo entiende su lenguaje de mquina, y cada
instruccin debe expresarse en 0 y 1 o sea en forma binaria. Como resulta muy difcil
expresar un programa en binario, han surgido lenguajes que facilitaron la tarea del
programador.

La Programacin Visual:

La revolucin causada por las computadoras tom otro rumbo cuando los diseadores
de los sistemas operativos, decidieron darles una apariencia visual, a partir de ese
momento las aplicaciones comenzaron a realizarse con smbolos y componentes
grficos.
La apariencia visual es un componente clave en cualquier software actual, durante la
ejecucin de un programa el contenido de la pantalla cambia a medida que pasamos
de un proceso a otro. Cada pantalla nueva trae consigo la posibilidad de ingresar
datos o recibir informacin textual, grfica, o auditiva.
Los controles grficos o visuales son recursos usados por esta interfaz grfica del
usuario. Este debe familiarizarse gradualmente con ellos, entendiendo su propsito y
uso, ya sea como usuario o posible programador de aplicaciones. Algunos de estos
componentes visuales, son: iconos, botones, imgenes, cajas de texto, etiquetas...
El modelo de programacin visual permiti un desarrollo de interfaces visuales,
mtodos y tcnicas utilizadas en el diseo y elaboracin de programas, que hizo que
se ampliara la participacin del usuario y que a su vez incentivara a nuevos
programadores a lanzarse a la creacin de sus propias aplicaciones.
Esta Interfaz grfica del usuario (GUI, Graphical User Interface) utiliza ventanas
similares a hojas de papel, donde es fcil desplegar informacin textual o grfica, y
donde cada ventana es independiente y agrupa solamente aquellos componentes que

Pgina 2

sirven para un mismo fin. Un programa puede tener decenas de ventanas, segn lo
complejo de la aplicacin.

LA INTERFAZ DE VISUAL BASIC:


Para comenzar a investigar cualquier programa, lo mejor es empezar por
el anlisis de la interfaz; que es la pantalla con la cual nos encontramos y con
la que nos tendremos que familiarizar para poder trabajar cmoda y
rpidamente. Con ms razn si se trata de VB, ya que no es una aplicacin,
sino un Lenguaje de Programacin generador de Aplicaciones.
Al comenzar VB le presenta una ventana como sta donde se distinguen
tres solapas y varias opciones:
Las solapas dicen:
1) Nuevo, que es la opcin
que utilizaremos y por lo tanto
debemos pulsar el botn
abrir.
2) Existente, sirve para abrir
un proyecto que ya tenemos
guardado con anterioridad.
3) Reciente, esta opcin es
parecida a la anterior pero
nos muestra los ltimos
proyectos con los que hemos estado trabajando.
Por lo tanto hacemos clic en el botn Nuevo, las otras opciones las explicaremos ms
adelante.
Ahora s nos encontramos con la Interfaz:

Esta pantalla presenta como


todas las aplicaciones de
Windows la Barra de ttulo, la
Barra de mens, que se
describir con posterioridad,
pero damos por supuesto que
Ud. ya se encuentra
familiarizado con las
aplicaciones Windows como
ser Word (Procesador de
textos), el Excel (Planilla de
clculos), etc.

1
3
6
4

Pgina 3

Por lo tanto, describiremos en principio las otras partes que hemos procedido a
numerar en color rojo para identificarlas mejor.
El nmero 1 es la Barra de Herramientas, el nro. 2 es la Caja de
Herramientas, el nro. 3 es el Explorador de Proyectos, el nro. 4 es la Ventana
de Propiedades, el nro. 5 la Ventana de posicin del Formulario y el nro. 6 es la
Ventana de diseo de Formularios, en donde disearemos las Aplicaciones.

Por lo tanto daremos una breve descripcin de cada uno de ellos, comenzando
por diferenciar la Barra de Herramientas de la Caja de Herramientas.
La Barra de Herramientas:

Caja de Herramientas
La Caja de Herramientas:
2
Con estas herramientas uno crea controles para agregar funcionalidad a sus
programas, son muy fciles de usar. Simplemente se hace un doble clic sobre la
herramienta seleccionada o clickea y luego, sobre el formulario, al cambiar el puntero
de Mouse ( ), hacemos click, y lo arrastramos, dibujndolo automticamente sobre el
formulario. Despus podr cambiarlos al tamao que desee. Se lo iremos explicando
a medida que vaya realizando las distintas aplicaciones que le proponemos a lo largo
del presente trabajo.

Los nombres de cada herramienta los puede leer dejando el puntero del Mouse sobre
la herramienta, y en ese momento aparecer un mensaje.

Pgina 4

Le indicamos los nombres de cada una de las herramientas que aparecen por defecto:

Cerrar la Caja

(1) Puntero
(2) PictureBox

(3) Label

(4) TextBox
(5) Frame

(6)CommandButton

(7) CheckBox
(8) OptionButton

(9) ComboBox

(10) ListBox
(11) HScrollBar

(12) VScrollBar

(13) Timer
(14) DriveListBox

(15) DirListBox

(16) FileListBox
(17) Shape

(18) Line

(19) Image

(21) OLE

(20)Data

Pgina 5

El Explorador de Proyectos:
(a) (b)

El explorador de proyectos permite observar cada


uno de los formularios que hayamos creado, lo
mismo que los mdulos que podemos agregarle
mismo.

al

En el presente ejemplo se puede


observar que nos encontramos en el Proyecto
nmero 1 y que cuenta con un solo Formulario.
En
su parte superior presenta dos botones de suma importancia, el primero, al
pulsarlo nos muestra la Ventana de Cdigo (a) y el segundo nos muestra la
Ventana de Diseo del Formulario (b).
La Ventana de Propiedades:
Esta ventana es una de las ms
importantes, se compone de la Ventana de
Controles:
A travs de la cual uno puede elegir el
control sobre el que se trabajar u observar si
en realidad estamos operando sobre el control
deseado.
Luego se pueden observar dos solapas;
Alfabtica y Por Categoras: Esto en realidad es
una cuestin de preferencias, en la forma de
manejarnos para seleccionar las distintas
modificaciones a realizar sobre las Propiedades
Tambin se pueden modificar sobre la parte
derecha de la ventana los distintos Valores
Por ltimo, en la parte inferior de la Ventana se puede observar una
ayuda en castellano (para los que tienen VB 5.0 en espaol) sobre la propiedad
seleccionada, en este caso nos muestra el Caption (Ttulo).

Ventana de Posicin del Formulario:

Esta ventana nos muestra la posicin exacta


donde aparecer nuestro formulario, dentro de la
pantalla. Si nos dirigimos hacia l con el Mouse,
automticamente este se modifica a cuatro
flechas y podemos arrastrar el formulario al sector
exacto de la pantalla en donde nos interesa que
aparezca.

Pgina 6

Ventana de Diseo del Formulario:

Sobre esta ventana es donde trabajaremos


permanentemente para crear la interfaz de nuestro
programa. El Formulario es un objeto contenedor
de otros objetos. Sobre l y a travs de la caja de
Herramientas, colocaremos los distintos controles,
que se llaman Objetos.
Al hacer doble click sobre el formulario se
pasa a otra Ventana, que se denomina Ventana de
Cdigo, en la cual se escriben las sentencias necesarias (Cdigo), para que funcione
nuestra aplicacin.

(a)

La Ventana de Cdigo:

Al hacer doble click sobre el Formulario, o


sobre cualquier Objeto que est contenido dentro
del Formulario, entramos automticamente en esta
Ventana. La misma presenta en la parte superior
dos Cajas Desplegables:

(b)

(c)

(a) Nos muestra todos los objetos que tenemos


creados dentro de nuestro proyecto.
(b) Muestra todos los eventos posibles para cada
uno de los objetos.
Por ltimo podemos observar donde escribiremos nuestras sentencias de cdigo (c).

Pgina 7

Atencin: Al grabar su proyecto VB, primero le pide a travs de una ventana el


nombre del Proyecto y luego le pide, a travs de otra ventana el nombre para el
Formulario (ambos nombres pueden ser iguales). En caso de usarse ms de un
formulario le ir pidiendo a travs de distintas ventanas un nombre para cada
formulario y por ultimo el nombre del Proyecto. No puede repetir los nombres de los
Formularios, pues se sobreescriben. Cuando quiera levantar esta aplicacin y grabarla
e un diskette para llevarla a otra mquina, hgalo por favor a travs del explorador de
Windows copiando los archivos a una carpeta. Ver que adems de los archivos .frm
de los formularios y .vbp del proyecto, Visual Basic cre automticamente otros
archivos de extensin .frx o .vbw, No los borre y cpielos tambin en el diskette, VB en
estos archivos compila las imgenes y funciones necesarias para ejecutar el
programa.

Datos y Tipo de datos:

Podemos decir que DATO: es la expresin general que describe los objetos con los
cuales opera una computadora. Hay diferencias bsicas entre los lenguajes de
programacin, segn los tipos de datos que usan, las operaciones permitidas con esos
tipos de datos y el modo en que pueden organizarse para formar estructuras ms
complejas. El conjunto de datos fijos que provee un lenguaje se llama: primitivos o
bsicos. En el caso de VB estos son:

Byte

Numrico: 0 a 255

Boolean

Lgico: verdadero o falso

Integer

Numeracin: entero (-32.768 a 32.768)

Long

Numrico: enteros largos

Single

Numrico: coma flotante (simple precisin)

Double

Numrico: coma flotante (doble precisin)

String

Cadena de caracteres

Currency

Numrico: enteros de 64 bits

Variant

Cualquier tipo de valor

Date

Fechas desde 1/1/100 hasta 31/12/9999

Object

Cualquier referencia a un objeto

Pgina 8

Las variables se declaran en la parte general con la sentencia Private y en los


procedimientos locales con la sentencia Dim.

USO DE DISTINTAS ESTRUCTURAS:

Las estructuras fundamentales son siete y se utilizan para la toma de


decisiones, para seleccionar un caso en particular, o para efectuar repeticiones
de acuerdo con el evento que ocurra o con las necesidades que tengamos para
la realizacin de nuestro programa. Las hemos dividido en:

1)

Estructura de Decisin Simple: If . . . Then.

2)

Estructura de Decisin Compleja: If . . . Then _ ElseIf _ Else .

3)

Estructura de Seleccin de un Caso: Select Case.

4)

Estructura para Bucles Simple: For . . . Next.

5)

Estructuras para Bucles Complejos: For . . . Next _ Step.

6)

Estructuras Repetitivas: Do . . . Loop.

7)

Temporizador: Timer.

Pgina 9

1) Estructura de Decisin Simple: If . . . Then:

Nos permite evaluar una condicin en el programa y llevar a cabo una serie de
acciones basndose en el resultado de dicha condicin. En su forma ms
simple, una estructura de If ... Then se escribe en una nica lnea
If condicin Then sentencia bsica del programa
Ej.:

If Total >= 20 Then Label1.Caption = Ha ganado

En el ejemplo anterior si se cumple la condicin del Marcador >= 20, el programa


deber asignar a la propiedad Caption del objeto Label1 el valor Ha ganado! ; si no,
saltar la sentencia de asignacin y ejecutar la siguiente lnea del proceso de suceso.
Este tipo de comparaciones genera siempre como resultado un valor Verdadero o
Falso. Una expresin no puede producir otro tipo de Valor.

2) Estructura de Decisin Compleja: If . . . Then _ ElseIf _ Else:


VB cuenta tambin con esta estructura que permite incluir varias expresiones
condicionales y puede ocupar varias lneas de cdigo.

If condicin1 Then
Sentencias a ejecutar si condicin1 es Verdadera
ElseIf condicin2 Then
Sentencias a ejecutar si condicin2 es Verdadera
[ElseIf condicin3 etc. cuantas lneas requiera de condiciones Then]
Else
Sentencias a ejecutar s ninguna de las condiciones Verdadera
End If
VB examina la condicin1 en primer lugar. Si esta expresin es Verdadera, se ejecuta
el bloque de sentencias que hay debajo. Si la primera condicin no es Verdadera,
evaluar la segunda y as sucesivamente cuantos bloques de sentencias ElseIf
existan. Por ltimo, si ninguna condicin es Verdadera, se ejecutarn las sentencias
que siguen a la palabra clave Else. La estructura debe cerrarse con la palabra clave
End If.

Importante: El orden de las expresiones condicionales es muy importante en


este tipo de estructuras, sobre todo, cuando nos manejamos con valores numricos,
hay que ordenar las distintas posibilidades de menor a mayor.

Pgina 10

3) Estructura de Seleccin de un Caso: Select Case:


Esta estructura es bastante similar a la anterior, la diferencia es que se utiliza
una variable y se puede incluir ms de un valor en cada clusula Case (separados por
comas). La sintaxis de una estructura Select Case es la siguiente:
Select Case variable
Case valor1Sentencias de programa a ejecutar si valor1 coincide con variable
Case valor2
Sentencias de programa a ejecutar si valor2 coincide con variable
Case valor3
Sentencias de programa a ejecutar si valor3 coincide con variable
End Select

Ejemplo:

Select Case Edad


Case 18
Label1.Caption = Estas en la secundaria
Case 21
Label1.Caption = Ya eres mayor de edad
Case 65
Label1.Caption = Disfruta de la jubilacin
End Select

Tambin permite una clusula Case Else, que podemos utilizar para mostrar un
mensaje si ninguna de las edades anteriores coincide:

Pgina 11

Ejemplo:

Select Case Edad


Case 18
Label1.Caption = Estas en la secundaria
Case 21
Label1.Caption = Ya eres mayor de edad
Case 65
Label1.Caption = Disfruta de la jubilacin
Case Else
Label1.Caption = Linda edad
End Select

Tambin podemos utilizar operadores de comparacin ( =, <>, >, <, >=, <=);
para ello debemos deberemos utilizar las palabras claves Is o la palabra clave To:

Siguiendo el ejemplo anterior:

Select Case Edad


Case Is < 13
4) Estructuras para Bucles: For . . . Next:

Un bucle For . . . Next se utiliza para ejecutar sentencias un nmero concreto


de veces dentro de un procedimiento de suceso. Esto resultar muy til para no tener
que repetir una larga lista de sentencias que realicen lo mismo. VB nos permite definir
un grupo de sentencias y que dichas sentencias se ejecuten tantas veces como
queramos. La sintaxis es la siguiente:

For variable = inicio To fin


Sentencias que se van a repetir

Next variable

Pgina 12

Por ejemplo, el siguiente bucle For ... Next emite cinco pitidos en una sucesin
rpida a travs del parlante de la computadora, primero debe declarar una variable de
tipo Integer a la que por convenio se denomina i para realizar este tipo de bucle For ...
Next, la variable se ir incrementando en uno (la primera vez contendr el valor 1, o
valor de inicio y la ltima vez contendr el valor 5 o valor final):

For i = 1 To 5
Beep
Next i

Para la computadora esto, sera lo mismo que escribir cinco veces lo mismo:

Beep
Beep
Beep
Beep
Beep

5) Estructuras para Bucles Complejos: For . . . Next _ Step:

Sirve para crear un bucle con un patrn contador distinto de a, 2, 3, etc.,


podemos especificar un valor distinto para el inicio del bucle y despus utilizar la
palabra clave Step para incrementar el contador en intervalos distintos. Por ejemplo, el
bucle:

For i = 5 To 25 Step 5

Print i

Next i

Pgina 13

Imprimir en el formulario la siguiente secuencia de nmeros:

5
10
15
20
25

Sentencia Exit For:


Pueden existir casos en los que hay que interrumpir el bucle For ... Next antes de su
finalizacin, para esto hay que usar la sentencia Exit For. De esta forma podremos
responder a un suceso especfico que ocurra antes de que el bucle se haya ejecutado
el nmero de veces previsto. Por ejemplo:

For i = 1 To 30
Nombre = InputBox(Escriba su nombre o escriba Fin para Salir)
If Nombre = Fin Then Exit For
Print Nombre
Next i
El bucle solicita al usuario treinta nombres y los imprime en el formulario, a
menos que se introduzca la palabra Fin, y en ese caso automticamente saldr del
bucle.
6) Estructuras Repetitivas: Do . . . Loop:
Este tipo de bucle ejecuta un grupo de sentencias hasta que cierta condicin
sea Verdadera. Son muy tiles, porque a menudo no podemos saber de antemano
cuntas veces debemos repetir un bucle. Como pudimos observar en el caso anterior
de Exit For.
La sintaxis es:

Do While condicin
Bloque de sentencias
Loop

Pgina 14

Ejemplo:

Do While Nombre <> Fin


Nombre = InputBox(Escriba su nombre o escriba Fin para Salir)
If Nombre <> Fin Then Print Nombre
Loop
Otra forma sera:
Do
Nombre = InputBox(Escriba su nombre o escriba Fin para Salir)
If Nombre <> Fin Then Print Nombre
Loop While Nombre <> Fin

Como evitar un bucle sin fin (Until):

Los bucles Do utilizan la palabra clave While para ejecutar una serie de
sentencias mientras que la condicin del bucle sea verdadera. VB tambin nos
permite utilizar la palabra clave Until; esta palabra puede utilizarse al principio o
al final de una condicin. Ejemplo:
Do Nombre = InputBox(Escriba su nombre o escriba Fin para Salir)

If Nombre <> Fin Then Print Nombre

Loop Until Nombre = Fin

Como puede observar es muy similar al que utiliza la palabra clave While, a
excepcin de que la condicin suele contener el operador contrario: operador = (igual
a) frente a <> (distinto de).-

Pgina 15

8)

Temporizador: Timer

VB nos permite ejecutar un grupo de sentencias durante un perodo especfico


de tiempo mediante el uso de un objeto temporizador.
Un objeto temporizador es un cronmetro invisible en tiempo de ejecucin, que
nos da acceso al reloj del sistema desde nuestros programas. Puede utilizarse
para ir descontando tiempo, provocar un retraso en un programa, o para repetir
una accin un cierto nmero de intervalos. Los objetos temporizadores tienen
una precisin relativa de 1/1000 de segundo.
Para establecer el intervalo de un temporizador utilizaremos la propiedad
Interval. Una vez activado el temporizador, se ejecuta de forma infinita
(realizando un procedimiento de suceso en el intervalo prescrito) hasta que el
usuario detenga el programa o se desactive el temporizador.
Cuadros de Mensaje: Funcin MsgBox

VB cuenta con funciones, que no son otra cosa que procedimientos automatizados. En
este caso las tpicas ventanitas de Windows que nos despliegan un mensaje, ya sea
Informativo, de Alerta, Interrogativo...
La Funcin MsgBox consta de varios argumentos, si vamos a Ayuda y escribimos el
nombre de la funcin se nos indican los posibles valores de los mismos.
En este caso usamos El Prompt que es el mensaje que queremos desplegar y que va
entre comillas por ser una cadena de caracteres, luego el valor 1 para indicar que
vamos a desplegar un icono y le concatenamos (con + o con &) el valor del icono
requerido, luego por ltimo el ttulo de la ventana de mensaje, tambin entre comillas.

MsgBox "Este es un Cuadro de Mensaje", 1 + 64, "Informacin"


MsgBox "Est seguro que quiere hacer esto?", 1 + 32, "Interrogacin"
MsgBox "Siga as, est haciendo un muy buen trabajo!", 1 + 48, "Exclamacin"
MsgBox "Pare, Mire y Escuche", 1 + 16, "Atencin"

Pgina 16

Cuadros de Entrada: Funcin InputBox

Esta funcin abre una ventanita con una caja de texto donde le permite al usuario
entrar un tipo de datos. Por ejemplo podramos usarla para pedir una contrasea, una
cantidad, una fecha, un nombre...
La sentencia Option Explicit debe estar al comienzo de la ventana cdigo, podemos
insertarla manualmente o eligiendo: Herramientas /Opciones /Se requiere declaracin
de variables. Y seleccionamos ese CheckBox. Esto hace que VB controle si todas las
variables que usamos han sido declaradas. (Repasar: Identificadores: Constantes y
Variables en Resolucin de problemas y Algoritmos).
En este caso la variable es 'nombre' y de tipo String: cadena de caracteres.
La debemos dimensionar como variable de un tipo determinado para ahorrar memoria,
la sentencia Dim cumple esta funcin.
nombre = InputBox("Por Favor Introduzca su Nombre.")

Cambiar de formulario activo


Para pasar de un formulario a otro, vamos a usar estos dos mtodos: primero se
oculta el formulario activo (Hide) y luego se muestra el que se vincula a la accin
ejecutada (Show).
Form2.Show
Form1.Hide

Zonas calientes o HotSpot:

Muchas veces cuando navegamos por Internet o en algunas enciclopedias, vemos que
al pasar el puntero del mouse por encima de una imagen o texto, este se transforma
en una manito, que nos indica que all es posible una accin. Vamos a ver como
podemos hacer esto con VB.

Pgina 17

Funcin Ucase
Sube a maysculas el texto ingresado por el usuario, lo que permite escribirlo de
distinta manera, por ejemplo: todo con maysculas, algunas maysculas y otras
minsculas y antes de chequearlo o corregirlo V.B. lo pasa todo a maysculas
Private Sub Image1_Click()
pais = InputBox("De que pas es esta bandera?", "Banderas")
If UCase(pais) = "BRASIL" Then
Label2.Caption = "Correcto!"
Else
Label2.Caption = "Incorrecto!"
End If
End Sub
Funcin: RGB

Esta funcin nos permite determinar colores en tiempo de ejecucin, combinado los
tres colores bsicos, Red, Green, Blue de ah las siglas RGB, con valores que van del
0 al 255,(o sea con una paleta de 256 colores). Para esto debemos convocar a la
funcin RGB y entre parntesis especificar un valor para cada uno de sus colores.
Veamos un ejemplo en el siguiente ejercicio.

Funcin:QbColor

Una manera ms sencilla es usar para determinar colores, la funcin QBColor, que
maneja solo 16 colores, o sea valores del 0 al 15. Si quieren ver la tabla de colores en
Ayuda, ingresando QBColor aparece la lista correspondiente a cada color, sino en el
siguiente ejercicio probaremos los distintos colores, ingresando en dos cajas de texto
los valores correspondientes para asignarlos a una tercer caja de texto donde
cambiaremos el color del fondo (Backcolor) de la caja de texto y su letra (ForeColor).

Arreglos: Array de controles:

En el Mdulo 1 habamos definido un array o arreglo, ahora vamos a aplicarlo en VB


pero para la creacin de un arreglo de controles, todos con las mismas caractersticas
pero con un subndice que los identifica.

Pgina 18

Controles Line y Shape:

VB cuenta con dos controles que permiten disear figuras y lneas: estos son Shape y
Line, que podemos encontrar en su caja de herramientas estndar.
Estos controles no responden a eventos, o sea no tienen procedimientos que
posibiliten acciones.

Mtodo Move:

En VB adems del Timer fundamental para cualquier animacin, control que


automatiza la secuencia de imgenes, hay un mtodo muy importante que se llama
Move: que tiene dos argumentos fundamentales x, y que indican que valor se mueve
sobre la coordenada X y que valor sobre la coordenada Y.
Controles de texto: Text y RichTextBox

Para mostrar texto VB cuenta con su control estndar Text, vamos a ver como
hacemos para directamente desplegar un texto ya copiado y grabado en un archivo
con extensin TXT, que podemos tipear en cualquier editor como el NotePad, por
ejemplo y otro texto con formato RTF (Rich Text File, o sea archivo de texto
enriquecido), este formato puede grabarse en el Word, vamos a grabar como... y all
seleccionamos RTF.
Se llama texto enriquecido porque permite incluir distintos tipos de letras, colores y
tamaos o sea ms variantes en su formato.
Y el control que vamos a usar para desplegar este texto con formato RTF es el
RichTextBox, para el texto comn o sea con formato TXT, usaremos un TextBox de la
caja de herramientas estndar.

Editor de Menes:

VB posee un Editor o creador de Menes para sus Aplicaciones y para abrirlo


podemos seleccionarlo de la barra de iconos cuya imagen es:

Pgina 19

Al abrirlo se nos presenta la siguiente ventana:

Explorador de imgenes:

Visual Basic cuenta con controles especiales para el manejo de Archivos dentro del
sistema, podemos identificar el dispositivo, el directorio, los subdirectorios y carpetas
y luego abrir un archivo en particular y desplegarlo en un control, adecuado para texto
o imagen.

Procedimiento MouseDown, MouseUp:

Hasta ahora hemos trabajado con el Procedimiento Click como uno de los ms
usados, si descomponemos este movimiento, tenemos dos procedimientos dentro del
mismo apretar el botn izquierdo del mouse, y luego soltarlo.

Control Data: Base de Datos

VB tiene un control que nos permite conectarnos a una Base de Datos y


recorrer alguna de sus tablas, volcando sus distintos campos en controles de texto. El
control data se encuentra en la Caja de Herramientas.

Pgina 20

Codificacin de botones para la relacin con Access


Primero

ltimo

Data1.Recordset.MoveFirst

Data1.Recordset.MoveLast

Siguiente

Previo

Data1.Recordset.MoveNext

Data1.Recordset.MovePrevious

If Data1.Recordset.EOF Then

If Data1.Recordset.BOF Then

MsgBox "Este es el ltimo Registro.", ,


"Registros"

MsgBox "Este es el Primer Registro.", ,


"Registros"

Data1.Recordset.MoveLast

Data1.Recordset.MoveFirst

End If

End If

Buscar

Eliminar

buscar = InputBox("Ingrese la Ciudad a


Buscar:", "Bsqueda")

mensaje = MsgBox("Est seguro de Borrar el


registro?", vbOKCancel, "Eliminacin de
Registros")

Data1.Recordset.FindFirst "City=" & "'" &


buscar & "'"

If mensaje = vbOK Then

If Data1.Recordset.NoMatch Then

Data1.Recordset.Delete

mensaje = MsgBox("No existe la Ciudad


Buscada.", vbCritical)

Data1.Recordset.MoveNext

Command4.Enabled = False

If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast

Else

End If

Command4.Enabled = True
End If

Guardar

Agregar

Data1.Recordset.AddNew

mensaje = MsgBox("Complete los datos y


haga un Click" + Chr(10) + "en el botn de
registro siguiente.", vbInformation)
Data1.Recordset.AddNew
Text2.SetFocus

Pgina 21

EJERCICIOS RESUELTOS
Ejercicio N 1:
Realizar un programa que muestre el texto: Nuestro primer trabajo en Visual Basic!
al pulsar sobre un botn.
Explicacin:
Una vez abierto el programa, debemos preparar el formulario para que tenga el
aspecto que deseemos. Para ello en primera instancia introducimos el control que
contendr el texto que debe visualizarse cuando pulsemos un botn creado para tal
fin. Seleccionamos del cuadro de herramientas el control LABEL (etiqueta). Este tipo
de control se usa para escribir textos que se mantendrn invariables a lo largo de la
ejecucin del programa. Una vez colocado sobre el formulario, trabajaremos con sus
propiedades para que adquiera el aspecto deseado.
Para ello establecemos en la ventana propiedades las siguientes caractersticas:
a. La propiedad que hace referencia a su contenido es Caption. Lo que aqu se
escriba se mostrar al ejecutarse el programa. Escribimos el texto que se
desea visualizar.
b. Autosize ajusta el tamao de la etiqueta al texto que se introduzca
c. En la propiedad BackColor establecemos el color de fondo del cuadro de texto.
d. La propiedad Font nos permite seleccionar el tipo de letra.
e. Usamos ForeColor para establecer el color de la fuente.
f. Con Alignment establecemos la alineacin del texto dentro del cuadro de texto.
g. En este caso no debe verse el texto cuando se ejecute el programa sino al
pulsar sobre el botn correspondiente, por lo tanto emplearemos la propiedad
Visible que deber contener el valor False.
h. Appearance establece la apariencia, vista 2D o 3D
i. BorderStyle permite elegir el tipo de marco.
j. BackStyle establece el tipo de fondo: puede ser opaco o transparente.
El paso siguiente ser preparar el botn que permitir visualizar el texto al pulsarlo,
para ello seleccionamos del cuadro de herramientas el control COMMANDBUTTON (botn de
comando). Antes de programar la accin que realizar al ser pulsado vamos a modificar su
aspecto trabajamos para ello con algunas de sus propiedades:
k.
l.

Nombre identificador del objeto o control seleccionado.


Caption lo que escribamos aqu ser el texto que se visualice sobre el botn,
escribimos Mostrar frase.
m. Style
si se sita en 1 (modo grfico) se podrn modificar varias de sus
caractersticas como el color de fondo, o colocarle una imagen como fondo.
n. BackColor establece el color de fondo.
o. Font permite elegir el tipo de fuente a emplear.
p. Enabled si su valor es True, el botn estar activado al ejecutarse el programa;
si es False aparecer desactivado.
Por ltimo deber escribirse el cdigo que permita visualizar la frase cuando se pulsa
sobre el botn correspondiente, para ello hacemos doble clic sobre dicho botn. Se abrir la
ventana Cdigo. En la que escribiremos la lnea que figura a continuacin.
Lista desplegable que con-

Lista desplegable que con-

tiene una lista de los con-

tiene una lista de los even-

troles que se usaron

tos relacionados con el


Procedimiento

control

Pgina 22

Los procedimientos asociados a un evento comienzan con las palabras Private


Sub y finalizan con End Sub. Las instrucciones que figuran entre ambas conforman
las acciones que se ejecutarn cuando el usuario realice el evento especificado.
Dentro de un procedimiento pueden cambiarse las propiedades de un
formulario o de un control como respuesta a una determinada accin del usuario. En
nuestro caso necesitamos que cuando se pulse sobre el botn se pueda visualizar el
contenido de la etiqueta que contiene el texto en cuestin; para lo cual es necesario
modificar la propiedad Visible, que contena valor falso y adjudicarle valor verdadero.
Para modificar las caractersticas de un control se emplea la siguiente sintaxis:

Nombre del objeto.propiedad = valor de la propiedad


Procedemos a ejecutar nuestro proyecto, para ello hacemos clic sobre el icono
de comenzar de la barra de herramientas

Para volver a nuestro proyecto, hagamos un clic sobre el


botn de la barra de herramientas de finalizar
Vamos a completar nuestro programa, le incluimos un botn que nos permita
abandonar el programa cuando pulsemos sobre l y escribimos el cdigo
correspondiente.

Elaboremos el mismo programa pero estableciendo el texto desde la ventana


cdigo.

Ejercicio N 2
Elaborar un programa que permita al pulsar sobre un botn visualizar la leyenda
Estoy trabajando solo y modificar el nombre de la ventana por Desarrollo de una
aplicacin. La asignacin del texto debe establecerse por lnea de comando.

Ejercicio N 3
Elaborar un programa que permita visualizar un mensaje de bienvenida y uno de
despedida (ambos en la misma etiqueta). Cada mensaje deber visualizarse segn se
pulse sobre el botn correspondiente. Deber contener, adems, un botn que permita
abandonar el programa.
Establecer desde las propiedades un color de fondo para el formulario y un nombre.
El mensaje de bienvenida deber contener las siguientes caractersticas:
Texto en color, fuente en tamao 20, en negrita, fondo de la etiqueta en un color que
contraste con el texto.

Pgina 23

El mensaje de despedida deber contener las siguientes caractersticas:


Texto en otro color, tamao 14, en cursiva, subrayado, deber cambiar el tipo de letra
y el color de fondo de la etiqueta y del formulario

Ejercicio N 4
Realizar un proyecto que permita generar la siguiente aplicacin:
El formulario deber contener una etiqueta, con un color de fondo, en la que se
visualice la siguiente leyenda: Haga doble clic para agrandar el formulario y un botn
que permita al usuario abandonar el programa. Al hacer doble clic sobre la leyenda
correspondiente debe ampliarse el formulario de tal forma que los valores de las
respectivas propiedades sean: Height = 8000 y Width = 11000. En la barra de ttulo del
mismo debe figurar: Uso de las propiedades Height y Width, el fondo de la etiqueta
debe ser el mismo que el del formulario y el tamao de la fuente debe disminuir a 8
puntos. Agregarle al programa anterior un botn Cancelar que devuelva al formulario
el aspecto original.
Ejercicio N 5
Elaborar una aplicacin que cargue los datos detallados segn el botn sobre el que
se pulse, el formulario deber mostrar un formato similar al siguiente: emplear textbox.
El color preferido deber visualizarse en negrita y con el texto en el color mencionado.

Ejercicio N 6
Elaborar un programa que permita hallar la suma de dos nmeros.
Colocamos 4 label y un botn. Los dos primeros
label contendrn los datos. El tercero tendr el
texto el resultado de la suma es: y el ltimo
tendr el resultado.
La asignacin y rdenes se establecern por comando. Realizarlo y analizar qu
sucede.

Pgina 24

Para lograr el efecto deseado debemos anteponer a cada label la funcin VAL

La funcin Val es una rutina especial que convierte un argumento de texto en


un valor numrico. Esta conversin es necesaria cuando se deben efectuar
operaciones matemticas con valores introducidos en cuadros de textos;
puesto que el tipo de datos que estos contienen son textos, no nmeros
Pero an el programa no resulta prctico puesto que solo suma los nmeros
establecidos.
Agreguemos dos textbox y otro botn e incorporemos el concepto de variable. Agregar
un botn que limpie la pantalla
Ejercicio N 7
Se desea realizar un programa que permita hallar el rea de un rectngulo ingresando
sus dimensiones.

Ejercicio N 8
Realizar un programa que muestre el texto Hola mundo al pulsar sobre un botn y
desaparezca cuando se pulsa nuevamente.

Estructura de decisin

Ejercicio N 9
Confeccionar una aplicacin que permita al usuario
elegir entre dos colores para el fondo del formulario.
Si el casillero permanece vaco el formulario deber
aparecer en color gris.

Ejercicio N 10
El formulario contendr la foto de dos presidentes cuando el usuario haga clic sobre
alguna de ellas deber aparecer el nombre del presidente. El formulario deber
contener adems, un botn que permita limpiar el texto y uno que permita salir del
programa.

Pgina 25

Ejercicio N 11
Realizar una aplicacin que permita al usuario, visualizar una imagen del tipo de
transporte (areo, terrestre o acutico) que elija escribiendo su nombre. El programa
debe contener, adems un botn que permita borrar lo escrito anteriormente y
desaparezca la imagen correspondiente. El formulario deber contener un fondo
(paisaje) que muestre los tres elementos
Ejercicio N 12
Elaborar una aplicacin que permita seleccionar la imagen
del animal que se desea observar segn se seleccione la
casilla de verificacin correspondiente. Considerar 3
animales

Control CheckBox
Tambin llamada casilla de
seleccionado, no seleccionado.

verificacin,

presentan

dos

estados

posibles:

La propiedad Value es la que establece su estado, si sta adquiere valor 1 significa


que est seleccionado, si tiene valor 0 no lo est. Es posible seleccionar varias casillas
simultneamente. En la propiedad Caption se coloca el texto que aparecer al lado de
la casilla.
Ejercicio N 13
Vamos a realizar un programa que simule una pantalla
que permita realizar una compra interactiva. El formulario
deber mostrar el siguiente aspecto:

Control OptionButton
Tambin llamados botones de opcin, son botones
circulares que se utilizan para elegir una opcin de un
grupo, estos pueden activarse o desactivarse. En un mismo formulario pueden
emplearse varios grupos de opciones pero deben organizarse segn al tema que
hagan referencia y se colocarn dentro de un marco. Es decir que se trabajar con dos
tipos de objetos frame y option. Dentro de cada grupo puede seleccionarse slo un
botn.

Pgina 26

Al disearse un formulario que contenga botones de opcin, debe primero aplicarse el


control Frame (marco), para reunir dentro de l los botones que pertenezcan al mismo
grupo. Por lo tanto primero se dibuja el marco, seleccionando el control
correspondiente, y sobre l se dibuja un botn de opcin. A continuacin se selecciona
(el botn recin dibujado), se copia y se pega (seleccionando previamente el marco
dentro del cual deber quedar dibujado el segundo botn); el programa abrir un
cuadro de dilogo preguntando si se desea transformar en una matriz... se responde
afirmativamente. Una vez completada la creacin de los n botones, cada uno de ellos
tendr el mismo nombre y entre parntesis aparecer el nmero de orden que tendr
dentro del grupo.
La propiedad que se usa para saber si el botn es activado o no es Value.
Por defecto aparece activado el primer botn. Para que esto no suceda en el
procedimiento LOAD-FORM debe escribirse el siguiente cdigo:

Option1(0).Value = False
Option1(1).Value = False
Option1(2).Value = False

para escribir en el Load-Form debe hacerce doble clic sobre


cualquier punto vaco del formulario

A continuacin se muestra un ejemplo utilizado para programar el evento que se


producir al seleccionar sobre el botn correspondiente, en nuestro caso visualizar la
imagen correspondiente.
Private Sub Option1_Click(Index As Integer)
If Option1(0).Value = True Then
Image1.Visible = True
Else
Image1.Visible = False
End If

Control ListBox
Los cuadros de lista son objetos que se usan cuando el usuario debe elegir una opcin
de una lista de posibilidades; slo puede seleccionarse un nico registro de la lista. El
contenido se puede cargar desde el cuadro propiedades a la derecha de la propiedad
List, se pulsa Control + Enter para pasar al rengln siguiente. Los distintos
elementos que conforman la lista reciben un nmero de orden dentro de la misma,
comenzando por el 0. La propiedad que contiene el nmero de orden de cada tem se
llama ListIndex, cuando el usuario no elige algn elemento de la lista esta propiedad
tiene el valor -1.

Pgina 27

Ejemplo
El objetivo es que segn la opcin de pago elegida se visualice una leyenda
explicando las facilidades correspondientes.
Para ello colocamos sobre el formulario el control correspondiente, lo seleccionamos y
desde el cuadro propiedades empleando la propiedad List incorporamos los
elementos que deber contener la lista.
Private Sub List1_Click()
If List1.ListIndex = 0 Then Label1.Caption = "15% de descuento"

Listbox

If List1.ListIndex = 1 Then Label1.Caption = "5% de descuento"


If List1.ListIndex = 2 Then Label1.Caption = "slo dos pagos"
If List1.ListIndex = 3 Then Label1.Caption = "6 cuotas sin intereses"

Programacin
acciones

que

correspondiente
deben

producirse

seleccionar algn elemento de la lista

End Sub

Control ComboBox
Un cuadro combinado es una mezcla de cuadro de texto y lista desplegable. Presenta
la ventaja de poder seleccionar la opcin deseada de una lista ya preparada, en vez
de escribirla; pues al escribir la opcin requerida en un cuadro de texto puede
cometerse errores.
Para llenar los datos que se observarn se procede de dos formas:
Usando la propiedad List al pulsar sobre el cuadro que est a la derecha se abrir una
lista vaca que se completar con los elementos que se desean visualizar. Para pasar
al rengln siguiente se deben pulsar las teclas Enter + Control.
Los elementos de la lista se pueden incluir por cdigo en el procedimiento FORMLOAD (haciendo doble clic sobre el formulario) pues todo lo que aqu se escriba se
ejecuta cada vez que se ponga en marcha el programa. La sintaxis que se emplea es:
Combo.additem elemento de la lista
ejemplo: Combo2.AddItem "15% de descuento"
Los distintos elementos que conforman la lista reciben un nmero de orden dentro de
la misma, comenzando por el 0. La propiedad que contienen el nmero de orden de
cada tem se llama ListIndex

Pgina 28

las
al

Ejemplo
Supongamos que creamos una lista combinada con dos opciones y segn el elemento
elegido se visualizar la imagen correspondiente, la programacin ser la siguiente:
Private Sub Combo1_Click()
If Combo1.ListIndex = 0 Then

Combobox

Image5.Visible = True

Programacin correspondiente a las acciones que

Image2.Visible = False

deben producirse al seleccionar algn elemento de

End If

la lista

If Combo1.ListIndex = 1 Then
Image5.Visible = False
Image2.Visible = True
End If
End Sub

Ejercicio N 14
Realizar un programa que permita ingresar dos nmeros, seleccionar la operacin que
se desee realizar y visualizar el resultado

Para trabajar con el smbolo \ se debe


pulsar las teclas ALT 92

Ejercicio N 15
En un nuevo proyecto insertamos cuatro Botones o CommandButton con las
siguientes propiedades Caption: Informativo, Interrogativo, Exclamativo, Atencin.
El formulario se ve as:

Pgina 29

En la ventana cdigo insertamos en el evento Click de cada uno de los botones las
acciones que queremos que se efecten, en este caso desplegar una ventana con un
mensaje y un icono diferente:
Private Sub Command1_Click()' Botn Informativo
MsgBox "Este es un Cuadro de Mensaje", 1 + 64, "Informacin"
End Sub
Private Sub Command2_Click()'Botn Interrogativo
MsgBox "Est seguro que quiere hacer esto?", 1 + 32, "Interrogacin"
End Sub
Private Sub Command3_Click()'Botn Exclamativo
MsgBox "Siga as, est haciendo un muy buen trabajo!", 1 + 48, "Exclamacin"
End Sub

Private Sub Command4_Click()'Botn Atencin


MsgBox "Pare, Mire y Escuche", 1 + 16, "Atencin"
End Sub

Ejercicio N 16:
Realizar un programa que solicite ingresar la base y la altura de un rectngulo y
permita visualizar el rea del mismo. Emplear cuadro de entrada y salida.
Public b As Single
Public h As Single
Private Sub Command1_Click()
Dim resul As Single
resul = b * h
MsgBox "El rea del tringulo es: " & resul, 64, "resultado"
End Sub
Private Sub Form_Load()
b = Val(InputBox("Ingrese la base", "valor de la base"))
h = Val(InputBox("Ingrese la altura", "valor de la altura"))
End Sub

Como las variables b y h sern utilizadas en diferentes procedimientos deben


declararse en la seccin declaraciones de un mdulo, al principio del programa. Se
utiliza la palabra PUBLIC en vez de dim.

Pgina 30

Ejercicio N 17:
Realizar un programa que permita establecer la categora a la que pertenece cada
socio de un club segn su edad
Si la edad es menor a 12 aos la categora ser infantil
Si la edad es menor que 18 la categora ser cadete
Si es mayor o igual a 18 ser mayor
Deber visualizarse, en todos los casos, el nombre de la persona y la categora a la
que pertenece. Trabajar con cuadros de entrada/salida

Ejercicio N 18:
Realizar un programa que permita, conociendo las dimensiones de un cuadriltero,
calcular el rea si la figura es un cuadrado el permetro si la figura es un rectngulo. La
salida debe visualizarse en un cuadro de mensaje en el que se explique de qu figura
se trata y que se calcul de ella.

Ejercicio N 19:
Realizar un programa que permita, conociendo un nmero calcular su doble, su triple,
la tercera parte y su mitad. El ingreso de datos se realizar a travs de un cuadro de
entrada. Los resultados debern visualizarse cuando se pulse sobre un botn

Ejercicio N 20:
Conocidos los promedios de cada trimestre en una determinada materia, realizar una
aplicacin que permita establecer cul es la situacin de un alumno.

Ejercicio N 21:
Abrimos un nuevo proyecto e insertamos un botn, cuya propiedad caption sea:
Siguiente, luego agregamos otro formulario e insertamos otro botn cuyo caption sea:
Anterior. Para agregar al proyecto otro formulario, vamos a Proyecto / Agregar Form y
seleccionamos nuevo. Veremos en la ventana proyecto: dos Forms, el 1 y el 2. El

primer formulario se ve as:

Pgina 31

Les llamar la atencin que tenemos un icono en el botn. Para lograr esto debemos
modificar la propiedad Style del botn a Graphical y luego cargar un icono en la
propiedad Picture del botn, en este caso es una flecha seleccionada de la carpeta
Graphics/Icons que viene con la versin 5 de VB.
En el evento Click del botn del primer form ingresamos el siguiente cdigo:
Private Sub Command1_Click()
Form2.Show
Form1.Hide
End Sub
Y en el evento Click del segundo formulario:
Private Sub Command1_Click()
Form1.Show
Form2.Hide
End Sub
Al ejecutar la aplicacin haciendo Click pasamos de un formulario a otro.

Ejercicio N 22:

Abrimos un nuevo proyecto y en el formulario insertamos un botn en cuyo evento


Click se desarrolla la siguiente accin:
Option Explicit
Dim nombre As String
Private Sub Command1_Click()
nombre = InputBox("Por Favor Introduzca su Nombre.")
Print nombre
End Sub

Pgina 32

Ejercicio N 23:
Abrimos un proyecto nuevo, e insertamos en el formulario dos controles Image con su
propiedad Stretch a True para poder estirar el tamao del icono cargado, en este caso
para agrandar la imagen. Y en la propiedad Picture cargamos dos iconos a eleccin.
Luego agregamos una label con su propiedad Caption vaca. El Form se ve parecido a

esta imagen:

La Label1.caption inicialmente est vaca pero por cdigo establecemos que al hacer
Click en la imagen de la Tierra, la propiedad Caption se modifique, mostrando "Tierra"
y cuando hacemos Click en el Sol despliegue: "Sol".
A esto le vamos a agregar que cuando pasemos el puntero del mouse sobre la imagen
de la Tierra se muestre un icono de la tierra, y al pasarlo por arriba del Sol un icono del
Sol. Hay dos propiedades que debemos modificar a travs de la ventana de
propiedades, cargamos un icono en la propiedad MouseIcon de cada Image y
cambiamos el valor de la propiedad MousePointer a : 99.

El cdigo correspondiente es el siguiente:

Private Sub Form_Load()


Image1.MousePointer = 99
Image2.MousePointer = 99
End Sub

Private Sub Image1_Click()


Label1.Caption = "Tierra"
End Sub

Pgina 33

Private Sub Image2_Click()


Label1.Caption = "Sol"
End Sub

Proyecto Banderas:

El proyecto Banderas de distintos pases consta de tres formularios y el objetivo del


proyecto es en un primer paso desplegar Informacin diciendo el nombre del pas al
que corresponden las Banderas, y en un Segundo paso Interrogar al usuario para que
ingrese el nombre de la bandera correspondiente. El primer Form tiene 4 controles
Image con banderas cargadas de la carpeta Graphics /Icons /Flags , una Label con el
ttulo Banderas y un Botn que pasa al formulario siguiente. El Segundo Form tambin
tiene 4 Image con las mismas banderas que el anterior, una Label donde se despliega
el mensaje Correcto o Incorrecto segn la respuesta del usuario y dos Botones uno de
Anterior que vuelve al primer Form y otro de salida que pasa al tercer Form de Cierre.
El formulario de Cierre tiene Labels con el nombre del programador, es este caso sus
datos.
Ejercicio N 24:
Abrimos un nuevo proyecto, cargamos en la propiedad Picture del Formulario
una imagen, que debe ser una .bmp, .gif, .wmf, .jpg del tamao aproximado del
formulario, o si no queremos cargar una imagen le damos un color de fondo de
nuestro agrado modificando la propiedad Backcolor del Form. Insertamos tres botones
uno con la propiedad Caption: Texto, otra con: Borrar y el tercero: Cierre. El primero va
a desplegar el texto, el segundo lo borra dejando limpio el formulario y con el tercero
salimos de la aplicacin.
Por cdigo le vamos a indicar el contenido del texto y tambin su ubicacin
dentro del formulario. Para esto vamos a usar dos propiedades: CurrentX y CurrentY
que dan los valores de las coordenadas de iniciacin del texto. CurrentX se refiere al
valor corriente o actual de X y CurrentY al valor actual de Y, o sea dentro de un
sistema de coordenadas cartesiano. A continuacin tenemos un cuadro explicativo de
las distintas medidas que permite manipular VB, aunque su medidad por defecto es el
twip, creado especialmente para VB.
Por defecto VB utiliza el twip que como vemos es una medida muy pequea.
Basndose en el tamao de un punto de impresin. Hay dos propiedades muy
importantes en los controles de Vb que son Left y Top y dan el valor en twips desde el
margen izquierdo del formulario (Left) y la distancia desde el margen superior (Top).
Esto es muy importante para ver su ubicacin dentro del formulario, y tambin para ver
las dimensiones del mismo formulario. Esta propiedades se complementan con Height
altura de un control y Width: ancho de un control. Como podemos ver no existen las
propiedades derecha ni abajo ya que esos valores del form son variables, pues al
extender el tamao de un control o form estos varan. VB toma como referente solo los
valores fijos del formulario, o sea izquierda y arriba.

Pgina 34

El cdigo del ejercicio es:

Private Sub Command1_Click() 'Botn de cierre


End
End Sub
Private Sub Command2_Click() 'botn de borrar
Form1.Cls
End Sub

Private Sub Command3_Click() ' botn de texto


Form1.CurrentX = 200
Form1.CurrentY = 200
Print "Haba una vez una hermosa casita "
Form1.CurrentX = 200
Print "en una colina."
Form1.CurrentX = 200
Form1.CurrentY = 1400
Print "Habitaba all un prncipe "
Form1.CurrentX = 200
Print "encantado llamado Teodorico."
End Sub

El mtodo CLS nos limpia el formulario. En el caso de querer desplegar el texto


en una Picture, debemos codificar mencionando al control Picture1 en lugar del Form1.

Pgina 35

Ejercicio N 25:

Abrimos un nuevo proyecto, e insertamos en el formulario tres labels indicativas y tres


cajas de texto, donde vamos a ingresar los valores correspondientes a los tres valores
de la funcin RGB. Declaramos dentro del procedimiento tres variables
correspondientes a cada valor del RGB como nmero entero. Todo este cdigo dentro
del procedimiento Click de un botn cuyo caption es: Aplicar el color de fondo, tambin
tenemos otro Botn para cerrar la aplicacin.
Al hacer Click en el botn que ejecuta el cdigo, se asignan los valores ingresados en
la caja de texto, a la funcin RGB y este color se asigna a la propiedad Backcolor del
Formulario, que en este caso est llamado con la instruccin Me, o sea el Formulario
activo, si lo desean pueden llamarlo por su name o sea Form1.

Private Sub Command1_Click()


Dim red, green, blue As Integer
red = Text1.Text
green = Text2.Text
blue = Text3.Text
Me.BackColor = RGB(red, green, blue)
End Sub

Private Sub Command2_Click()


End
End Sub

Private Sub Text1_Click()


Text1.Text = ""
End Sub

Private Sub Text2_Click()


Text2.Text = ""
End Sub

Private Sub Text3_Click()


Text3.Text = ""
End Sub

Pgina 36

Al hacer Click en las cajas de texto se vacan permitiendo la entrada de otro valor. La
aplicacin se ve as:

Ejercicio N 26:

Abrimos un nuevo proyecto e insertamos en el formulario dos cajas de texto cuya


propiedad text dejamos vaca. Observen que el control Text no tiene propiedad caption
sino Text. Un tercer control Text va a desplegar un color de fondo y un color de letra,
este s tiene un mensaje en la propiedad Text, en este caso: Color, agregamos dos
labels descriptivas, como lo muestra la imagen, y un Botn para ejecutar el cdigo en
su procedimiento Click.
Aqu vamos a usar un mtodo importante de las cajas de texto, el SetFocus, que
significa que centra el foco en un control determinado, en este caso la primera caja de
texto, vemos que esta sentencia la ingresamos en el procedimiento Activate del Form,
y cuidado ,no en el Load. La diferencia est en que todo formulario primero se carga
(Load9 y luego pasa a estar activo (Activate), entonces debemos diferenciar que
instrucciones deben ir en uno o en otro, por ejemplo si vamos a asignar valores a
propiedades o variables lo hacemos en el Load, que ocurre primero y si nos vamos a
dirigir a un control determinado en el Activate, para que la asignacin ocurra despus
de cargado el formulario y todos sus controles. As no hay posibilidades de error.

Pgina 37

El cdigo es el siguiente:

Private Sub Command1_Click()


Text3.BackColor = QBColor(Text1.Text)
Text3.ForeColor = QBColor(Text2.Text)
End Sub

Private Sub Form_Activate()


Text1.SetFocus
End Sub

El formulario se ve as:

Pgina 38

Ejercicio N 27:

Abrimos un nuevo proyecto, en cuyo formulario, insertamos dos cajas de texto con
scrollbar, y cuatro botones, como lo muestra la imagen siguiente:

Abrimos un nuevo proyecto, insertamos

Private Sub Command1_Click()


Text1.Text = ""
Text1.SetFocus

End Sub

Private Sub Command2_Click()


Text2.Text = Text1.Text

End Sub
Las cajas de texto tienen modificada la letra y el color, y su propiedad Text est vaca,
vamos a ingresar un texto en tiempo de ejecucin.

Private Sub Command1_Click() 'botn Ingresar texto


Text1.SetFocus
End Sub

Private Sub Command1_Click() 'botn copiar texto


Text2.Text = Text1.Text
End Sub

Pgina 39

Private Sub Command3_Click()'botn Borrar Todo


Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub Command4_Click()' botn Imprimir


Me.PrintForm
End Sub

En el botn Imprimir usamos un mtodo llamado PrintForm, que le da salida al


formulario por impresora, en tiempo de ejecucin.
Ejercicio N 28:

Abrimos un nuevo proyecto e insertamos 6 labels que indican el nombre de


cada bimestre, ya que lo que vamos a calcular es: a partir de los datos ingresados de
cada bimestres, cual fue el valor promedio de ventas de este supuesto negocio y cual
el bimestre de mayor venta.
Luego insertamos un control caja de texto y cuidado: aqu viene la creacin del
Array: Seleccionamos el control texto y hacemos un Click en el icono de copiar de la
Barra de men, o vamos a Editar /Copiar y luego hacemos un Pegar, va a aparecer
una ventana con el siguiente mensaje: Ud. ya tiene un control llamado Text1, desea
crear un array? Le decimos que s, o sea hacemos Click en el botn Aceptar. Y vemos
que VB creo otra calja de texto con el mismo nombre Text1 pero con el subndice (1),
siendo la primera caja subndice (0), luego repetimos la operacin de copia, y ya no
aparece ninguna ventana de consulta, directamente copia inserta otro integrante al
array ya declarado.
Agregamos dos labels ms para elpromedio y el Valor Mximo de Ventas y dos
cajas de texto creadas fuera del array, como controles nuevos desde la caja de
herramientas, con los nombre Text2 y Text3. Y un botn Calcular, que es donde
vamos a codificar las acciones.

Pgina 40

El formulario se ve as:

El cdigo correspondiente al evento Click del botn calcular es :

Private Sub Command1_Click()' botn Salir


End
End Sub

Private Sub Command2_Click()' botn calcular


Dim promedio As Single
Dim max As Single
Dim nombre As String
Dim suma As Single
Dim i As Integer
suma = 0

For i = 0 To 5
suma = suma + Text1(i).Text
Next i

Pgina 41

promedio = suma / 6
Text2.Text = promedio
max = Text1(0).Text
nombre = Label1(0).Caption

For i = 0 To 5
If max < Val(Text1(i).Text) Then
max = Text1(i).Text
nombre = Label1(i).Caption
End If
Next i

Text3.Text = max
Text4.Text = nombre
End Sub

Lo primero que hacemos en el evento click del botn calcular es declarar las variables
que vamos a usar, del tipo de dato correspondientes. Luego le asignamos de entrada
a suma el valor=0, para que vuelva a 0 cada vez que hagamos Click en el botn
Calcular.
Con un bucle For..Next sumamos los valores de las 5 cajas de texto, donde
ingresamos los valores, sacamos el promedio y le damos salida a este valor por la caja
de texto correspondiente, en este caso text2.text.
Luego con otro bucle For...Next chequeamos cada valor comparndolo hasta
obtener el mayor, y le damos salida por la caja de texto, Text3 al valor numrico y por
la Text4 al nombre del bimestre de mayor venta.

Ejercicio N 29:

Abrimos un nuevo proyecto, insertamos en el formulario: seis botones y una


Shape. Cada botn modifica en su evento Click, las posibles formas del control Shape:
Rectngulo, Cuadrado, Crculo, valo, Rectngulo redondeado y Cuadrado
redondeado. Para esto modificamos la propiedad Shape, del control Shape.

Pgina 42

El formulario se ve as:

Y el cdigo es el siguiente:

Private Sub Command1_Click()' botn rectngulo


Shape1.Shape = 0
End Sub

Private Sub Command2_Click()


Shape1.Shape = 1
End Sub

Private Sub Command3_Click()


Shape1.Shape = 2
End Sub

Private Sub Command4_Click()


Shape1.Shape = 4
End Sub

Pgina 43

Private Sub Command5_Click()


Shape1.Shape = 5
End Sub

Private Sub Command6_Click()


Shape1.Shape = 3
End Sub
Mtodos Grficos: Puntos y Lneas

Primero vamos a usar la funcin Pset que permite dibujar un punto en la


pantalla en tiempo de ejecucin, determinando dos argumentos: las coordenadas x, y
que ubican este punto en el formulario.
Tambin vamos a usar la funcin Rnd (Random), que nos permite elegir al azar
una posicin para este punto, complementada con la sentencia Randomize en el
procedimiento Load del formulario, que hace que sea una eleccin azarosa y no se
repita siempre los mismos valores. El formulario en tiempo de ejecucin se ve as:

Pgina 44

Ejercicio N 30: Puntos

Abrimos un nuevo proyecto, insertamos tres botones, uno para dibujar los
puntos, otro para limpiar el formulario y un tercero para Imprimir.
Debemos tener la propiedad AutoRedraw del formulario a True para que se
redibuje y nos permita una impresin del formulario.
Veamos el cdigo:
Private Sub Command1_Click() 'botn puntos
Dim x As Integer
Dim y As Integer
Dim color As Integer
Dim i As Integer

For i = 1 To 20
x = Int(ScaleWidth * Rnd)
y = Int(ScaleHeight * Rnd)
color = Int(16 * Rnd)
PSet (x, y), QBColor(color)
Next
End Sub

Private Sub Command2_Click()' botn Borrar


Cls
End Sub

Private Sub Command3_Click()' botn imprimir


Form1.PrintForm
End Sub

Private Sub Form_Load()


Randomize
End Sub

Pgina 45

El cdigo de impresin del formulario y el de borrar ya lo conocemos porque lo


trabajamos con la sentencia Print.
En el procedimiento Click del botn Puntos declaramos las variables que
vamos a usar y mediante un bucle For...Next dibujamos 20 puntos, cuyas
coordenadas x, y sern determinadas al Azar con la funcin Rnd. Multiplicados por el
Ancho y Alto interno del formulario, determinado por sus propiedades ScaleWidht y
ScaleHeight.
Luego determinamos un color, tambin al azar usando una funcin conocida:
QbColor, y como consta de 16 colores, multiplicamos 16 por la funcin RND, pero
declarando al valor como nmero entero: Int, es la abreviatura de Integer.
Dibujando en el Form:
Ahora vamos a completar el ejercicio anterior, de slo puntos con otras
funciones, como lneas, rectngulos, crculos...
Ejercicio N 31:
Option Explicit
Dim x, y, r As Integer
Dim x1 As Integer, y1 As Integer
Dim x2 As Integer, y2 As Integer
Dim color As Integer
Dim ccolor As Integer

Private Sub Command1_Click()


'puntos extremos y color aleatorio
x1 = Fix(Me.ScaleWidth * Rnd)
y1 = Fix(Me.ScaleHeight * Rnd)
x2 = Fix(Me.ScaleWidth * Rnd)
y2 = Fix(Me.ScaleHeight * Rnd)
color = Fix(16 * Rnd)
Randomize
'trazar una recta
Line (x1, y1)-(x2, y2), QBColor(color)
End Sub
Private Sub Command2_Click()
Me.PrintForm
End Sub
Private Sub Command3_Click()
x1 = Fix(Me.ScaleWidth * Rnd)
y1 = Fix(Me.ScaleHeight * Rnd)
x2 = Fix(Me.ScaleWidth * Rnd)
y2 = Fix(Me.ScaleHeight * Rnd)
color = Fix(16 * Rnd)
Randomize
FillStyle = 1
'dibuja un cuadro(B)
Line (x1, y1)-(x2, y2), QBColor(color), B
End Sub

Pgina 46

Private Sub Command4_Click()


x1 = Fix(Me.ScaleWidth * Rnd)
y1 = Fix(Me.ScaleHeight * Rnd)
x2 = Fix(Me.ScaleWidth * Rnd)
y2 = Fix(Me.ScaleHeight * Rnd)
color = Fix(16 * Rnd)
Randomize
'dibuja un cuadro(B)
Line (x1, y1)-(x2, y2), QBColor(color), BF
End Sub
Private Sub Command5_Click()
Cls
End Sub
Private Sub Command6_Click()
'coordenadas del Centro, Radio y Color, aleatorias
x = Fix(Me.ScaleWidth * Rnd)
y = Fix(Me.ScaleHeight * Rnd)
r = Fix(1000 * Rnd)
color = Fix(16 * Rnd)
Randomize
FillStyle = 1
'dibuja una circunferencia
Circle (x, y), r, QBColor(color)
End Sub
Private Sub Command7_Click()
x = Fix(Me.ScaleWidth * Rnd)
y = Fix(Me.ScaleHeight * Rnd)
r = Fix(1000 * Rnd)
color = Fix(16 * Rnd)
ccolor = Fix(16 * Rnd)
Randomize
FillStyle = 0
FillColor = QBColor(ccolor)
'dibuja una circunferencia
Circle (x, y), r, QBColor(color)
End Sub
Private Sub Command8_Click()
Randomize
x = Fix(Me.ScaleWidth * Rnd)
y = Fix(Me.ScaleHeight * Rnd)
color = Fix(16 * Rnd)
PSet (x, y), QBColor(color)
End Sub

Pgina 47

Ejercicio N 32:

Abrimos un nuevo proyecto, insertamos varios controles, una Image, una Label
una Picture... y un Botn de cierre de la aplicacin que es sobre el cul se va a
desplegar el puntero animado.
El programa se ve as en tiempo de diseo:

Vemos un array de controles Picture que tienen distintas imgenes de una


carita, esta sucesin de pictures va a conformar la animacin, como una secuencia de
cuadros, en el formulario van a estar invisibles o sea con su propiedad visible a False,
nosotros las vemos pero slo en tiempo de diseo.
Tambin vemos un control Timer, este es un control nuevo, especial para
animaciones ya que automatiza un ciclo o bucle, o sea una estructura de repeticin, en
su propiedad Interval pondremos un valor medido en milisegundos (depende de la
velocidad de la mquina), pero que repite las instrucciones dentro del procedimiento
Timer, luego de pasado ese intervalo, en forma infinita hasta tanto se lo desactive por
cdigo.

Pgina 48

El codigo es:
Option Explicit
Dim a As Integer 'variable contadora

Private Sub Command1_Click()' botn de cierre


End
End Sub
Private Sub Timer1_Timer()' corazn de la animacin
a=a+1
If a = 5 Then a = 0
Command1.MouseIcon = Picture2(a).Picture
End Sub
En el procedimiento Timer del control Timer se ejecuta el corazn de la animacin, all
tenemos una variable contadora: "a" que se incrementa en cada ciclo, y que al llegar a
5 se reinicia en 0, para que la animacin no se detenga. Como la Picture de las caritas
conforma un arreglo todas se llaman Picture2 pero con un subndice que en este caso
representa el valor de la variable "a", esa secuencia de imgenes se asigna a la
propiedad MouseIcon del control CommandButton1, o sea el botn de cierre de la
aplicacin.
Al detener el puntero del mouse sobre el botn se salida del programa se inicia
la animacin o secuencia de caritas.

Ejercicio N 33:

Para la realizacin de este ejercicio, creamos un nuevo proyecto, llamado Apolo. A la


propiedad picture del formulario le cargamos una imagen de fondo relacionada al tema
o bien le damos un color de fondo en la propiedad: Backcolor con la paleta de colores.
En el Formulario dibujamos cuatro controles: Una Image con la propiedad Stretch a
True. Donde cargamos el icono Rocket de la carpeta Icons /Industry de Visual Basic.Y
dos CommandButton, uno con el Caption: "Despegar" y otro con: "Salir" para cerrar el
programa. El cuarto control un Timer estar invisible en tiempo de ejecucin y
ejecutar la animacin del Apolo despegando hacia arriba. Recordemos que el Timer
inicialmente tendr su propiedad enabled a False o sea no estar disponible y tendr
un intervalo de 200 milisegundos en su propiedad Interval.

Al clickear sobre el botn Despegue se pondr en funcionamiento el Timer y mediante


el Mtodo Move cuyos argumentos son: un valor para el movimiento horizontal y otro
vertical animamos el Apolo.

Pgina 49

A continuacin mostramos el cdigo asociado a cada procedimiento:


Private Sub Command1_Click() 'este es el botn de Despegue
Timer1.enabled = True
End Sub

Private Sub Command2_Click() 'este es el botn de salida


End
End Sub
Private Sub Timer1_Timer()
Image1.Move Image1.Left, Image1.Top - 50
End Sub

En este caso la imagen del Apolo se va a desplazar o mover 0 valor a la


izquierda y menos 50 twips hacia arriba, acercndose al borde superior hasta
desaparecer.

La imagen del formulario se ve as:

Prueben con otros valores, en relacin al margen izquierdo y al borde superior.


Tambin pueden probar con otros iconos.

Pgina 50

Ejercicio N 34:

El formulario tendr el siguiente aspecto:

Tenemos dos controles para desplegar el texto: un Text1 y un RichTextBox1, y dos


botones en cuyos eventos Click se desplegarn por cdigo los archivos mencionados
en los controles de texto.
Primero debemos crear un archivo en el NotePad o en el Word y grabarlo como TXT y
otro con variaciones en el tipo, color y tamao de la letra y grabarlo como rtf. Luego
abrimos visual y en creamos un nuevo proyecto grabndolo en el mismo directorio y
carpeta que tenemos los archivos: txt y rtf.

El cdigo de cada botn es el siguiente:


Option Explicit 'Esta expresin nos fuerza a declarar las variables.

Private Sub Command1_Click() 'Este boton es el que carga el archivo TXT


Dim pepe As String 'Declaramos una variable para identificar el archivo
Dim renglon As String 'Esta variable guardar el tamao de cada rengln 'del archivo

Pgina 51

renglon = Chr(13) & Chr(10) ' corta a otra lnea


Text1.Text = ""
Open App.Path & "\rtf.txt" For Input As #1' Abre (Open) y da 'entrada (Input) 'el archivo
ubicado en el mismo directorio y carpeta en que est la 'aplicacin. App.path significa
en la ruta actual de la aplicacin. Sino hay 'que indicar cual es el Path.
While Not EOF(1) ' esto realiza un bucle o sea repite la accin hasta que se 'llegue al
final del archivo 1 (End of File)
Line Input #1, pepe$ ' le da entrada a la linea 1 del archivo
Text1.Text = Text1.Text & pepe & renglon 'concatena con & el texto del 'archivo y el
tamao del regln.
Wend ' repite las ordenes en tanto la condicin es verdadera, en este caso 'hasta tanto
no termine el texto del archivo.
Close #1 ' cierra el archivo al terminar de cargarlo.
End Sub
Private Sub Command2_Click()'Botn RTF
RichTextBox1.LoadFile (App.Path & "\rtf.rtf") 'como podemos ver con el 'Control
RichTextBox es ms sencillo el manejo de archivos, con la 'sentencia LoadFile se
carga el archivo indicando el camino para 'encontrarlo.
End Sub

Ejercicio N 35:

Abrimos el Editor de men y vamos confeccionando un men cuyos componentes son:


estilo de Fuente: Color y Estilo y a su vez dentro de Color tenemos como subtema:
Rojo, Verde, Azul y dentro de estilo: Negrita y Cursiva. Presten atencin a la propiedad
Caption: que mostrar el titulo del tem del men y a Name que es el nombre interno
para que lo identifique VB. En este caso precedidos por mnu para distinguir los
procedimientos del editor de los de la Aplicacin.

El formulario se ve as:

Pgina 52

El cdigo que debemos agregar es:


Private Sub mnuColorOpciones_Click(Index As Integer) 'Hacemos un Array 'en la
casilla Index los numeramos
Select Case Index
Case 1
mnuColorOpciones(1).Checked = True
mnuColorOpciones(2).Checked = False
mnuColorOpciones(3).Checked = False
Label1.ForeColor = RGB(255, 0, 0) ' color verde
Case 2
mnuColorOpciones(2).Checked = True
mnuColorOpciones(1).Checked = False
mnuColorOpciones(3).Checked = False
Label1.ForeColor = RGB(0, 255, 0) ' color rojo
Case 3
mnuColorOpciones(3).Checked = True
mnuColorOpciones(2).Checked = False
mnuColorOpciones(1).Checked = False
Label1.ForeColor = RGB(0, 0, 255) ' color azul
End Select
End Sub

Private Sub mnuEstiloOpciones_Click(Index As Integer)'hacemos un Array


Select Case Index
Case 1
mnuEstiloOpciones(1).Checked = True
mnuEstiloOpciones(2).Checked = False
Label1.FontBold = True 'negrita activada
Case 2
mnuEstiloOpciones(2).Checked = True
mnuEstiloOpciones(1).Checked = False
Label1.FontItalic = True 'cursiva activada
End Select
End Sub

Pgina 53

Creamos dos array con el mismo name pero distinto Index: mnuColorOpciones y
mnuEstiloOpciones. Con el mismo nombre pero distinto indice, debemos en el Select
Case chequear si fue seleccionado o no del Men, con la propiedad Checked a True o
False y en base a eso habilitamos los colores y las opciones de estilo.
Ejercicio N 36:

Abrimos un nuevo proyecto, en este ejercicio vamos a crear un explorador de


imgenes que consta de dos formularios y usa los controles: FileListBox, DriveListBox,
y DirListBox que conecta con los dispositivos de almacenamiento y con el rbol de
estos con sus carpetas y archivos.
Luego insertamos 4 botones. Se agrega un segundo formulario vinculado al primero
pero no encima sino desplegado hacia abajo donde se muestra la imagen
seleccionada en un control Image o a travs de un botn siguiente. La aplicacin se ve
as:

El codigo es:

Dim archivoseleccionado As String 'cadena de caracteres para cargar el 'camino del


archivo .bmp.
Private Sub Command1_Click()' boton Salir
End
End Sub
Private Sub Command2_Click() ' botn mostrar pantalla o sea el otro 'formulario
Form2.Show
End Sub

Pgina 54

Private Sub Command3_Click()


Form2.Hide ' oculta el segundo formulario
End Sub

Private Sub Command4_Click()


'si hay ms diapositivas en la lista mostrar la siguiente
If File1.ListIndex < 36 Then
File1.ListIndex = File1.ListIndex + 1
archivoseleccionado = File1.Path & "\" & File1.List(File1.ListIndex)
Form2.Caption = archivoseleccionado ' muestra el camino en el titulo del f'ormulario
Form2.Image1.Picture = LoadPicture(archivoseleccionado)'carga la imagen
Else
Beep
MsgBox "Esa es la ltima diapositiva" ' si es la ultima avisa
End If
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path 'conecta el camino del archivo con el camino del directorio en
'que se encuentra
End Sub

Private Sub Drive1_Change()


Dir1.Path = Drive1.Path 'conecta el directorio con el driver
End Sub

Private Sub File1_Click()


archivoseleccionado = File1.Path & "\" & File1.List(File1.ListIndex)
Form2.Image1.Picture = LoadPicture(archivoseleccionado)
'si seleccionamos el archivo se despliega
End Sub

Estos controles nos permiten mostrar los arboles de los distintos dispositivos, carpetas
y directorios. Y filtramos los archivos a traves de la propiedad Pattern del File1. con la
siguiente sintaxis: *.bmp;*.wmf;*.ico.

Pgina 55

Ejercicio N 37:

Abrimos un nuevo proyecto, insertamos tres controles Picture cargando en cada uno
de ellos un icono que les guste. Y en la propiedad DragMode de cada picture elegimos
la opcin Automatic, la numero 1. Esto permitir mover los controles.

El formulario se ve as:

Pero para que realmente se desplacen debemos agregar al procedimiento


Form_DragDrop el siguiente cdigo:

Private Sub DragDrop ( Source as control, X as Single, Y as Single)


Source.Move x, y
End Sub

Dentro de los argumentos entre parntesis vemos Source que quiere decir origen, o
sea el control de origen y esto es muy importante porque quiere decir que no hace
falta que especifiquemos que picture estamos moviendo o arrastrando y soltando, el
procedimiento lo registra de por s, y lo que debemos actualizarle son las nuevas
coordenadas que leer el procedimiento a travs de x, y. Aqu usamos un mtodo ya
conocido el Move. Al correr el programa podemos clickear sobre una de las figuras y
manteniendo el botn izquierdo del mouse apretado arrastrarla a la nueva posicin
que deseamos y luego soltarla.

Pgina 56

EjercicioN 38:

Abrimos otro proyecto y hacemos un nuevo ejercico de drageo pero superponiendo


una imagen sobre otra.

El formulario se ve as:

Este ejercicio utiliza tambin imgenes que pueden desplegarse en controles picture o
image . En este caso son Images con su propiedad stretch a true lo que permite usar
iconos y poder agrandarlos. La Image1 la carita fea tiene la propiedad DragMode en 1:
Automtica. Y en la propiedad DragIcon tiene cargado el mismo icono para que
cuando la arrastremos no se vea una ventana vaca. Pero ahora el procedimiento
usado es el DragOver que detecta cuando pasamos por encima de un control
determinado. En este caso es el cesto o la Image2. Y el objetivo es que al arrastrar la
carita fea sobre el cesto esta desaparezca, simulando que la estamos tirando dentro
del cesto. Entonces el cdigo indicado ser:

Private Sub Image2_DragOver (...)


Image1.visible = False
End Sub

Esto hace que al pasar la Image1 sobre la Image2 la primera se vuelva invisible lo que
simula que la hemos tirado dentro del cesto.

Pgina 57

Ejercicio N 39:

Abrimos un nuevo proyecto, y vamos a combinar en el puntero del mouse


distintos iconos, que sumados a los procedimientos mencionados van a dar la
sensacin de agarrar y soltar cosas en distintos sitios, esto nos permite crear
aventuras grficas, donde se recogen objetos y luego se ubican en determinado lugar
siguiendo una secuencia lgica. El formulario se ve as:

Tenemos una Label y tres Pictures la 2 es la goma, la 3 el marcador(en el medio) y la


1 el lpiz.
La idea es que al hacer click en el lpiz quede en el puntero del mouse y as luego
hacemos click en la label y aparece la palabra Tarea, como si la hubisemos escrito,
luego dejamos el lpiz haciendo Click en el Formulario. Hacemos Click en la goma y
luego en la label y se borra la palabra Tarea. Hacemos Click en el formulario y
dejamos la goma. Y al hacer click en el marcador y tenerlo en el puntero del mouse
hacemos Click en la Label y esta se vuelve roja, antes era color amarillo. El cdigo es:
Option Explicit
Private Sub Form_Click()
If MouseIcon = Picture1.Picture Then ' aqui volvemos al puntero estndar
MousePointer = 0
Picture1.Visible = True
End If
If MouseIcon = Picture2.Picture Then
MousePointer = 0
Picture2.Visible = True
End If
If MouseIcon = Picture3.Picture Then
MousePointer = 0
Picture3.Visible = True
End If
End Sub

Pgina 58

Private Sub Label1_Click()


If MouseIcon = Picture1.Picture Then ' si el puntero es el lpiz la label 'muestra la
palabra Tarea en su caption.
Label1.Caption = "Tarea"
End If
If MouseIcon = Picture2.Picture Then ' si el puntero es la goma borra Tarea.
Label1.Caption = ""
Label1.BackColor = vbYellow ' fondo de la label amarillo
End If
If MouseIcon = Picture3.Picture Then ' si el puntero es el marcador el fondo se vuelve
'rojo
Label1.Caption = ""
Label1.BackColor = VBred
End If
End Sub

Private Sub Picture1_Click()'carga el icono del lpiz


MouseIcon = Picture1.Picture
MousePointer = 99
Picture1.Visible = False
End Sub

Private Sub Picture2_Click()'carga el icono en el puntero de la goma


MouseIcon = Picture2.Picture
MousePointer = 99
Picture2.Visible = False
End Sub

Private Sub Picture3_Click()'carga el icono en el puntero del marcador


MouseIcon = Picture3.Picture
MousePointer = 99
Picture3.Visible = False
End Sub

Pgina 59

EJERCICITACIN
EJERCICIO N 1
La escuela La Defiant y sus ositos cariosos le encomiendan a Usted la confeccin de
un programa para que sus nios aprendan a sumar, restar, multiplicar y dividir, cada
vez que la operacin matemtica seleccionada por el alumno es correcta, deber
aparecer una carita feliz y un mensaje de felicitacin, por el contrario, si la operacin
no es correcta, la carita debe ser triste y el mensaje de error.
El programa contabilizar los errores y aciertos, y le pedir el nombre del alumno al
comienzo del mismo, quedando almacenado en una etiqueta.

EJERCICIO N 2
Crear un programa que nos informe el nombre de cada parte de la computadora,
haciendo un clic en las figuras.
Nota: las imgenes estn en la carpeta de ejercitacin correspondiente.

EJERCICIO N 3
Realizar la codificacin para un crucigrama.

EJERCICIO N 4
En esta ocasin se le pide codificar una enciclopedia del sistema solar.
La realizacin y diseo es personal.

EJERCICIO N 5
El restaurante las delicias de la Defiant le solicita confeccionar un programa para el
cobro de las consumiciones de cada mesa de su local.
Cuenta con 10 mesas, dos men infantiles, tres men ejecutivos, tres combos
familiares (para cuatro personas), cinco platos individuales, tres postres, y de bebida:
agua con y sin gas, gaseosa, vino tinto rosado y blanco (dos variedades de cada uno).
Adems se requiere una clave de acceso al programa (ser: NCC1701C)

Pgina 60

EJERCICIO N 6
Realizar la codificacin para un programa que calcule un precio final a partir de un
monto ingresado por un cuadro de entrada, y sobre ese valor dependiendo de
botones calcule un recargo del 10% si el pago es con tarjeta y un descuento del 5% si
es pago contado.

EJERCICIO N 7
Realizar la codificacin de un programa que devuelva los das de la semana en letras
dependiendo del nmero ingresados en un cuadro de entrada. El da se debe mostrar
en un cuadro de mensaje y en una etiqueta en el formulario, cuya fuente ser arial 14
de color azul.

EJERCICIO N 8
Se ingresan tres notas (valor entero) por inputbox.
Calcular el promedio.
Por medio de un select case verificar el estado del alumno:
Menor a 4 aplazo
Menor a 6 reprobado
Mayor a 6 aprobado.

EJERCICIO N 9
Se ingresan por inputbox tres valores que corresponden a distintos productos,
Todos por unidad.
Con select case calcular e informar el total teniendo en cuenta la siguiente tabla de
valores:
Pago con tarjeta: 15% de recargo
Pago con cheque: 7% de recargo
Pago en efectivo: 10% de descuento.

EJERCICIO N 10
Una panadera compra harina a tres proveedores distintos, y cada uno cobra un precio
distinto.

Pgina 61

Calcular con un select case lo que se debe abonar, de acuerdo a la cantidad


comprada y a la siguiente tabla:
Enterprise inc. $ 1,20 el kilo
Defiant srl: $ 1,10 el kilo
Abismo nueve s.a : $ 1,30 el kilo

EJERCICIO N 11
Realizar la codificacin de una imagen en movimiento.
Nota: las imgenes estn en la carpeta de ejercitacin correspondiente.

EJERCICIO N 12
Realizar un programa que convierta una suma de pesos en otra moneda cualquiera.

EJERCICIO N 13
Crear un reloj y calendario.

EJERCICIO N 14
Realizar la codificacin para obtener el resultado del cambio en el tipo de medida de
un nmero introducido a milmetros, centmetros, metros, kilmetros y pulgadas.

EJERCICIO N 15
Realizar una calculadora que permita las cuatro operaciones bsicas de la matemtica
entre dos nmeros.

EJERCICIO N 16
Crear una agenda que registre las actividades y avise cuando un tiempo antes
(definido por el usuario).

EJERCICIO N 17
Crear un programa que ordene tres nmeros de menor a mayor o de mayor a menor
de acuerdo a lo solicitado por el usuario.

Pgina 62

EJERCICIO N 18
Realizar el algoritmo para un programa que verifique la tabla que se brinda al final del
ejercicio
El ejercicio debe corregir con una carita triste o feliz dependiendo si el resultado es
correcto o no.

>

<

EJERCICIO N 19
Realizar un programa que calcule la edad de una persona.

EJERCICIO N 20
La empresa multinacional Defiant S.A. le encomienda la tarea de confeccionar una
planilla en la cual figuren los apellidos, nombres, sueldo bsico, horas extras,
bonificaciones y deducciones, y calcule del empleado, el sueldo a percibir.

EJERCICIO N 21
La veterinaria Defiant S.A. le encomienda a usted, realizar la planilla de control para lo
cual tendremos la lista de Artculos, su Precio mayorista, y la Cantidad vendida en un
perodo cualquiera. Sabemos que se quiere ganar el 30% sobre el precio al por mayor,
que el IVA es el 21%, y que se necesita conocer tanto el Precio al Pblico de cada
Artculo como el porcentaje de ventas que representa cada producto.

EJERCICIO N 22
La empresa Defiant S.A. le encomienda para su fbrica de bulones la confeccin de
una ficha mediante la cual seleccionando el nombre del cliente muestre todos sus
datos personales, la fecha de su ltima compra, forma de pago, por cuanto es la
deuda, y de cuanto es el descuento por pago a trmino, o el recargo por demora.
El descuento por pago en trmino es del 2% y el recargo por mora es del 5%.

Pgina 63

EJERCICIO N 23
La empresa Defiant S.A. le pide la confeccin de una lista de presupuesto automtica
para su empresa de turismo.
La misma tendr la opcin de tipo de pago, con un descuento del 10% en efvo. y un
recargo del 15% por pago con tarjeta, el cual se seleccionar con una casilla de
verificacin.
El tipo de pasaje se elegir por medio de botones de opcin. Avin o Bus ida, e ida
y vuelta.
Bus ida y vuelta ser el doble de ida, menos el 10%.
Avin ida es el 60% mas que bus ida, y avin ida y vuelta el doble de avin ida
menos el 7%.
Confeccionar la hoja que se imprimir para el cliente y visualizarla mediante un
botn.
Guardar el documento con el nombre correspondiente.

EJERCICIO N 24

La empresa Defiant S.A. necesita de sus servicios para la realizacin de una


planilla de consulta para su vinera, la misma dar la descripcin, marca, precio
unitario final, precio de la cantidad requerida (si el stock lo permite) tanto en
efectivo como con tarjeta.
EJERCICIO N 25

El hotel Defiant le solicita a usted que le confeccione una planilla para control y
facturacin de cada habitacin.
Tener en cuenta que las habitaciones que se encuentran entre:
200 y el 299 son simples.
300 y 399 son dobles.
400 y 499 son familiares (cuatro personas).
EJERCICIO N 26
El video club Defiant le solicita a Usted la creacin de una planilla para el alquiler de
pelculas, que se imprimir para adosar a la ficha de cada socio, la misma deber
tener el N de socio, telfono y si retira o se enva a domicilio, cdigo y nombre de la
pelcula, si corresponde el descuento por pelcula en promocin o el descuento por
antigedad del socio, y un botn de impresin.
Si el socio retira la pelcula, no tiene recargo, si se le enva a domicilio, se le deber
cobrar $ 1.00 en concepto de flete.
Los socios cuyo N sea inferior a 2000, tiene un descuento del 20%, del 2001 al
3000 un 10%, del 3000 al 4000, un 5%, y del 4000 en adelante, no tienen descuento.
Lista de descuentos por cdigo:
Del cdigo 1000 al 3000, 5%
Del cdigo 3001 al 4000, 4%
Del cdigo 4001 al 5000, 2%
Del cdigo 5001 en adelante, no tienen descuento.
El valor del alquiler por pelcula es de $ 4.14 + IVA. (recuerde que este precio est
sujeto a variacin)

Pgina 64

EJERCICIO N 27
La Universidad Abierta Defiant, le solicita la confeccin de una planilla para definir el
estado de los alumnos.
Abrir la planilla con el nombre "finales".
Cargando el nmero de libreta, debern cargarse en forma automtica los dems
datos, excepto las materias adeudadas, que se calcularn con la frmula adecuada.
Si el nmero de libreta est en blanco no debe figurar ningn tipo de dato.
En situacin deber figurar si adeuda finales
Calcular la cantidad de alumnos de 3 ao, la cantidad de alumnos para contador
en 2 y cuntos adeudan materias.

Pgina 65

S-ar putea să vă placă și