Вы находитесь на странице: 1из 19

Materia: Informática Aplicada Prof.

: Verónica Almirón

Año: 3° A y B

Alumno:............................................................................................... Nota:............... Fecha de entrega:

Tarea de fijación de contenidos – Programación Visual

INTRODUCCIÓN A LA PROGRAMACIÓN

El ordenador es una máquina no inteligente, es decir, no puede pensar por sí sola. Ha sido creada por el Hombre y no
es capaz de realizar ninguna tarea, por fácil que sea, que previamente no haya sido diseñada por él.

En general, un ordenador tan sólo puede realizar unas pocas Operaciones Básicas.

1.- Tomar valores de Entrada , Almacenarlos y Devolver valores de Salida


Pag. 1
2.- Comparar 2 valores (Igual, menor, mayor...)
3.- Sumar, restar, multiplicar y dividir valores ...

Todo lo demás hay que indicárselo, por tanto, para cada problema concreto (Por ejemplo sumar los 5 primeros
números pares) será necesario diseñar una solución. Es decir, tendremos que diseñar un PROGRAMA en un
LENGUAJE que sea comprensible por el ordenador.

PROGRAMA: Es una serie de instrucciones (ordenes o comandos) puestas en un determinado orden de forma que
indican al ordenador, PASO a PASO , qué procesos y tareas deben realizar. Los programas actuales están escritos en un
Lenguaje parecido al del ser humano, aunque en Inglés.

LENGUAJE DE PROGRAMACIÓN: Son el conjunto concreto de ordenes, comandos , instrucciones y vocablos que
permiten desarrollar un programa y que son comprensibles tanto por el ordenador como por el hombre. Ejemplo:
Basic, Cobol, Pascal, C, Delphi, Visual Basic, ...

TIPOS DE LENGUAJES

Lenguajes de Bajo Nivel


La programación y los diferentes lenguajes han ido evolucionando de forma constante. Como se sabe, los ordenadores
trabajan con secuencias de corrientes de 0v y 5v , que se traducen en 0 y 1. Es decir, trabajan en código BINARIO. De
la misma manera los primeros lenguajes de programación fueron también con 0 y 1, es decir, en el mismo lenguaje de la
máquina. Es el denominado Código Máquina, que es el de más bajo nivel. Era difícil de aprender y de manejar, ya que
se precisaban grandes conocimientos matemáticos y mucha práctica.
Poco después se empezó a trabajar con comandos, es decir una orden o palabra en Inglés que
correspondía a una secuencia binaria. De esta manera se ahorraba tiempo. Por ejemplo, si para imprimir una palabra se
utiliza siempre la secuencia 00111100010100001, se cambiaba dicha secuencia por la orden PRINT. Este lenguaje ,
llamado Ensamblador, era una mezcla entre código máquina, lenguaje matemático y lenguaje humano.

Lenguaje de Alto Nivel


Un lenguaje se considera de alto nivel por su parecido al lenguaje humano (En Inglés). Progresivamente los lenguajes
fueron incorporando más y más comandos y vocablos comprensibles por el hombre (aunque internamente el ordenador
siga trabajando en binario). Esto hizo que la programación se hiciera más fácil. Así fueron surgiendo poco a poco
diferentes lenguajes: Basic, COBOL, Pascal, C .... cada uno de ellos iba incorporando nuevos elementos y avances.

Todavía no existía ni los ratones, ni Windows, ni las ventanas, ni los botones, ni los colores, .. eran todo en modo texto y
usando el teclado, casi, casi como una calculadora, pero más grande y más potente. (Al estilo MS-DOS)

Estos lenguajes se escribían paso por paso y línea a línea. Veamos un Ejemplo en PASCAL:

10 BEGIN
20 CLEAR
30 WRITE “INTRODUCE UN NÚMERO POR EL TECLADO”
40 READ (NUM)
50 IF NUM < 0 THEN WRITE “EL Nº ES NEGATIVO”
60 ELSE IF NUM > 0 WRITE “EL Nº ES POSITIVO”
70 ELSE WRITE “EL Nº ES CERO”
80 END IF
90 END

Lenguajes de entorno visual y Programación Orientada a Objeto (P.O.O.)

La llegada del ratón, las pantallas gráficas y sobretodo de los sistemas operativos de entorno
visual (Mac, Windows....) hizo que cambiara la forma de entender la programación, más orientada a objetos
gráficos que interactuaban entre sí (una ventana, un botón, un cuadro de texto, etc..) . Igualmente surgió la

Pag. 2
Programación Orientada a Objeto que estaba formada por una serie de Objetos, cada uno de los cuales tenía
unas Propiedades y estaba sujeto a una serie de Eventos externos. Dentro de este tipo de lenguajes tenemos:
C++, Visual C, Delphi y Visual Basic, todos ellos incluían estos 2 últimos avances.
En realidad los Lenguajes visuales no son más que un entorno Visual que en el fondo trabaja con el código
de un lenguaje tradicional, por ejemplo: Visual C, trabaja internamente con código C. Visual Basic trabaja
internamente con código BASIC y Delphi trabaja internamente con PASCAL.

Por tanto Visual Basic , es un Lenguaje de programación visual y orientada a objeto

Dentro de Visual Basic , como P.O.O. podemos encontrar los siguientes elementos.

OBJETOS: Es una entidad que tiene asociada una serie de Propiedades, Métodos y Eventos y que
puede interactuar con otros objetos. Dentro de Visual Basic tenemos gran cantidad de objetos:
Formulario, Botón, Cuadro de texto, Etiqueta, Casilla de verificación, ...etc..

Vamos a suponer 3 objetos ficticios: Objeto Globo , Objeto Alfiler y Objeto Botón

PROPIEDADES: Son las características que poseen cada uno de los objetos. Estas características
pueden establecerse al principio del programa o a lo largo de la ejecución de éste. Por ejemplo el objeto
Etiqueta tiene algunas propiedades como color, alto, ancho, tipo de letra ...
En nuestro supuesto:

Objeto Globo: Posición, Diámetro, Color, Inflado


Objeto Alfiler:Posición, Longitud, Color
Objeto Botón: Texto, Color, Posición

MÉTODO: Son funciones internas de un determinado objeto, que pueden ser activadas en cualquier
momento del programa. Por ejemplo un Cuadro de texto posee el método SetFocus, que hace que el
enfoque se centre en él y se active el cursor para escribir.
Otra forma de explicarlo sería: Un Método engloba bajo un nombre único, una sucesión de pasos que
deben realizarse (siempre en un determinado orden) para que se produzca una acción concreta.
En nuestro ejemplo:

Objeto Globo: Inflar, Desinflar, HacerBang


Objeto Alfiler: Pinchar, Retirarse

EVENTOS: Son acciones o sucesos que tienen lugar a lo largo del programa (un click o dblclick del
ratón, pulsar una tecla, etc...) y a los cuales asociamos un código que produce unos cambios en el
programa ( cambia una propiedad, se acciona un método, se realiza una función, etc...)

