Materia: Informática Aplicada Año: 3° A y B

Prof.: Verónica Almirón

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 20 30 BEGIN CLEAR WRITE “INTRODUCE UN NÚMERO POR EL TECLADO” READ (NUM) IF NUM < 0 THEN WRITE “EL Nº ES NEGATIVO” ELSE IF NUM > 0 WRITE “EL Nº ES POSITIVO” ELSE WRITE “EL Nº ES CERO” END IF END

40
50 60 70 80 90

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: Objeto Alfiler: Inflar, Desinflar, HacerBang 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: Objeto Globo: Click, Keypress 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 Estándar Botón Ver Código Botón Ver Formulario

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 Button (Botón de Opción) ComboBox (Cuadro (Cuadro de Lista) HscrollBar (B. DesplazHoriz.) Timer (Reloj) DriveListBox (Cuadro Lista verificación) Combinado) VscrollBar (B.Desplaz. Vertical) Unidades) Pag. 4 Option ListBox

DirListBox(C. Lista Carpetas) Shape(Figura)

FileListBox (Cuadro de Lista Archivos) Line (Línea) Image(Imagen) Data

(Datos) OLE

ALGUNOS OBJETOS BÁSICOS Y SUS PROPIEDADES
FORMULARIO
(Form)
- Nombre - Backcolor - BorderStyle - CAPTION

ETIQUETA
(Label)
- Nombre - Autosize - Alignment - Backcolor - Backstyle - BorderStyle - CAPTION - Font - FontBold - FontItalic - FontUnderline - FontName - FontSize - ForeColor

CUADRO TEXTO (TexBox)
- Nombre - Alignment - Backcolor - Backstyle - BorderStyle - TEXT - Font - FontBold - FontItalic - FontUnderline - FontName - FontSize - ForeColor - Multiline - Maxlenght - ScrollBars

BOTÓN
(Command Button)
- Nombre -Backcolor - CAPTION - Font - FontBold - FontItalic - FontUnderline - FontName - FontSize - ForeColor - Default - Style - Picture - DisabledPicture - DownPicture - Left - Top - Height - Width - Enabled - Tooltiptext - visible

FIGURA (Shape)
- Nombre - Backcolor - Backstyle - BorderStyle - SHAPE

- Maxbutton - Minbutton - Moveable - Picture - StarUpPosition - WindowsState - Left - Top - Height - Width - Enabled - Tooltiptext - visible

- Borderwidth - Fillcolor - FillStyle

- Height - Width

- Left - Top - Height - Width - Enabled - Tooltiptext - visible

- 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

-

MouseDown MouseUp MouseMove GotFocus LostFocus Change Keypress Keydown KeyUp

Aparecen en la Ventana de Código

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 Tecla adentro sobre (vbkeyUp)  La etiqueta entera SUBE 100 puntos (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. OPTIONBUTTON CHECK BOX COMBO BOX LIST BOX TIMER
(Botón de Opción) (Cuadro Combinado) (Cuadro de Lista) - Nombre -TEXT  Solo por código - Font ... ForeColor ... - LIST (NºFila) Ej: List1.list(0) (Reloj) - Nombre - Interval Intervalo en milisegundos - Enabled En False “Para” el Reloj. EVENTOS - Timer El código escrito aquí se ejecutará cada x milisegundos (Intervalo) - Nombre - Nombre

(Caeilla de Verificación) - Nombre - CAPTION - Font ... ForeColor - VALUE 0 No Chequeado 1  Chequeado 2  Cheq.-deshab.

- CAPTION -TEXT - Font ... ForeColor . - Font ... ForeColor ... - VALUE True False - LIST (NºFila) Ej: Combo1.list(0) - Style - Enabled

- Enabled - Sorted

- Enabled - Style 0  Standard 1  Graphical Sólo para Graphical: - Picture - DisabledPicture - DownPicture MÁS .... Propiedades Métodos Eventos... HABITUALES

- Enabled - Style 0  Standard 1  Graphical

- Sorted

- LISTINDEX - LISTINDEX Combo1.list(Combo1.listindex) List1.list(List1.listindex) El que está seleccionado El que está seleccionado - LISTCOUNT Nº Total de Elementos de la lista

Sólo para Graphical: - LISTCOUNT Nº Total de Elementos de la - Picture lista - DisabledPicture - DownPicture MÁS .... Propiedades Métodos Eventos... HABITUALES MÉTODOS - Combo1.Additem “elemento” - Combo1.Clear - Combo1.removeItem + HABITUALES EVENTOS -Scroll -Change + HABITUALES

IMAGE
- Appearance - BorderStyle - Picture - Strech - Visible

MÉTODOS - List1.Additem “elem.” - List1.Clear - List1.removeItem + HABITUALES EVENTOS -Scroll -Change + HABITUALES

MÁS .... Propiedades Métodos Eventos... HABITUAL ES 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) Text 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

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 Private Sub Cambios() & vbCrLf * " & Check1.Caption If " & Check2.Caption True Then Label1.ForeColor = vbRed * OptionRojo.Value = & vbCrLf If " & Check3.Caption & vbCrLf Label1.ForeColor = vbGreen * OptionVerde.Value = True Then If OptionAzul.Value = True Then Label1.ForeColor = vbBlue Text1.SelText = "2.- " & "Bebidas:" & vbCrLf If Check4.Value = 1 Then Text1.SelText = " If " & Check4.Caption & vbCrLf * Option12.Value = True Then Label1.FontSize = 12 If " & Check5.Caption & vbCrLf If Check5.Value = 1 Then Text1.SelText = " * Option14.Value = True Then Label1.FontSize = 14 If Check1.Value = 1 Then Text1.SelText = " If Check2.Value = 1 Then Text1.SelText = " If Check3.Value = 1 Then Text1.SelText = " End Sub Ejemplo 2: Private Sub CheckC_Click() Call Cambios End Sub Private Sub CheckN_Click() 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 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

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

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

