Entrega Nº 1

 

Antes de comenzar quisiera agradecer a todos aquellos que se inscribieron en el curso, por el entusiasmo y también por su confianza. Gracias.

Bueno y ahora a trabajar...

Como todos sabemos Visual Basic es un lenguaje de Programación Visual, que si bien no cumple con todos los requisitos de un lenguaje propiamente dicho: Encapsulado, Herencia y Polimorfismo. Nos hace la programación más fácil ya que la mayoría de sus funciones y procedimientos están automatizados. Y sus controles traen una cierta cantidad de propiedades, fáciles de modificar. Además su entorno de desarrollo totalmente visual, facilita la creación de aplicaciones, sumado a esto la compatibilidad que tiene con Windows.

Hoy en día a cualquier aplicación se le exige un entorno multimedia, que resulte atrayente al alumno o usuario. Y con VB es posible lograr esto con distintos controles que permiten activar: sonidos, videos, animaciones, desplegar imágenes y texto, y conectarse con otras aplicaciones del entorno Windows.

En esta primera entrega vamos a ver distintas formas de desplegar texto: Usando controles como la Label o etiqueta, la Caja de texto o Text y el Control para Texto enriquecido o RichTextBox. Los dos primeros son controles estandar, que encontraremos en la Caja de Herramientas (Doy por entendido, que están familiarizados con los controles estandar y con el entorno de trabajo de VB) y El RichTextBox, deben traerlo de Proyecto, Componentes y allí hacer un chek en Microsoft RichTextBox, luego Aceptar y aparecerá en la Caja de herramientas como un control más.

En el primer Ejercicio abrimos un proyecto nuevo estandar y en el formulario dibujamos: 4 labels, una para el título (El sapainca), la segunda vacía (en la imagen aparece: Cetro), la tercera dá las indicaciones de la Interactividad (Haga clic sobre las distintas partes, de la vestimenta del Inca) y la cuarta despliega en su propiedad Caption : el texto descriptivo del gobierno Inca. Luego tenemos una Picture con la imagen del Inca, y tres botones, que a traves del evento Click, van al menú de esta aplicación. Imprimen la pantalla, o continúan con el tema siguiente. Obviamente esto es sólo una parte de un proyecto más complejo, sobre la vida de los Incas.

El form tendrá un aspecto similar a la siguiente imagen:

 

Lo importante aquí para nosotros, será particionar el dibujo desplegado en la Picture en varias partes, con varias Labels transparentes y con su caption vacío para que al hacer click sobre el escudo, las sandalias, el cetro, el casco, etc.. despliegue en la label segunda (donde se lee Cetro) las distintas partes de la vestimenta. Esto lo podemos aplicar a una imagen de una máquina donde explicamos sus distintas partes, al cuerpo humano, un país y sus regiones, etc.

Es importante que modifiquemos el puntero del mouse cuando pase por encima de estas labels que a su vez están dibujadas sobre la picture. Así el usuario se dará cuenta que allí es posible una interacción. Para modificar el puntero del mouse, debemos tener la propiedad de la label MousePointer = 99 que le otorga el valor Customer o sea personalizado. Y en la propiedad MouseIcon elegimos un icono adecuado, por ejemplo una manito como en Internet.

Y en el evento Click de cada label irá el código correspondiente a la parte de la vestimenta seleccionada. Por ejemplo:

Private Sub Label5_Click()

Label2.caption = "Cetro"

End Sub

y así con las otras labels que se posicionan sobre las otras partes de la vestimenta.

En el segundo Ejercicio vamos a ver como hacemos para directamente desplegar un texto ya copiado y grabado en un archivo con extensión TXT, que podemos tipear en cualquier editor como el NotePad, por ejemplo y otro texto con formato RTF (Rich Text File, o sea archivo de texto enriquecido) . Este formato puede grabarse en el Word, vamos a grabar como... y allí seleccionamos RTF. Se llama texto enriquecido porque permite incluir distintos tipos de letras, colores y tamaños o sea más variantes en su formato. Y el control que vamos a usar para desplegar este texto con formato RTF es el RichTextBox, para el texto común o sea con formato TXT, usaremos un TextBox de la caja de herramientas estándar. El formulario tendrá el siguiente aspecto:

Tenemos dos controles para desplegar el texto: un Text1 y un RichTextBox1, y dos botones en cuyos eventos Click se desplegarán por código los archivos mencionados en los controles de texto.

Primero debemos crear un archivo en el NotePad o en el Word y grabarlo como TXT y otro con variaciones en el tipo, color y tamaño de la letra y grabarlo como rtf. Luego abrimos visual y en creamos un nuevo proyecto grabándolo en el mismo directorio y carpeta que tenemos los archivos: txt y rtf.

El código de cada botón es el siguiente:

Option Explicit 'Esta expresión nos fuerza a declarar las variables.

Private Sub Command1_Click() 'Este boton es el que carga el 'archivo TXT
Dim pepe As String '
Declaramos una variable para identificar el 'archivo
Dim renglon As String '
Esta variable guardará el tamaño de cada 'renglón del archivo

renglon = Chr(13) & Chr(10) ' corta a otra línea
Text1.Text = ""
Open App.Path & "\rtf.txt" For Input As #1'
Abre (Open) y da 'entrada (Input) el archivo ubicado en el mismo directorio y carpeta 'en que está la aplicación. App.path significa en la ruta actual de la 'aplicación. Sino hay que indicar cual es el Path.
While Not EOF(1) ' esto realiza un bucle o sea repite la acción hasta 'que se llegue al final del archivo 1 (End of File)
Line Input #1, pepe$ ' le da entrada a la linea 1 del archivo
Text1.Text = Text1.Text & pepe & renglon
'concatena con & el texto del archivo y el tamaño del reglón.
Wend ' repite las ordenes en tanto la condición es verdadera, en este caso hasta tanto no termine el texto del archivo.
Close #1 '
cierra el archivo al terminar de cargarlo.

End Sub

Private Sub Command2_Click()
RichTextBox1.LoadFile (App.Path & "\rtf.rtf")
'como podemos ver 'con el Control RichTextBox es más sencillo el manejo de archivos, 'con la sentencia LoadFile se carga el archivo indicando el camino 'para encontrarlo.
End Sub

En el primer ejercicio, la descripción de la forma de gobierno Inca la habíamos desplegado en una label, en su propiedad Caption, en cambio en el segundo ejemplo nos permite usar archivos ya existentes sin volver a tipearlos o pegarlos en VB.

Para terminar me gustaría mostrarles como hacer un efecto degradee en el fondo de un formulario, por código sin cargar una imagen. El formulario al correrlo se verá así.

Para que este efecto se realice al correr el programa debemos copiar el siguiente código:

Private Sub Form_Resize() 'Debemos hacerlo en el procedimiento 'Resize que readapta el tamaño del formulario a la medida que le 'demos, en caso que el usuario lo agrande o achique.
Dim i
Dim y
Form1.Cls
' Limpia el formulario
Form1.AutoRedraw = True
'Redibuja el form
Form1.DrawStyle = 6 'rellena el rectángulo
Form1.DrawMode = 13
' copia
Form1.DrawWidth = 2
'el ancho de la linea es 2
Form1.ScaleMode = 3
'está en modo Pixel
Form1.ScaleHeight = (256 * 2)

For i = 0 To 255 'hace un bucle donde repite 256 veces la 'instrucciones encerradas entre el for y el next
Form1.Line (0, y)-(Form1.Width, y + 2), RGB(0, i, 0), BF
'con el 'método Line dibuja la linea incrementando la posición de la 'coordenada y usando la función RGB (Red, Green, Blue) en este 'caso partiendo de negro (0,0,0) y terminando en verde puro '(0,256,0) y rellenando la linea. (Fill Box)
y = y + 2 'incrementa la coordenada vertical
Next i 'repite el ciclo una vez más

End Sub

Bueno esto es todo por hoy. Cualquier duda o comentario será bien recibido en nuestro mail:

[email protected]

Nos vemos la próxima semana.

Un fuerte abrazo

Mirta

 

Entrega 1 - Entrega 2 - Entrega 3 - Entrega 4 - Entrega 5 - Entrega 6 - Entrega 7 - Entrega 8