Objeto Botón: Click, Keypress


Objeto Globo: MouseMove

De esta forma podemos asociar al evento Click del Botón un código que active los métodos
Pinchar del objeto Alfiler y los métodos Desinflar y HacerBang del objeto Globo. Estos métodos
cambiarán de forma automática las propiedades de posición, diámetro, etc.. para simular el pinchazo del
globo.

Pag. 3
De igual forma podríamos hacer que al pasar el ratón por encima del globo (evento MouseMove) éste
cambie de color, es decir, que la propiedad Color cambie de un color a otro. También podríamos
disponer que a pasar el ratón por encima del Alfiler la posición de éste siga a la del cursor.

EL ENTORNO VISUAL DE VISUAL BASIC 6.0


Ventana de Proyecto

Barra de Menús Barra de Herramientas Botón Ver Código Botón Ver Formulario
Estándar

Cuadro de Herramientas

Formulario Principal Ventana de Inspección de Propiedades

Pointer(Puntero)
Picture Box (Cuadro de Dibujo)

Label (Etiqueta)
TextBox (Cuadro de Texto)

Frame (Marco)
Command Button (Botón )

CheckBox (Casilla verificación) Option


Button (Botón de Opción)

ComboBox (Cuadro Combinado) ListBox


(Cuadro de Lista)

HscrollBar (B. DesplazHoriz.) VscrollBar (B.Desplaz. Vertical)

Timer (Reloj)
DriveListBox (Cuadro Lista Unidades)

Pag. 4
DirListBox(C. Lista Carpetas) FileListBox (Cuadro de Lista Archivos)

Shape(Figura) Line (Línea)

Image(Imagen) Data
(Datos)

OLE

ALGUNOS OBJETOS BÁSICOS Y SUS PROPIEDADES

FORMULARIO ETIQUETA CUADRO TEXTO BOTÓN FIGURA (Shape)


(Form) (Label) (TexBox) (Command Button)

- Nombre - Nombre - Nombre - Nombre - Nombre


- Autosize
- Alignment - Alignment
- Backcolor - Backcolor - Backcolor -Backcolor - Backcolor
- Backstyle - Backstyle - Backstyle
- BorderStyle - BorderStyle - BorderStyle - BorderStyle
- CAPTION - CAPTION - TEXT - CAPTION - SHAPE
- Font - Font - Font
- FontBold - FontBold - FontBold
- FontItalic - FontItalic - FontItalic
- FontUnderline - FontUnderline - FontUnderline
- FontName - FontName - FontName
- FontSize - FontSize - FontSize
- ForeColor - ForeColor - ForeColor
- Maxbutton
- Minbutton - Multiline - Default - Borderwidth
- Moveable - Maxlenght - Style - Fillcolor
- Picture - ScrollBars - Picture - FillStyle
- StarUpPosition - DisabledPicture
- WindowsState - DownPicture

- Left - Left - Left - Left


- Top - Top - Top - Top
- Height - Height - Height - Height - Height
- Width - Width - Width - Width - Width

- Enabled - Enabled - Enabled - Enabled


- Tooltiptext - Tooltiptext - Tooltiptext
- visible - visible - visible - visible

ALGUNOS MÉTODOS Y EVENTOS FRECUENTES Y COMUNES

MÉTODOS: Aparecen junto a las propiedades con el icono

- Move {left, top, width, Height} ---------- > Ej: label1.move 100, 100 shape1.move 200
- Setfocus ---------- > Ej: Text1.Setfocus Button1.setfocus

EVENTOS:
- Click
- DblClick
Pag. 5
- MouseDown
- MouseUp
- MouseMove
- GotFocus Aparecen en la Ventana de Código
- LostFocus
- Change
- Keypress
- Keydown
- KeyUp

BLOQUE 1 – INTRODUCCIÓN – EJERCICIOS PARA CLASE


NOTA: Todos los formularios llevarán como título (Caption) el nº del ejercicio: Ejercicio1, Ejercicio2, ....

1.- Diseñar un programa cuya ventana principal sea de color celeste claro, sólo contenga el botón de cerrar en la barra de
título y que se ejecute por defecto maximizado. El form contendrá un cuadro de texto y un botón (MOSTRAR). Se
introducirá un texto en el cuadro y al pulsar el botón aparecerá una etiqueta (que originalmente estaba no visible) y cuyo
texto será el mismo que el cuadro. La etiqueta tendrá el texto en negrita y tamaño 16 en color Rojo y el fondo en color
amarillo claro. El tamaño de la etiqueta se ajustará al texto que la contenga.
Un segundo botón “LIMPIAR”, hará “desaparecer” de nuevo la etiqueta, limpiará el cuadro de texto y situará el enfoque
sobre él.

2.- Diseñar un programa cuya ventana principal tenga unas dimensiones de 4500 de alto por 5000 de ancho. Será de tamaño
ampliable en tiempo de ejecución y tendrá deshabitado el botón de maximizar. Debe aparecer en la parte superior derecha de
la pantalla. El Form contendrá un Etiqueta con el texto “Frase de Prueba”. Y 9 botones con las siguientes funciones:
1.- N  Pone el texto de la etiqueta en Negrita 6.- Botón de color Rojo  Pone el texto en color Rojo (vbred)
2.- C  Pone el texto de la etiqueta en Cursiva 7.- Botón de color Azul  Pone el texto en color Azul (vbblue)
3.- S  Pone el texto de la etiqueta en Subrayado 8.- Botón de color Verde Pone el texto en color Verde (vbgreen)
4.- Grande Pone el texto de la etiqueta en Tamaño 20 9.- LIMPIAR  Lo deja todo exactamente como al principio.
5.- Pequeña Pone el texto de la etiqueta en Tamaño 12

3.- Diseñar un programa que muestre una etiqueta “Introduzca 2 números:”. Contendrá 2 cuadros de texto donde se
introducirán los 2 números. Luego habrá 4 botones de +, - , * y /, que mostrarán en un tercer cuadro de texto el
resultado correspondiente. Un 5º botón de LIMPIAR limpiará los 3 Textbox y llevará el enfoque al primero de ellos.

NOTA1: En principio no se puede operar con cadenas de textos, así pues habrá que convertir el texto en números, esto lo
podemos hacer con la función VAL  Ejemplo: Val (Text1.text)  convierte el texto del Text1 en número
NOTA2: En principio un nº decimal aparece en formato Científico, por ejemplo: 0,03 aparecerá como 3,00506 E-02
Si queremos que se muestre en el formato deseado se lo tendríamos que indicar con la función Format$:
Format$( val(text1.text), “0.00”)  0,03

4.- Con 4 cuadros de texto y 2 botones diseña un Conversor de Pesetas a Euros y de Euros a Pesetas. Añade un botón para
LIMPIAR los textbox. Añade las etiquetas que sean necesarias para que se entienda el programa.
NOTA: Ten en cuenta el cambio del texto a Nº y el formato final de los decimales del Euro.

