3ayb Programación Visual Basic - Teoría y Práctica

27
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 Pag. 1

Transcript of 3ayb Programación Visual Basic - Teoría y Práctica

Page 1: 3ayb Programación Visual Basic - Teoría y Práctica

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.

Pag. 1

Page 2: 3ayb Programación Visual Basic - Teoría y Práctica

1.- Tomar valores de Entrada , Almacenarlos y Devolver valores de Salida2.- 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 NivelLa 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 BEGIN20 CLEAR30 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 IF90 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

Page 3: 3ayb Programación Visual Basic - Teoría y Práctica

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, InfladoObjeto Alfiler: Posición, Longitud, ColorObjeto 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, HacerBangObjeto 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, KeypressObjeto 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

Page 4: 3ayb Programación Visual Basic - Teoría y Práctica

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

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

Cuadro de Herramientas

Barra de Menús Barra de Herramientas Estándar

Botón Ver Código Botón Ver Formulario

Ventana de Proyecto

Ventana de Inspección de PropiedadesFormulario Principal

Page 5: 3ayb Programación Visual Basic - Teoría y Práctica

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 (Form)

ETIQUETA (Label)

CUADRO TEXTO (TexBox)

BOTÓN (Command Button)

FIGURA (Shape)

- Nombre

- Backcolor

- BorderStyle- CAPTION

- Maxbutton - Minbutton- Moveable- Picture- StarUpPosition- WindowsState

- Height- Width

- Nombre- Autosize- Alignment- Backcolor- Backstyle- BorderStyle- CAPTION- Font

- FontBold - FontItalic - FontUnderline - FontName - FontSize- ForeColor

- Left- Top- Height- Width

- Enabled- Tooltiptext- visible

- Nombre

- Alignment- Backcolor- Backstyle- BorderStyle- TEXT- Font

- FontBold - FontItalic - FontUnderline - FontName - FontSize- ForeColor

- Multiline- Maxlenght- ScrollBars

- Left- Top- Height- Width

- Enabled- Tooltiptext- visible

- Nombre

-Backcolor

- CAPTION - Font

- FontBold - FontItalic - FontUnderline - FontName - FontSize- ForeColor

- Default- Style- Picture- DisabledPicture- DownPicture

- Left- Top- Height- Width

- Enabled- Tooltiptext- visible

- Nombre

- Backcolor- Backstyle- BorderStyle- SHAPE

- Borderwidth- Fillcolor- FillStyle

- Left- Top- Height- Width

- Enabled

- 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

Page 6: 3ayb Programación Visual Basic - Teoría y Práctica

- MouseDown- MouseUp- MouseMove- GotFocus- 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úmeroNOTA2: En principio un nº decimal aparece en formato Científico, por ejemplo: 0,03 aparecerá como 3,00506 E-02Si 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

Aparecen en la Ventana de Código

Page 7: 3ayb Programación Visual Basic - Teoría y Práctica

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 indicado. Por el contrario, si la clave no es igual a la original entonces se deshabilitará el cuadro de texto y el

Pag. 7

Page 8: 3ayb Programación Visual Basic - Teoría y Práctica

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(Caeilla de Verificación)

OPTIONBUTTON(Botón de Opción)

COMBO BOX(Cuadro Combinado)

LIST BOX(Cuadro de Lista)

TIMER(Reloj)

- Nombre

- CAPTION- Font ... ForeColor

- VALUE 0 No Chequeado 1 Chequeado 2 Cheq.-deshab.

- Enabled

- Style 0 Standard 1 Graphical

Sólo para Graphical:- Picture- DisabledPicture - DownPicture

MÁS ....PropiedadesMétodosEventos... HABITUALES

- Nombre

- CAPTION- Font ... ForeColor .

- VALUE True False

- Enabled

- Style 0 Standard 1 Graphical

Sólo para Graphical:- Picture- DisabledPicture - DownPicture