Nombre Apellidos DNI CodEmpl Fecha Salario (€)

as as as as as as

String String Long Byte Date Currency

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

Ejemplos: -A= B + 2 - CONT = CONT + 1 - Total = Ingresos – Gastos

- Velocidad = Espacio / Tiempo - cuadrado = A^2 - 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

Const Nombre_variable as Tipo_variable

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: Ej2: Ej3: Dim MatrizEjemplo ( 1 to 8 , 1 to 3 ) as Byte Dim GastoMensual ( 1 to 12 ) as Currency Dim Matriz3Dimen ( 1 to 5, 1 to 10, 1 to 4 ) as Integer Dim Empleado Dim SalarioPE (1 to 3 ) (1 to 3, 1 to 2 ) as String as Single

Ej4: Supongamos 2 tablas: •

Los valores se asignarían de la siguiente forma: Manuel Fdez Antonio Schez José Glez Empleado (1) = “Manuel Fdez” Empleado (2) = “Antonio Schez” Empleado (3) = “José Glez” 150000 901,52 991,67 1111,87 165000 185000

Ptas

Euros

SalarioPE(1, 1) = 150000 SalarioPE(2, 1) = 165000 SalarioPE(3, 1) = 185000

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

If condición Then Sentencia
Then Label1.Caption= “Nº Positivo”

(2) If A<10 Then A=A+ 1 Label1.Caption = End If •

“El nº aun es menor que 10”

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 Bloque de Sentencias 1 Else Bloque de Sentencias 2 End If •

Ej:

If A>=0 Then Label1.Caption = “El nº es cero o positivo” Else Label1.Caption = “El nº es negativo” 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” else Label1.Caption = “Cuota 3º Edad” End If

If condición1 Then Bloque de Sentencias 1 ElseIf condición2 Then Bloque de Sentencias 2 EslseIf condición3 Then Bloque Sentencias 3 Else Bloque Sentencias 4 End If SELECT CASE

Compara la misma expresión con diferentes valores, es parecido a un If con varias condiciones: Select Case Expresión Case Valor1 Bloque Sentencias 1 Case Valor2 Bloque Sentencias 2 Case Valor3 Bloque Sentencias 3 . . Case Else Bloque Sentencias End Select Ej: Select Case Nota Case 0,1,2,3,4 Case 5 Case 6 Case 7, 8 Case else End Select Nfinal = ”Insuficiente” Nfinal = “Suficiente” Nfinal = “Bien” Nfinal = “Notable” Nfinal = ”Sobresaliente”

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 Bloque de Sentencias Loop Ej: Do While Cont <10 Label1.Caption = “Esta frase se repetirá 10 veces” cont = cont + 1 Loop Ej: Do Until Cont = 10 Label1.Caption = “Esta frase se repetira 10 veces” cont = cont + 1 Loop

Do Until Condición Bloque de Sentencias 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 Loop While Condición

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

For contador = principio to final [step incremento] Sentencias Next [contador]

Ej: For i = 1 to 10 Label1.Caption = “Esta frase se repetirá 10 veces”

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: For i = 1 to 20 step 2 Ej2: For i = 10 to 1 step -1

Ej1:

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 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 (en Ptas) Paraíso Butaca Palco Palco V.I.P. Niño 500 700 1000 4000 Joven 1000 1500 2000 4000 Adulto 1500 2000 3000 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