5.- Diseña un programa que me permita introducir varias líneas de texto hasta un total de 100 caracteres. El texto debe estar
en Comic Sans MS, Negrita , tamaño 12. Debe mostrarse sólo las 2 primeras líneas , a partir de la 3º línea se activará una
barra de desplazamiento vertical. También debe existir un Botón y una Etiqueta que, originalmente estará invisible.
- El programa me debe permitir texto hasta llegar a 100 caracteres. Después, al pulsar el botón se hará visible la etiqueta
donde debe aparecer el mismo texto del cuadro, pero con el siguiente formato: Arial, Sin Negrita, Con Cursiva, tamaño 10 y
color Azul.

6.- Diseña un programa cuyo formulario tenga unas dimensiones de 8000 de alto por 10000 de ancho y se ejecute siempre
maximizado. En el incluye una Figura (Shape) con forma de circulo. Con Borde y relleno Negros. A la figura la llamaremos
Bola1 y originalmente se situara aproximadamente en el centro del formulario. En la parte superior del formulario diseña el
Marco “Controles de Movimiento”, que contendrá:
- 4 botones dispuestos en cruz. Los cuatro serán de estilo gráfico y contendrán cada uno de ellos, una imagen o icono de
una flecha Izquierda, Derecha, Arriba y Abajo, respectivamente. Además, los botones deberán mostrar una flecha diferente

Pag. 6
al pulsar sobre ellos. Cada Botón tendrá la función de aumentar la posición de la bola 200 puntos a la IZQ, DER, ARR o
ABAJO, según sea el botón. También al pasar por encima de cada botón aparecerá un texto con la dirección.
- Se añadirán 2 cuadros de texto y un botón, que permitirán escribir la posición a donde queremos situar la bola y al pulsar el
botón llevar la bola hasta ese punto. ( Para ello puedes utilizar el método MOVE de la figura).
- Tanto los botones de dirección como el de SITUAR, deben hacer que cambie el valor de 2 etiquetas ( valor de left y de Top)
A la derecha añade otro marco con los siguientes controles: 2 botones de “Grande” y “Normal” que cambien el tamaño de la
bola, Un botón rojo que al pulsar cambie la bola a color rojo y al soltar deje el color en negro, y otro botón que al pulsar
ponga el borde de color verde y lo devuelva a negro al soltar.
Configura el primero de los TextBox para que si pulsas una “i” desaparezca la bola y si pulsas un “v” vuelva a aparecer.
Necesitarás el Código Ascii de la i = 105 , y el de la v = 118

BLOQUE 1 – INTRODUCCIÓN – EJERCICIOS EXTRAS ( Individual )


NOTA: Todos los formularios llevarán como título (Caption) el nº del ejercicio: Ejercicio7, Ejercicio8, ....

7.- Diseñar una aplicación cuya ventana se ejecuta minimizada y al activarla se muestre en la parte inferior
derecha del escritorio, sin posibilidades de ser movida ni maximizada. Debe tener una etiqueta con fondo
amarillo claro y el texto, en verde-azulado, debe ser “>>>” en negrita y tamaño 24. Introduce 2 botones
pequeños con el texto - y + , El botón + hará que el marco de la etiqueta aumente su tamaño un 25 %,
mientras que el botón de - , lo reducirá un 25 %. Al presionar el botón del ratón sobre la etiqueta el texto cambiará
a Rojo y al soltar el ratón el texto volverá a su color original. Si hacemos doble click sobre la etiqueta, ésta se
moverá 500 puntos a la derecha.

8.- Diseña una ventana de 8000 x 2500, de fondo naranja claro, que se ejecute centrada respecto a la pantalla,
siendo posible tan solo cerrarla y sin posibilidad de ser ampliable su tamaño. Sitúa en ella 4 cuadros de texto, 1
botón “Mover” y una figura de tipo rectángulo redondeado de fondo naranja y rayitas verdes en diagonal, con
borde negro tamaño 2. Posiciona 4 etiquetas transparentes con textos respectivos : “Izquierda”, “Arriba”,
”Ancho” y “Alto” encima de cada uno de los cuadros de texto. El programa debe tomar los datos en los cuadros
de texto y, al presionar el botón, aplicarse sobre la figura pero utilizando para ello el método MOVE.

9.- Desarrollar una aplicación en una ventana con la posición original por defecto. Tendrá únicamente un etiqueta
con el texto “Texto de Colores”, en fuente grande y negrita. El texto está centrado respecto al marco de la
etiqueta. Al no haber botones el mismo formulario debe responder a los siguientes eventos del teclado:
- Tecla A(97)  Texto en color azul - Tecla M (109)  Texto en color Amarillo
- Tecla R (114)  Texto en color Rojo - Tecla V (118)  Texto en color Verde

Tecla “pulsada” sobre B (vbkeyB)  Fondo color Blanco Tecla “soltando” B (vbkeyB) Fondo color original

Tecla pulsada sobre (vbkeyUp)  La etiqueta entera SUBE 100 puntos

Tecla adentro sobre (vbkeyDown)  La etiqueta entera BAJA 100 puntos

10.- Desarrolla una aplicación que tenga una etiqueta “- Introduzca Clave secreta”, un cuadro de texto que admita
4 caracteres como máximo y un botón de OK. Se escribirá un clave y al pulsar el botón desaparecerán estos 3
controles “ y aparecerán debajo otros 3 controles similares que originalmente estaban ocultos. La etiqueta tendrá
el texto “Vuelva a introducir Clave secreta:” y delante llevará otra etiqueta en donde se mostrará
automáticamente la fecha (date). Se introducirá de nuevo una clave en el cuadro de texto (solo debe admitir 4) .
Al pulsar el botón de OK el programa debe comparar esta clave con la que se introdujo en la configuración. Si
es igual, aparecerá debajo una nueva etiqueta, con texto negrita y rojo, que ponga “ Clave correcta, continúe” y en
el botón de Ok desaparecerá el texto OK y aparecerá en su lugar la imagen “happy.bmp” del directorio abajo

Pag. 7
indicado. Por el contrario, si la clave no es igual a la original entonces se deshabilitará el cuadro de texto y el
botón (al que también se le debe quitar el texto OK). En este caso la etiqueta de abajo mostrará el texto “Clave
Incorrecta. Sistema Bloqueado”. Dicho botón tendrá establecida, desde un principio, como imagen para caso de
deshabilitado, la imagen Key.bmp del directorio de abajo, de manera que al deshabitarse el botón la imagen
aparecerá automáticamente.
NOTA1: El botón debe tener, desde un principio estilo gráfico.
NOTA2: Para poner la imagen por código:
Btn2.Picture = LoadPicture("C:\Archivos de programa\Microsoft Visual Studio \Common\ Graphics\ Bitmaps\
Assorted\happy.bmp")

BLOQUE 2 - OTROS OBJETOS BÁSICOS