MÁS ....PropiedadesMétodosEventos... HABITUALES

- Nombre

-TEXT- Font ... ForeColor ...

- LIST (NºFila) Ej: Combo1.list(0)

- Style

- Enabled

- Sorted

- LISTINDEX Combo1.list(Combo1.listindex)El que está seleccionado

- LISTCOUNTNº Total de Elementos de la lista

MÉTODOS

- Combo1.Additem “elemento”- Combo1.Clear- Combo1.removeItem+ HABITUALES

EVENTOS-Scroll-Change+ HABITUALES

- Nombre

-TEXT Solo por código

- Font ... ForeColor ...

- LIST (NºFila) Ej: List1.list(0)

- Enabled

- Sorted

- LISTINDEXList1.list(List1.listindex)El que está seleccionado

- LISTCOUNTNº Total de Elementos de la lista

MÉTODOS

- List1.Additem “elem.”- List1.Clear- List1.removeItem+ HABITUALES

EVENTOS-Scroll-Change+ HABITUALES

- Nombre

- Interval Intervalo en milisegundos

- EnabledEn False “Para” el Reloj.

EVENTOS - Timer El código escrito aquí se ejecutará cada x milisegundos (Intervalo)

IMAGE

- Appearance- BorderStyle- Picture- Strech- Visible

MÁS ....PropiedadesMétodosEventos... HABITUALES

Pag. 8

Page 9: 3ayb Programación Visual Basic - Teoría y Práctica

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)

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

0

1

2

Combo1.text = Zaragoza

Combo1.listindex = 1 el índice del que está seleccionado en el Ej.

Combo1.list(1) = Zaragoza

Combo1.list(combo1.listindex) = Combo1.list(1)=Zaragoza

Text

Page 10: 3ayb Programación Visual Basic - Teoría y Práctica

- 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 = " * " & Check1.Caption & vbCrLfIf Check2.Value = 1 Then Text1.SelText = " * " & Check2.Caption & vbCrLfIf Check3.Value = 1 Then Text1.SelText = " * " & Check3.Caption & vbCrLf

Text1.SelText = "2.- " & "Bebidas:" & vbCrLfIf Check4.Value = 1 Then Text1.SelText = " * " & Check4.Caption & vbCrLf If Check5.Value = 1 Then Text1.SelText = " * " & Check5.Caption & vbCrLf

End Sub

Ejemplo 2:Private Sub CheckC_Click()Call CambiosEnd Sub

Private Sub CheckN_Click()Call CambiosEnd Sub

Private Sub Checks_Click()Call CambiosEnd Sub

Private Sub Option12_Click()Call CambiosEnd Sub

Private Sub Option14_Click()Call CambiosEnd Sub

Private Sub OptionAzul_Click()Call CambiosEnd Sub

Pag. 10

Private Sub Cambios()If OptionRojo.Value = True Then Label1.ForeColor = vbRedIf OptionVerde.Value = True Then Label1.ForeColor = vbGreenIf OptionAzul.Value = True Then Label1.ForeColor = vbBlue

If Option12.Value = True Then Label1.FontSize = 12If Option14.Value = True Then Label1.FontSize = 14

If CheckN.Value = 1 Then Label1.FontBold = True Else Label1.FontBold = False

If CheckC.Value = 1 Then Label1.FontItalic = True Else Label1.FontItalic = False

If Checks.Value = 1 Then Label1.FontUnderline = True Else Label1.FontUnderline = False

End Sub

Page 11: 3ayb Programación Visual Basic - Teoría y Práctica

Private Sub OptionRojo_Click()Call CambiosEnd Sub

Private Sub OptionVerde_Click()Call CambiosEnd Sub

Ejemplo 3:

Private Sub Btn_Añadir_Click()List2.AddItem InputBox("Introduzca nuevo elemento")Label1.Caption = "Nº Elementos: " & List2.ListCountEnd Sub

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

