miércoles, 7 de agosto de 2019

GRADO DÉCIMO - PRIMER COMPROMISO - DOCUMENTO APOYO

GRADO DÉCIMO
DOCUMENTO DE APOYO
PRIMER COMPROMISO
PERÍODO TRES

PROYECTO EN VISUAL BASIC: ESPEJITO

Proyecto en VB que toma el nombre escrito en un formulario por una persona y lo muestra en otro formulario con un formato diferente.


Inicialmente se observa la Interfaz Gráfica, que la usuaria ve, una vez carga el programa.

Luego se puede escribir el nombre de la participante.

El programa pregunta ¿Quién es la niña más linda del Sumapaz?

Finalmente se muestra el nombre en otro formato y una imagen.

El programa controla que la usuaria no deje vacía la caja de texto en la cual debe escribir el nombre. 

Para esto se muestra una caja de mensajes con el texto: Por favor escriba su nombre.


Si no se escribe el nombre y se le da clic al botón Seguir (imagen de la izquierda), se controla mediante la caja de mensaje que se observa a la derecha.


Para crear el segundo formulario se debe tener abierto el explorador de soluciones que vemos en la siguiente imagen: (Si no está visible se debe tomar la opción Explorador de Soluciones del Menú Ver)

Una vez aparece el Explorador de soluciones, damos clic derecho (contrario) sobre el nombre del proyecto (para el ejemplo de la imagen Espejito Prada 100x), como se ve en la siguiente imagen. Y tomamos las opciones Agregar y Windows Form.

Esta opción nos generar un nuevo formulario y podremos hacer el diseño del mismo como se indica a continuación.



Ahora debemos construir el Código Fuente, que serán las órdenes que vamos a escribir y que se cumplirán cuando los usuarios de nuestro programa interactúen con él. Veamos cómo se hace…
El usuario invoca la aplicación (la ejecuta) y debe escribir un nombre en la Caja De Texto del primer formulario, seguidamente da clic sobre el botón Seguir. Entonces las órdenes debemos escribirlas en dicho botón en el evento clic, que se desarrolla cuando el usuario lo oprime.
En tiempo de diseño damos doble clic sobre dicho botón y nos aparece la siguiente interfaz:


El sistema nos muestra un procesador de texto en el cual podemos escribir las órdenes que queremos que se cumplan cuando el usuario le dé clic al botón de este primer formulario, y nos “regala” las cuatro líneas que se ven.
La primera línea y la última son concordantes. La primera inicia una clase pública en el formulario frmCaptura (¿Qué es una clase en programación de computadores?). La última cierra dicha clase.
Las líneas dos y tres también son concordantes. La número dos inicia una subrutina (¿Qué es una subrutina?) y la tres la finaliza. Esta subrutina se desarrolla en el evento clic del botón Seguir (btnSeguir_Click).

¿Qué debemos solucionar?

Primero: que la caja de texto no sea dejada vacía por el usuario, indicándole por medio de un mensaje (caja de mensajes) que debe escribir el nombre.

Segundo: cuando se escriba el nombre, preguntar en un mensaje (caja de mensajes) ¿Quién es la niña más linda del Sumapaz?

Tercero: llamar al formulario que mostrará el nombre en otro formato.

¿Cómo lo vamos a solucionar?

Utilizaremos una estructura de decisión como se ve en el siguiente párrafo:


Obsérvese la diferencia con la imagen anterior… que es la parte que vamos a escribir y constituye la estructura de decisión. La cual tiene la siguiente conformación:

                                If(Si) Condición se cumple Else (Entonces)
                                                Acción 1
                                Else (SiNo)
                                                Acción 2
                                End If(FindelSi)

La condición evaluada en esta estructura es: txtNombre.text = “”. Esto puede leerse en lenguaje humano como: “si la caja de texto en su propiedad Text es igual a vacío entonces”. Y ya sabemos que si esto pasa vamos a mostrarle al usuario un mensaje que le indique que debe escribir el nombre. Esto se logra con la línea:

En caso de que la condición no se cumpla, entonces se cumplirán las órdenes después de la palabra Else.

MsgBox("¿Quien es la niña más linda del Sumapaz?", MsgBoxStyle.Exclamation, "Espejito Espejito...")
     frmNombreBonito.Show()

De estas dos líneas, la primera se explica similar a la inmediatamente anterior. No deberíamos tener problemas en esto ¿verdad? La segunda sencillamente invoca al segundo formulario con la palabra Show() que es un método. (¿Qué es un método en programación de computadores?). Esta línea permite que a continuación se muestre el segundo formulario.

Lo único que nos falta es pasar el nombre escrito en la caja de texto del primer formulario a la etiqueta (label) del segundo formulario. Esto se hace utilizando el evento load del segundo formulario.

Este evento es el cargue del formulario y se da durante el tiempo que corre desde que se invoca hasta que se muestra. En ese lapso podemos hacer algunas cosas como “pasar” el nombre escrito en la caja de texto del primer formulario a la etiqueta o label del segundo formulario.

¿Cómo se hace esto?

En tiempo de diseño damos un clic en cualquier parte del área libre (sin elementos) del segundo formulario y como en el caso del evento clic del botón seguir se nos ofrece un procesador de texto para escribir las ordenes que queremos se cumplan para este caso, en el evento load del segundo formulario. Esto lo vemos en el siguiente párrafo:

Public Class frmNombreBonito
    Private Sub frmNombreBonito_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.lblNombreBonito.Text = frmCaptura.txtNombre.Text
    End Sub
End Class

La explicación que se dio anteriormente para la clase pública del formulario uno es similar para este caso. Esto quiere decir que la única línea que agregamos es la siguiente:

        Me.lblNombreBonito.Text = frmCaptura.txtNombre.Text

Esta línea tiene las siguientes particularidades: la palabra Me reemplaza el nombre del formulario frmNombreBonito y se debe hacer porque se está llamando desde el evento load de ese mismo formulario. Esta línea entonces, en palabras de un ser humano sería más o menos:

En el formulario Nombre Bonito, en la propiedad Text de la label Nombre Bonito, cargue o haga una copia del contenido de la propiedad Text de la caja de texto Nombre del formulario captura o formulario uno.

Ahora nuestra aplicación debe funcionar... 


No hay comentarios:

Publicar un comentario