La lista de objetos de Visual Basic es enorme y crece día a día. Igualmente cada uno de esos
objetos tiene una lista de propiedades, métodos y Eventos mucho mayor de lo que podamos pensar a
priori. Aquí continuaremos viendo algunos objetos de los considerados básicos en Visual Basic.

La mayoría de estos nuevos objetos comparten muchas de las propiedades, métodos y eventos ya
vistos en los objetos anteriores, por lo que aquí sólo veremos los realmente específicos de cada uno de
ellos.
CHECK BOX OPTIONBUTTON COMBO BOX LIST BOX TIMER
(Caeilla de Verificación) (Botón de Opción) (Cuadro Combinado) (Cuadro de Lista) (Reloj)

- Nombre - Nombre - Nombre - Nombre - Nombre

- CAPTION - CAPTION -TEXT -TEXT  Solo por código - Interval


- Font ... ForeColor - Font ... ForeColor . - Font ... ForeColor ... - Font ... ForeColor ... Intervalo en
milisegundos

- VALUE - VALUE - LIST (NºFila) - LIST (NºFila) - Enabled


0 No Chequeado True Ej: Combo1.list(0) Ej: List1.list(0) En False “Para”
1  Chequeado False el Reloj.
- Style
2  Cheq.-deshab.
EVENTOS
- Enabled - Enabled - Timer
El código
- Enabled - Sorted - Sorted escrito aquí se
- Enabled
ejecutará cada
- Style - LISTINDEX - LISTINDEX x milisegundos
- Style
0  Standard Combo1.list(Combo1.listindex) List1.list(List1.listindex) (Intervalo)
0  Standard
1  Graphical El que está seleccionado El que está seleccionado
1  Graphical
Sólo para Graphical: - LISTCOUNT - LISTCOUNT IMAGE
Sólo para Graphical: Nº Total de Elementos de la
- Picture Nº Total de Elementos de
- Picture lista
- DisabledPicture la lista
- DisabledPicture - Appearance
- DownPicture
- DownPicture - BorderStyle
- Picture
MÉTODOS - Strech
MÁS .... MÉTODOS
MÁS .... - Visible
Propiedades
Propiedades - Combo1.Additem “elemento”
Métodos - List1.Additem “elem.”
Métodos - Combo1.Clear
Eventos... - List1.Clear
Eventos... - Combo1.removeItem
HABITUALES - List1.removeItem
HABITUALES + HABITUALES MÁS ....
+ HABITUALES
Propiedades
EVENTOS Métodos
EVENTOS
-Scroll Eventos...
-Scroll
-Change HABITUAL
-Change
+ HABITUALES ES
+ HABITUALES

Pag. 8
NOTAS:
- Tanto las Casillas de Verificación o Cuadros de Chequeo (CheckBox) como los Botones de Opción (OptionButton) se
suelen encajar dentro de un objeto Frame, es decir, dentro de un marco. La diferencia es que los CheckBox pueden estar
seleccionados independientemente, mientras que los OptionButton, sólo uno a la vez.

- Los ComboBox y los List Box son casi iguales, la única diferencia es que mientras el Combo permite desplegarse y
escribir a mano además de seleccionar de la lista, el ListBox no permite ni desplegar ni escribir, tan sólo seleccionar de
la lista. (Por eso el ListBox no tiene propiedad Text)
Combo1.text = Zaragoza
Text
0
Combo1.listindex = 1  el índice del que está seleccionado en el Ej.
1
Combo1.list(1) = Zaragoza
2
Combo1.list(combo1.listindex) = Combo1.list(1)=Zaragoza

EJEMPLOS PREVIOS DEL BLOQUE 2: MÁS OBJETOS BÁSICOS.

Ejemplo 1 : Crea un Formulario en el que deberán aparecer los


siguientes objetos

- 3 CheckBox de tipo Estándar ( Cine, Teatro, Museos ) dentro


de un Frame llamado Aficiones
- 2 CheckBox de tipo Gráfico ( Refrescos y Licores) dentro de
un Frame llamado Bebidas
- Un Cuadro de texto que admita varias líneas
- Un Botón Activar, que al ser pulsado hará que se muestre en el
cuadro lo que hayamos seleccionado.

Ejemplo 2: Crea un Formulario en el que deberán aparecer los


siguientes objetos:

- 3 OptionButton de tipo Estándar (ROJO, VERDE y AZUL)


dentro de un Frame llamado Color
- 2 OptionButton de tipo Estándar (Fuente 12 y Fuente 14) dentro
de un Frame llamado Tamaño
- 3 CheckBox de tipo Estándar (Negrita, Cursiva y Subrayado)
dentro de un Frame llamado Formato
- Una etiqueta con la frase “ Texto de Prueba” sobre la que se
mostraran los efectos de las opciones que hayamos seleccionado
o deseleccionado.

Ejemplo 3: Crea un Formulario en el que deberán aparecer los siguientes


objetos:
- 1 ListBox de tipo Estándar, de selección única que contendrá como
lista de valores: España, Portugal, Francia, Italia e Inglaterra. 1
Cuadro de texto donde se mostrará la capital del país que hayamos
seleccionado en el ListBox tras pulsar el botón Capital
- 1 ComboBox de selección única que contendrá como lista de
valores: España, Portugal, Francia, Italia e Inglaterra. 1 Cuadro de
texto donde se mostrará la capital del país que hayamos
seleccionado en el ComboBox tras pulsar el botón Capital
- 1 ListBox de tipo Estándar, de selección única, inicialmente sin
ningún elemento. Al pulsar en el botón Añadir elemento aparecerá
una ventana para escribir el nuevo elemento, el cual se incorporará al ListBox. Además aparecerá en una
etiqueta (inicialmente vacía) la frase “Nº de elementos” junto con dicho valor, el cual irá incrementándose
o disminuyendo a medida que añadamos o eliminemos elementos del ListBox. Esto último se hará tras
seleccionar un elemento y pulsar el botón Eliminar elemento.

Pag. 9
- 1 ListBox de tipo Estándar, de selección única, inicialmente sin ningún elemento y a la derecha del
anterior. Al pulsar el botón “>>” el elemento que previamente hayamos seleccionado del ListBox de la
izquierda pasará como nuevo elemento al ListBox de la derecha.
- 1 Botón Limpiar todo, que dejará los dos ListBox vacíos. (Clear)

Ejemplo 4: Crea un Formulario en el que deberán aparecer los


siguientes objetos:
- 1 Shape con forma de círculo Verde centrado en la parte
inferior del Formulario.
- 1 Image cuyo contenido será el archivo c:\Archivos de
Programas\Plus\Themes\animales
peligrosos-papeltapiz.jpg y cuyo tamaño deberás reducir.
Para que la imagen se vea completa utiliza la propiedad
Stretch.
- 1 Timer que cada segundo hará que la imagen aumente su
ancho y alto en 100 puntos, y que el círculo se desplace
hacia la derecha 100 puntos. Deberá finalizar cuando el círculo alcance la posición 5000.

SOLUCIÓN DE LOS EJEMPLOS DEL BLOQUE 2: MÁS OBJETOS BÁSICOS