Private Sub Btn_limpiar_Click()List2.ClearList3.ClearEnd 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 + 100Image1.Width = Image1.Width + 100

Pag. 11

Page 12: 3ayb Programación Visual Basic - Teoría y Práctica

Image1.Height = Image1.Height + 100If Shape1.Left > 5000 Then Timer1.Enabled = FalseEnd 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 ) & vbcrlfNext i

Pag. 12

Page 13: 3ayb Programación Visual Basic - Teoría y Práctica

- 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:

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

Dim Nombre as StringDim Apellidos as StringDim DNI as LongDim CodEmpl as ByteDim Fecha as DateDim Salario (€) as Currency

Una vez declaradas o definidas, se puede realizar cualquier operación con variables.

Pag. 13

TIPO Descripción o IntervaloByte Números desde 0 – 255Integer Números desde -32.768 hasta 32.767Long Números desde -2.147.483.648 a 2.147.483.647Currency Para moneda tiene 2 dígitos para décimos (€, $, ...)Single Números decimalesDouble Decimal con muchos dígitos en la parte decimal.String Letras y otros caracteres especiales.OLE_COLOR ColoresBolean Almacena tan solo 2 valores: Sí o NoDate Fechas en diverso formatos posibles

Dim Nombre_variable as Tipo_variable

Page 14: 3ayb Programación Visual Basic - Teoría y Práctica

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)

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

MATRICESUna 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:

Ej1: Dim MatrizEjemplo ( 1 to 8 , 1 to 3 ) as ByteEj2: Dim GastoMensual ( 1 to 12 ) as CurrencyEj3: 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:

Empleado (1) = “Manuel Fdez”Empleado (2) = “Antonio Schez”Empleado (3) = “José Glez”

SalarioPE(1, 1) = 150000 Salario(1, 2) = 901,52SalarioPE(2, 1) = 165000 Salario(2, 2) = 991,67SalarioPE(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:

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

Manuel FdezAntonio SchezJosé Glez

150000 901,52

165000 991,67

185000 1111,87

Const Nombre_variable as Tipo_variable

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

If condición Then Sentencia

Ptas Euros

Page 15: 3ayb Programación Visual Basic - Teoría y Práctica

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

Ej: If edad < 10 then Label1.Caption = “Cuota Niño”

elseif edad < 25 then Label1.Caption = “Cuota Joven”

elseif edad < 61 then Label1.Caption = “Cuota Adulto”

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 SelectEnd 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 Bloque de Sentencias Bloque de Sentencias

Pag. 15

If condición1 Then Bloque de Sentencias 1ElseIf condición2 Then

Bloque de Sentencias 2 EslseIf condición3 Then

Bloque Sentencias 3 Else

Bloque Sentencias 4End If

else Label1.Caption = “Cuota 3º Edad” End If

Page 16: 3ayb Programación Visual Basic - Teoría y Práctica

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 byteDim 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 SubNext 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.

FUNCIONES IMPUTBOX Y MSGBOX

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

Page 17: 3ayb Programación Visual Basic - Teoría y Práctica

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 XZ 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 + 6P P + 1R P – 5R R + 7

Ejercicio2

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

Pag. 17

(en Ptas) Niño Joven AdultoParaíso 500 1000 1500Butaca 700 1500 2000Palco 1000 2000 3000Palco V.I.P. 4000 4000 4000

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

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

Page 18: 3ayb Programación Visual Basic - Teoría y Práctica

Según esta tabla y teniendo en cuenta que si el Cliente es socio al precio final se le hace un 20% de descuento. Diseña una aplicación que permita seleccionar el tipo de cliente y generar el precio del ticket en Ptas y en Euros

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 Mes4 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 DoEeventsNOTA: 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 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.

Pag. 18

Page 19: 3ayb Programación Visual Basic - Teoría y Práctica

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.0Debe mandar las practicas a [email protected] 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