Ejemplo 1 :

Private Sub Command1_Click()


Text1.Text = ""
Text1.SelText = "1.- " & "Aficiones:" & vbCrLf

If Check1.Value = 1 Then Text1.SelText = " Private Sub Cambios() & vbCrLf


* " & Check1.Caption
If Check2.Value = 1 Then Text1.SelText = " If OptionRojo.Value
* " & Check2.Caption= True Then Label1.ForeColor = vbRed
& vbCrLf
If Check3.Value = 1 Then Text1.SelText = " If
* "OptionVerde.Value
& Check3.Caption=&True Then Label1.ForeColor = vbGreen
vbCrLf
If OptionAzul.Value = True Then Label1.ForeColor = vbBlue
Text1.SelText = "2.- " & "Bebidas:" & vbCrLf
If Check4.Value = 1 Then Text1.SelText = " If
* "Option12.Value = True
& Check4.Caption Then Label1.FontSize = 12
& vbCrLf
If Option14.Value = True Then Label1.FontSize = 14
If Check5.Value = 1 Then Text1.SelText = " * " & Check5.Caption & vbCrLf

End Sub If CheckN.Value = 1 Then Label1.FontBold = True


Else Label1.FontBold = False
Ejemplo 2: If CheckC.Value = 1 Then Label1.FontItalic = True
Private Sub CheckC_Click() Else Label1.FontItalic = False
Call Cambios If Checks.Value = 1 Then Label1.FontUnderline = True
End Sub Else Label1.FontUnderline = False

Private Sub CheckN_Click() End Sub


Call Cambios
End Sub

Private Sub Checks_Click()


Call Cambios
End Sub

Private Sub Option12_Click()


Call Cambios
End Sub

Private Sub Option14_Click()


Call Cambios
End Sub

Private Sub OptionAzul_Click()


Call Cambios
End Sub
Pag. 10
Private Sub OptionRojo_Click()
Call Cambios
End Sub

Private Sub OptionVerde_Click()


Call Cambios
End Sub

Ejemplo 3:

Private Sub Btn_Añadir_Click()


List2.AddItem InputBox("Introduzca nuevo elemento")
Label1.Caption = "Nº Elementos: " & List2.ListCount
End Sub

Private Sub Btn_Eliminar_Click()


If List2.ListIndex <> -1 Then List2.RemoveItem (List2.ListIndex)
Label1.Caption = "Nº Elementos: " & List2.ListCount
End Sub

Private Sub Btn_limpiar_Click()


List2.Clear
List3.Clear
End Sub

Private Sub Btn_Pasar_Click()


If List2.ListIndex <> -1 Then List3.AddItem List2.List(List2.ListIndex)
End Sub

Private Sub Command1_Click()


If List1.List(List1.ListIndex) = "España" Then Text1.Text = "Madrid"
If List1.List(List1.ListIndex) = "Portugal" Then Text1.Text = "Lisboa"
If List1.List(List1.ListIndex) = "Francia" Then Text1.Text = "París"
If List1.List(List1.ListIndex) = "Italia" Then Text1.Text = "Roma"
If List1.List(List1.ListIndex) = "Inglaterra" Then Text1.Text = "Londres"
End Sub

Private Sub Command2_Click()


If Combo1.List(Combo1.ListIndex) = "España" Then Text2.Text = "Madrid"
If Combo1.List(Combo1.ListIndex) = "Portugal" Then Text2.Text = "Lisboa"
If Combo1.List(Combo1.ListIndex) = "Francia" Then Text2.Text = "París"
If Combo1.List(Combo1.ListIndex) = "Italia" Then Text2.Text = "Roma"
If Combo1.List(Combo1.ListIndex) = "Inglaterra" Then Text2.Text = "Londres"
End Sub

Ejemplo 4:

Private Sub Timer1_Timer()


Shape1.Left = Shape1.Left + 100
Image1.Width = Image1.Width + 100
Pag. 11
Image1.Height = Image1.Height + 100
If Shape1.Left > 5000 Then Timer1.Enabled = False
End Sub

BLOQUE 2 – MÁS OBJETOS BÁSICOS – EJERCICIOS


- Ejercicio1: Diseña un formulario que contenga un Cuadro de texto y vamos a diseñar nuestra propia “barra de
Formato” para ese texto. Para ello situaremos dentro de un Frame alargado los siguientes componentes:
-Un cuadro combinado con los siguientes elementos desde un principio ( y sin ningún Text)
Arial, Comic Sans Ms, Mistral y Times New Roman
-Un cuadro de lista con los siguientes números en la Lista: 8, 10, 12, 14 y 16
-3 Cuadros de Chequeo en modo gráfico, con las letras N, K y S
-2 OptionButton normales con caption “Rojo” y “Azul”
Es evidente lo que debe hacer cada control sobre el texto, aunque al no existir un botón general hay que escribir el
código en los eventos Click de cada uno de ellos.

- Ejercicio2: Vamos a diseñar un formulario de entrada de datos. Tenemos por un lado 3 cuadros de texto para
Nombre, Apellidos y Localidad. Un List Box contendrá intervalos de edades ( 18-25, 26-30, 31-40, 41-60, 60-x)
Existirá 2 Combos para CC.AA. y Provincia que funcionarán de la siguiente manera, En CC.AA habrá desde un
principio los elementos ( Cataluña y País Vasco). Si se selecciona uno de ellos en el siguiente Combo se
introducirán en la lista sus provincias respectivas, apareciendo por defecto la primera de ellas.
Por otro lado tenemos un grupo de casillas de verificación con 6 productos deportivos diferentes
(Zapatillas, Sudadera, Reloj-Crono, Raqueta Paddle, Pelota Basket y Gafas Footing). Luego tenemos un grupo de
2 Opciones (SI o NO) . Cuando es SI se habilita un 3º combo (que originalmente esta inactivo) con 2 elementos
en la lista original (9% y 16 %). Completamos el formulario con los datos deseados y después tendremos 2
botones y dos cuadros de texto con múltiples líneas. El botón de ACEPTAR enviará la información general al
primero de los cuadros y enviará la información de la compra al segundo de los cuadros, teniendo en cuenta que:
- Se enviará el caption cada checkBox seleccionado junto con el Precio de cada uno (inventarse cada precio)
- Además de mostrarlo en el cuadro se irá aumentando una variable TOTAL = TOTAL + PrecioProd.
- Finalmente se mostrará el Total del Coste de los productos seleccionados.
- También se mostrará el Total con el IVA que será del 9% o del 16% según el combo correspondiente.
El segundo botón (LIMPIAR) limpiará todos los controles dejando el programa como al comienzo de la
ejecución, para ello, si no se quiere limpiar control por control, se puede utilizar las instrucciones:
Unload Form1 y Form1.Show, una debajo de la otra.

- Ejercicio3: En este Formulario pondremos, por un lado un grupo de 3 opciones “Grosor”( Fina, Normal o
Super) y 2 checkBox (Picante y A la Leña). Por otro lado tendremos un ComboBox con 10 ingredientes
introducidos desde el principio en modo diseño. La elección de un elemento lo copia a la ListBox que habrá a la
derecha. Si en vez de seleccionarlo lo escribimos el la “presión” de la Tecla INTRO hará pasar el elemento a la
Lista. En cualquier caso al intentar seleccionar más de 5 ingredientes el programa me indicará que no es posible
y me dirá que debo eliminar uno de ellos. Para esto existirá un botón de eliminar que quitará el elemento de la
List que tengamos seleccionado. Finalmente, cuando pulsamos un botón ACEPTAR toda la información pasa a
un cuadro de texto invisible y de ahí a un ventana de mensaje (MsgBOX).
NOTA: Para mandar el total de elementos de la lista al cuadro de texto utiliza el siguiente código.
For i = 0 to List1.listcount
Text1.seltext = list1.list( i ) & vbcrlf
Next i
Pag. 12
- Ejercicio4: Viendo el ejecutable, esta aplicación no necesita demasiada explicación. Un semáforo irá cambiado
Rojo-Ámbar-Verde automáticamente cada 3 segundos. Por otro lado un cochecito transita por una calle de manera
que cuando el semáforo esté en ámbar reducirá la velocidad y al ponerse en Rojo se parará. Continuará la marcha
a velocidad normal al ponerse de nuevo en verde. Al llegar al final del trayecto se pararán los “relojes” y se
mostrarán una etiqueta “Fin del Viajecito - ¡Otra Vueltecita?” y 2 botones SI y NO. El NO saldrá del programa
(Unload Form1) y el SI hará desaparecer los botones y la etiqueta , colocará el coche al principio de la calle y
hará reactivarse a los relojes.
NOTA: POSIBLE MEJORA  Un 2º coche transcurre delante del anterior pero mucho más despacio. Al llegar
a su altura el 1º Coche debe adelantar al 2º, respetando siempre los semáforos.

BLOQUE 3.- EL CÓDIGO FUENTE – EL LENGUAJE BASIC


Hasta ahora tan solo hemos visto Objetos con sus diferentes características y las interacciones entre ellos,
pero tan solo con esto no podemos construir un programa. Necesitamos un lenguaje que nos permita introducir
secuencias o instrucciones lógicas. En Visual Basic, dicho lenguaje o código fuente es el Lenguaje Basic.

El código fuente es el conjunto de instrucciones u órdenes que indican de forma precisa a la aplicación lo
que debe hacer y cómo debe hacerlo. Es decir permite resolver un problema y obtener resultados.

VARIABLES
A veces necesitamos almacenar un valor o varios valores para utilizarlos posteriormente. Una Variable es una
zona o celda de memoria que es capaz de guardar un valor. Hay que darle un NOMBRE a esa variable para
distinguirla de otras. Igualmente habrá que indicar de qué TIPO es dicha variable. Una variable definida, por
ejemplo, como Byte no admitirá nunca letras.

• Para DECLARAR VARIABLES nos vamos al código y dentro de este seleccionamos el objeto “General” y
el procedimiento “declaraciones” y empiezo siempre por la palabra clave Dim

Veamos los Tipos de Variables:


TIPO Descripción o Intervalo
Dim Nombre_variable as Tipo_variable Byte Números desde 0 – 255
Integer Números desde -32.768 hasta 32.767
Long Números desde -2.147.483.648 a 2.147.483.647
Currency Para moneda tiene 2 dígitos para décimos (€, $, ...)
Single Números decimales
Double Decimal con muchos dígitos en la parte decimal.
String Letras y otros caracteres especiales.
OLE_COLOR Colores
Bolean Almacena tan solo 2 valores: Sí o No
Date Fechas en diverso formatos posibles

Veamos un ejemplo de declaración de Variables para tomar los datos de nuestros Empleados:

Dim Nombre as String


Dim Apellidos as String
Dim DNI as Long
Dim CodEmpl as Byte
Dim Fecha as Date
Dim Salario (€) as Currency

• Una vez declaradas o definidas, se puede realizar cualquier operación con variables.
Pag. 13
Ejemplos:
-A= B + 2 - Velocidad = Espacio / Tiempo
- CONT = CONT + 1 - cuadrado = A^2
- Total = Ingresos – Gastos - Cliente = Nombre & Apellidos

En realidad Visual Basic nos permite utilizar variables sin declararlas primero, pero esto no es conveniente
cuando se está empezando a programar. Así pues, utilizaremos Siempre el comando Option Explicit, que nos
obliga a declarar todas las variables que utilicemos(Herramientas/Opciones/Editor/Requerir declaración variables)

Const Nombre_variable as Tipo_variable


CONTANTES

Es parecido a una variable pero no cambia de valor en ningún momento del programa. Tiene un valor fijo.
Se declararan también en la zona “Declaraciones” del objeto “General”, pero con la palabra “CONST”
Ejemplos: Const Pi = 3.1415 Const Euro = 166.386
MATRICES
Una matriz es una variable pero en forma de TABLA pudiendo almacenar un valor distinto en cada una de sus
celdas. Para definir una matriz debemos indicar cuantas celdas va a tener de ancho (columnas) y cuantas celdas va
a tener de alto (Filas) del siguiente modo:

Dim NombreMatriz ( 1 to Nº Filas, 1 to Nº Columnas) as TipoCelda

Ej1: Dim MatrizEjemplo ( 1 to 8 , 1 to 3 ) as Byte


Ej2: Dim GastoMensual ( 1 to 12 ) as Currency
Ej3: Dim Matriz3Dimen ( 1 to 5, 1 to 10, 1 to 4 ) as Integer

Ej4: Supongamos 2 tablas: Dim Empleado (1 to 3 ) as String


Dim SalarioPE (1 to 3, 1 to 2 ) as Single

• Los valores se asignarían de la siguiente forma:

Manuel Fdez Empleado (1) = “Manuel Fdez”


Antonio Schez Empleado (2) = “Antonio Schez”
José Glez Empleado (3) = “José Glez” Ptas Euros

150000 901,52
SalarioPE(1, 1) = 150000 Salario(1, 2) = 901,52 165000 991,67
SalarioPE(2, 1) = 165000 Salario(2, 2) = 991,67 185000 1111,87
SalarioPE(3, 1) = 185000 Salario(3, 2) = 1111,87

SETENCIAS DE CONTROL DEL FLUJO


IF ... THEN... ELSE

Esta estructura comprueba una condición y , si es verdadera, ejecuta las sentencias que la siguen.
Tienes varias formas:
• La más simple: If condición Then Sentencia

Ej: (1) If A>0 Then Label1.Caption= “Nº Positivo”

(2) If A<10 Then


A=A+ 1
Label1.Caption = “El nº aun es menor que 10”
End If

• También podemos asociar una serie de sentencias que realizará si la condición es verdadera y otra serie de
sentencias si es falsa.
Pag. 14
If condición Then Ej: If A>=0 Then
Bloque de Sentencias 1 Label1.Caption = “El nº es cero o positivo”
Else Else
Bloque de Sentencias 2 Label1.Caption = “El nº es negativo”
End If End If

• También podemos usar varias condiciones, para ellos usaremos ELSEIF

If condición1 Then Ej: If edad < 10 then


Bloque de Sentencias 1 Label1.Caption = “Cuota Niño”
ElseIf condición2 Then elseif edad < 25 then
Bloque de Sentencias 2 Label1.Caption = “Cuota Joven”
EslseIf condición3 Then elseif edad < 61 then
Bloque Sentencias 3 Label1.Caption = “Cuota Adulto”
Else else Label1.Caption = “Cuota 3º Edad”
Bloque Sentencias 4 End If
End If
SELECT CASE

Compara la misma expresión con diferentes valores, es parecido a un If con varias condiciones:

Select Case Expresión Ej: Select Case Nota


Case Valor1 Bloque Sentencias 1 Case 0,1,2,3,4 Nfinal = ”Insuficiente”
Case Valor2 Bloque Sentencias 2 Case 5 Nfinal = “Suficiente”
Case Valor3 Bloque Sentencias 3 Case 6 Nfinal = “Bien”
. Case 7, 8 Nfinal = “Notable”
. Case else Nfinal = ”Sobresaliente”
Case Else Bloque Sentencias End Select
End Select

SENTENCIAS DE CONTROL DE BUCLE


DO ... LOOP (WHILE O UNTIL)

Esta estructura ejecuta una y otra vez un bloque de sentencias MIENTRAS se esté cumpliendo una condición o
HASTA que se cumpla una condición. Existen 2 variantes:

1) Lo primero que hace es analizar la condición y , si no se cumple, ni tan siquiera entra en el bucle.

Do While Condición Ej: Do While Cont <10


Bloque de Sentencias Label1.Caption = “Esta frase se repetirá 10 veces”
Loop cont = cont + 1
Loop

Do Until Condición Ej: Do Until Cont = 10


Bloque de Sentencias Label1.Caption = “Esta frase se repetira 10 veces”
Loop cont = cont + 1
Loop

2) Existe una variante , tanto de While como de Until, por la cual el bucle se ejecuta, AL MENOS UNA
VEZ, tendría la siguiente forma:

Do Do
Pag. 15
Bloque de Sentencias Bloque de Sentencias
Loop While Condición Loop Until Condición

FOR .... NEXT

El bucle Para (For) se utiliza cuando sabemos previamente el nº exacto de veces que queremos repetir el bucle.
Este bucle usa una variable, llamada Contador del Bucle, que se incrementará o decrementará en cada repetición
del bucle.
Ej:
For contador = principio to final [step incremento] For i = 1 to 10
Sentencias Label1.Caption = “Esta frase se repetirá 10 veces”
Next [contador] next i

• Esta sentencia es especialmente útil para el tratamiento de matrices, veamos un ejemplo donde se va a
rellenar una matriz vacía. ( Para ello , en este ejemplo, utilizaremos la función InputBox, que permite pedir
por pantalla un dato y almacenarlo directamente en una variable). Ej:

Dim i as byte
Dim MatrizAlum ( 1 to 15 ) as String
.....
.....
For i = 1 to 15
MatrizAlum( i ) = InputBox( “Introduzca nombre de Alumno “ & i & “:”)
Next i

• Igualmente nos puede servir para extraer y mostrar los distintos elementos de una matriz, ya sea en un
textbox, en un listbox o cualquier otro medio ( Por ejemplo con la función MsgBox, que muestra un texto en
un ventana)
For i = 1 to 15
MsgBox “Datos Alumno” & i & “:” & MatrizAlum( i )
Next i

• También puedo incrementar el contador de 2 en 2 o en más en vez de 1 en 1, o decrementarlo en vez de


incrementarlo:

Ej1: For i = 1 to 20 step 2 Ej2: For i = 10 to 1 step -1

• Existe una sentencia llamada EXIT SUB que te permite salir del bucle For u otro bucle en cualquier
momento.
Ej:
For i = 1 to 100
Matriz (i) = inputbox ( “introduzca datos”)
If matriz(i) = “x” then Exit Sub
Next i

Hay que tener en cuenta que cuando estamos en cualquier tipo de bucle ( While, Until, For, ...) el ordenador no
permite ningún evento externo, lo cual hace que no responda a ningún clic de ratón, cambiar de ventana,
pulsación de tecla, ..a nada. Si queremos evitar esto y que el ordenador si este “receptivo” a los eventos
utilizamos la sentencia DoEvents , en cualquier línea dentro del Bucle y esto hará que al terminar cada ciclo del
Bucle y antes de comenzar el siguiente , le ceda el control al Programa y al sistema operativo para ver si se ha
producido cualquier evento dentro del programa o del Sistema. Justo después devuelve el control al Bucle
comenzando el siguiente ciclo.

Pag. 16
FUNCIONES IMPUTBOX Y MSGBOX
Variable = InputBox ( “Texto para introducción de datos” [ & variable & “mas texto” ] )

MsgBox “Texto a mostrar” [ & variable & “Más Texto” ]

Call MsgBox ( “Texto a mostrar” , TipoBotón , “Titulo ventana” )

TipoBotón -> Vbokonly, Vbokcancel, Vbyesno, Vbinformation, Vbexclamation, Vbquestion

La respuestas posibles del MsgBox son -> VbOk, VbCancel, VbAbort, VbYes, VbNo, ...

BLOQUE 3 – CÓDIGO FUENTE - LENGUAJE BASIC – EJERCICIOS


NOTA: Cada Ejercicio en un Proyecto Diferente con su nombre. Dentro de cada ejercicio, si existen apartados,
separarlos por medio de líneas y ponerle una etiqueta a cada apartado.

Ejercicio1
1-A- Diseña una aplicación que pida una Nota numérica (admitiendo decimales), a través de un cuadro de texto y
devuelva como resultado, a través de un Msgbox, la NOTA en forma de INS, SUF, BIEN, NOT o SOB según sea
la nota introducida.

1-B- Añade un Combo o un List al Formulario con la Lista de meses del año (Ene, Feb, .... Dic). Al hacer click
en un mes concreto debe aparecer en pantalla la Estación del año correspondiente (Primavera, Verano, ...).
NOTA1: Toma los meses completos haciendo una aproximación (no tengas en cuantas las fechas concretas)
NOTA2: Utiliza 2 variables: Mes y Est.

1-C- Diseña una aplicación que me pida 3 Números enteros por teclado (a través de InputBox) y los almacene en
3 variables A, B, y C. Posteriormente la aplicación debe calcular cuál es el mayor de los 3 y mostrarlo en pantalla.

1-D- Toma 3 números por inputbox asignándolos a 3 variables X, Y y Z. Muéstralos en un List en dicho orden.
Ahora diseña un proceso por el cual X, Y y Z cambien su valor cíclicamente, es decir:
YX
Z  Y Una vez conseguido muestra de nuevo X, Y y Z en otro List para comprobarlo.
X  Z NOTA: Necesitarás una variable Auxiliar.

1-E- Toma 3 números por inputbox asignándolos a 3 variables N1, N2 y N3. La aplicación debe determinar si la
suma de dos de los números es igual al tercero. Según sea el resultado se mostrará un mensaje de “Si se cumple”
o “No se cumple”.

1-F- Define las variables P y R como enteras. Haz que se pida por teclado el valor de P. Si introduzco en P el
valor 5 ¿Cuánto valdrá P y R después de estás operaciones? Piénsalo y después compruébalo.
RP+6
PP+1
RP–5
RR+7

Pag. 17
Ejercicio2
2-A.- Analicemos la tabla de precios de una Teatro:

Según esta tabla y teniendo en cuenta que si el Cliente es (en Ptas) Niño Joven Adulto
socio al precio final se le hace un 20% de descuento. Paraíso 500 1000 1500
Diseña una aplicación que permita seleccionar el tipo de Butaca 700 1500 2000
cliente y generar el precio del ticket en Ptas y en Euros Palco 1000 2000 3000
Palco V.I.P. 4000 4000 4000

2-B.- Vamos a calcular el salario de los trabajadores de una empresa según el número de horas de trabajo
semanales. Introducimos por teclado tanto el Salario por Hora trabajada (SH) como el Nº de horas de trabajo a la
semana (H). A partir de ahí hay que tener en cuenta diferentes consideraciones:
- Si el nº de horas semanales no supera las 35 se cobran a SH normal. En caso de que la superen cada hora
trabajada por encima de 35 se pagará a 1,5 veces el SH normal (Al considerarse Horas Extras).
- De aquí extraemos el Salario Bruto Semanal (SB). Ahora debemos tener en cuenta los impuestos para el Salario
Neto Semanal (SN). Para ello:
- Si el Bruto no supera las 60.000 no se aplica impuesto alguno. El siguiente caso es que no supere las 100.000 en
cuyo caso se aplicará un 15% de Impuesto y en caso de que supere las 100.000 entonces la Tasa será de un 25%.
Muestra el SB y SN semanal y además calcula el SN mensual y los Impuestos Mensuales (Aprox 1 Mes4 Sem)

Ejercicio3

3-A.- Coloca 2 botones en el formulario. El primero debe calcularme la suma de los números del 1 al 10 y el
segundo debe calcular la suma de los números pares del 1 al 10.

3-B.- Haz que el programa te pida 5 nº por teclado y de cómo resultado la SUMA y la MEDIA.

3-C.- Coloca 1 bola azul , un botón de activar, 1 Text y una Etiqueta. Este ejercicio se hará sin utilizar TIMER.
Se escribirá en el Text cuántos viajes queremos que dé la bola. Al activar la bola circule hasta llegar a cierto punto
( si se desea márquese con una línea) y superado este punto y automáticamente, la bola retornará hasta situarse de
nuevo en su posición inicial. Esto tantas veces como se especifique en el Text. En la etiqueta aparecerá el nº de
viajes que la bola lleva dados.

3-D.- Coloca 1 imagen con una mariposa o insecto (En C:\Archivos...\Plus!\Themes..) y 2 botones (Iniciar y
Parar) . Sin utilizar ningún Timer vamos a hacer al Iniciar la Mariposa comience a moverse de arriba abajo y de
izquierda a derecha mientras no se pulse el botón parar. Busca en los apuntes lo referente a la orden DoEevents
NOTA: Es posible que necesites una variable a modo de Interruptor.

Ejercicio4

4-A.- Diseña un programa que, al activar un botón de “Entrada de Datos” me pida 5 nombres a través de
InputBox y los vaya almacenando en una Matriz. Posteriormente, Al activar un botón de “Mostrar Datos” me
pasará cada uno de los elementos de la matriz a un ListBox. Por otro lado en una label inferior apareceran los
siguientes mensajes para ir explicando el proceso. Justo después de introducir los 5 elementos aparecerá el
mensaje: "Ahora los 5 elementos están en Mem. RAM en forma de Matriz" y justo después de mostrar la Lista
aparecerá: "Ahora los 5 elementos siguen en Mem. RAM y además se están mostrando"

4-B.- Aprovecha la Matriz definida en el apartado anterior y añade otra más también de 5 elementos pero de tipo
Long, que va a contener los Salarios de los 5 nombres de antes. Un botón “Entrada” comenzará a pedirme parejas
Pag. 18
de Nombre y Salario hasta 5 veces. Cada dato debe almacenarse en su Matriz correspondiente. Posteriormente
una Botón “El Mayor” calculará cúal de los elementos de la Matriz de Salarios es el Mayor y me lo mostrará
junto con el nombre que le corresponda de la otra Matriz.

4-C.- Define una Matriz “Tabla” que tenga 5 Filas x 3 Columnas y admita números enteros. Coloca 3 ListBox ,
una para cada columna. Al pulsar un botón de “Tomar Datos” el programa debe pedirme los datos de las 2
primeras columnas, pero me las pedirá fila a fila, es decir: (1,1) (1,2) (2,1) (2,2)..etc.. Al mismo tiempo que se va
tomando los datos y rellenando internamente la matriz externamente se irá añadiendo elementos a los 2 primeros
ListBox también Fila a Fila. Al pulsar otro Botón de “Obtener 3ª Columna” el programa generará y rellenará la
3ª columna de la Matriz como multiplicación de las 2 primeras, es decir: (1,3) = (1,1) * (1,2) . Igualmente
además de almacenarlo en la Matriz lo irá mostrando en el 3º ListBox.
Una vez hecho esto, y como extensión de la aplicación introduce un nuevo ListBox y un nuevo botón de
“Listar Todos”. Este botón debe pasar a este último List todos los elementos de la Matriz Tabla ordenados de
izquierda a derecha y de arriba abajo, es decir: (1,1) (1,2) (1,3) (2,1) (2,2) ........ (5, 3)

4-D.- Coloca 2 TextBox y Un botón de Calcular. Se escribirá un nº en cada Cuadro de texto. Al presionar el botón
la aplicación debe mostrar en una etiqueta la suma de todos los números comprendidos entre el primero y el
segundo ambos inclusive. Para evitar errores el programa debe controlar que el primer número sea siempre menor
que el segundo y mostrar un mensaje de error cuando esto no se cumpla.

Nota:
Las actividades prácticas serán realizadas durante la cursada, en caso de no poseer el programa VB 6.0
Debe mandar las practicas a veronica.almiron@vaneduc.educ.ar y cualquier tipo de consulta.

Tarea:
Realizar un resumen explicativo sobre cada uno de los temas tratados que será evaluado en forma oral al
retorno de las vacaciones y debe explicar los ejemplos basándose en los conceptos trabajados en clase
durante los años anteriores donde no será calificado el resultado sino el procedimiento lógico para llegar
al resultado.

Pag. 19

Вам также может понравиться