lunes, 5 de agosto de 2013

Clase 2

1 - Formularios , propiedades métodos y eventos

En esta sección se ven las características principales de los Formularios.
Como vimos en la página anterior, los formularios son las ventanas que contienen a otros controles y en ellos podemos incluir controles de comando, como botones, cajas de texto, controles para bases de datos, y por supuesto el código necesario de nuestros programas.
También se dijo, los controles e inclusive los Formularios tienen sus propias características, como las propiedades (un ejemplo el color del fondo o propiedad Backcolor), sus eventos (el evento load que se ejecuta cuando cargamos el formulario en memoria), y sus métodos (por ejemplo el método show que es para mostrar el formulario y el método hide que es para ocultarlo, en el caso de un formulario.
Acá hay que hacer una cosa muy importante. Cuando se comienza a programar, suele ser muy casual confundir métodos yeventos y no son lo mismo. Los métodos son funciones propias de cada objeto, por ejemplo el método hide de un formulario no lo posee un command button. Con los eventos suele ocurrir lo mismo. Un formulario posee el evento load y un command button no lo posee (a no ser que pertenezca un arreglo de controles pero ese es otro tema que se verá en otra ocación).
Pero otros eventos si los comparten ambos. Siguiendo el ejemplo del formulario y el botón, los dos tienen un evento llamado click, y todas las instrucciones de código que escribamos en la rutina de código o procedimiento que estén bajo este evento, se ejecutarán cuando hagamos un click con el mouse sobre el objeto. El evento Click lo poseen la mayoría de los controles, pero no tiene porque ser así.

Para seguir con el tema de los métodos y eventos, vamos a hacer un ejemplo simple de ejercicio. Este ejemplo, consistirá en un formulario que contendrá un botón y , al presionarlo nos mostrará otro formulario.


1.1 - Ejemplo sobre métodos y eventos

Pasos a seguir para el ejemplo:
1 - Comenzá un nuevo proyecto Exe. Por defecto visual basic te agrega un formulario llamado Form1. este formulario contendrá el botón que al presionarlo muestre otro formulario, en este caso un Form2.
2 - Desde la barra de controles agregá un Commandbutton al formulario. Por defecto el texto que muestra es Command1 , nosotros lo cambiaremos por : "Mostrar formulario 2".
Ahora selecciona el botón para que te muestre la lista de propiedades del mismo. Por si ya te olvidaste, la ventana de propiedades está a la derecha y te muestra las propiedades del objeto seleccionado actualmente en el entorno de trabajo del vb. Una ves seleccionado el botón, buscá la propiedad caption y escribí : mostrar formulario 2
3 - Ahora hay que agregar el otro formulario es decir el Form2 a nuestro proyecto. Como en la barra de controles no tienes la opción de agregar otros formularios, tendrás que agregarlo desde la barra de menú >proyectoAgregar formulario.
Te va a aparecer un cuadro de diálogo y eliges la opción formulario. Como podés ver se ha agregado otro formulario llamadoform2, y la ventana del explorador de proyectos ahora contiene 2 formularios.


4 - Ahora tenemos que introducir el código en el command1 que insertamos en el Form1, para que cuando ejecutemos el programa , al presionar el Command1 nos muestre el form2 que agregamos anteriormente. Para esto tenés que volver a ir alForm1, haciendo un click en la ventana de explorador de proyectos (la imagen de arriba) y seleccioná el form1.
5 - Para ingresar el código al botón, hacé doble click en el mismo e ingresá la siguiente instrucción de código: Form2.show.
La rutina de código del botón command1 te quedaría algo parecido a esto:

Vista previa de la ventana de código con la instrucción Show para el botón de comand Command1

Nota: Como seguro te diste cuenta, cuando escribís Form2 y presionas el punto ".", visual basic te muestra una lista con todas las propiedades y métodos que tiene form2, y así ocurre con todos los objetos que tienen propiedades y métodos. En este caso el método show mostrará el Form2 en pantalla, es decir el método Show lo que hace es cargar en la memoria un formulario y automáticamente lo hace visible.
6 - Corre el programa pulsando la tecla F5 para ver como funciona. Para terminarlo pulsa el ícono con la imagen de un cuadrado azul desde la barra de herramientas.


1.2 - Otro ejemplo sobre formularios

Ahora vamos a hacer un programa de ejemplo parecido al anterior, pero con algunas variantes.
En la primera parte, el programa que hicimos consistía en un formulario que tenía un botón (Command1), y al presionarlo mostraba otro formulario . Este lo llevamos a cabo con el método show que tienen los formularios y sirve para mostrarlos en pantalla.
El objetivo de este programa es mostrar cuatro métodos que poseen los formularios, ellos son: LoadUnloadHide yShow.
El método Load tiene la función de cargar el formulario en la memoria y unload descargarlo de la memoria. Esto no significa que si el método load carga el formulario, automáticamente se muestre en la pantalla, quiere decir que solo permanece cargado en memoria, luego para mostrarlo tendríamos que utilizar el método show por ejemplo (hay otras opciones para hacer lo mismo pero no vienen al caso detallarlas para este ejemplo).
El método Hide oculta el formulario pero sigue permaneciendo en la memoria. Para descargarlo completamente de la memoria ram, tendríamos que usar el método Unload.
Imagen previa del ejemplo:

Ejemplo de los metodos para la carga y descarga de Forms

Pasos a seguir

1 - Crea un nuevo proyecto exe.
2 - Desde la barra de controles agrega 4 command button.
3 - Ahora selecciona el Command1 y en la propiedad caption borrale el "command1" y escribe "Cargar formulario en memoria (Load)".
A hora lo mismo pero en el command2 desde la propiedad caption escribí "Mostrar formulario 2 (Show)".
En el Command3 "Descargar formulario de la memoria (UnLoad)"
E n el Command4 , "Ocultar formulario (Hide)".

4 - Ya terminando, ubicá los botones en el formulario de forma similar, como muestra la imagen anterior.
Para mover los botones o cualquier otro objeto dentro de un formulario, solo tenés que seleccionar el objeto que quieras,mantener presionado el botón izquierdo del mouse y soltarlo en el lugar que quieras. lo mismo pasa con el tamaño de los controles, cuando los seleccionas podés cambiarle el tamaño.
5 - Ahora vamos a escribir el código para los botones. Por si ya te olvidaste lo que íbamos a hacer, lo que harán estos botones son:
El Command1 Cargar en la memoria mediante Load el Formulario pero no lo hace visible.
El Command2 hace las 2 cosas al mismo tiempo, es decir lo carga y lo hace visible.
El Command3 Descarga completamente el Formulario de memoria
El Command4, mediante Hide lo oculta, aunque esté oculto sigue permaneciendo cargado.
En el Command1 entonces , hacé doble click en dicho botón y tipea: Load Form2 .
Para el Command2 que mostrará el Form2: Form2.show.
El botón Command3: Unload form2
El Command4: Form2.hide .
6 - El último paso que nos queda para poder correr nuestro programa es ingresar un nuevo formulario, entonces desde el menú proyecto eliges la opción agregar formulario y agregas uno nuevo al proyecto.
Ahora pulsá F5 y prueba el programa.
Nota : seguro que te preguntarás para que sirve el método Load, si para que aparezca en pantalla el Form2 tengo que usar la instrucciónshow. Supongamos que tenemos un programa con varios formularios y que estos tienen muchos controles y es medio "pesado" (me refiero en bytes), entonces a veces conviene cargar dichos formularios en la memoria, para que cuando necesitamos llamarlos o mostrarlos en pantalla, estos se muestren de forma mas rápida. Esta es una de las posibilidades del uso no es la única.

El código completo sería el siguiente:
'Carga el form2 pero no lo muestra
Private Sub command1_click()
Load Form2
End Sub

'Carga y muestra el Form2
Private Sub command2_click()
Form2.Show
End Sub

'Descarga completamente de la memoria el Form2
Private Sub command3_click()
Unload Form2
End Sub

'lo oculta pero no descarga el Form2 de la memoria
Private Sub command4_click()
Form2.Hide
End Sub

Nota Sobre los comentarios en el código
Para colocar comentarios en nuestros programas, se antepone la comilla simple o la palabra Rem (esta última prácticamente no se utiliza).
Es fundamental escribir comentarios sobre los bloques de código que componen las distintas partes del programa, para que cuando echemos una mirada al código sepamos de que se trata. Estos comentario o líneas descriptivas no se ejecutan y no influye en nada a la ejecución de los procedimientos, solo es información que ayuda a entender cada línea o sección de un bloque de código.


2 - Controles Estándar de Visual basic

Para ver una descripción básica de los controles estándar de visual basic, es decir los que aparecen por defecto en el cuadro de controles en la parte izquierda del IDE, podés acceder a esta sección apartada del tutorial en el siguiente enlace, donde se explica el funcionamiento básico de los mismos con algunos ejemplos prácticos: Tutorial de los controles de Visual Basic
También en la misma página hay ejemplos de los controles no estándar, es decir controles que debemos incorporarlos nosotros y que visual basic no los incorpora por defecto al iniicar un proyecto

Clase 1

1 - Introducción

Bienvenido a la introducción de este tutorial básico de visual basic
Esta guía esta destinado para aquellos que nunca han entrado en contacto con este lenguaje de programación. ( para que te des una idea se va a realizar en este capítulo algo parecido al Hola mundo), si sos nuevo puede venirte como anillo al dedo, si no, te recomiendo que no pierdas ni un segundo leyendo de gusto y cierres la ventana, jeje.
Este tutorial está basado en la versión 6.0 de visual basic, aunque con otras versiones no creo que tengas problemas.

Entrando en el tema, con este lenguaje de programación podés realizar casi cualquier tipo de programa para plataformas windows, esto quiere decir, que podés programar utilitarios para windows, bases de datos, aplicaciones comerciales y de gestión, juegos, etc.. .
Sin embargo lo que no podés desarrollar son por ejemplo: aplicaciones que administren bases de datos gigantes, drivers para dispositivos , juegos que utilicen una interfaz gráfica compleja, ya que tendrías que utilizar otro entorno de desarrollo o lenguaje , como por ejemplo el C, el C++, Delphi , .NET u otros, es decir lenguajes que sean mas rápidos y que tengan soporte para este tipo de proyectos y programas.


2 - Breve historia y alcance del lenguaje

Las siglas Basic significan (beginner's all-purpose simbolic instruction Codic). El lenguaje Basic fue creado en el año 1964 y se modificó varias veces hasta que en el año 1978 se estableció el Basic estándar. Este anteriormente se llamo "gwbasic", luego "QuickBasic" y asi fue evolucionando y finalmente llegamos al "Visual Basic", todas con sus diferentes versiones, la 1, 2 , etc.. hasta la 6.0
Las aplicaciones que se puden desarrollar con visual basic 5 y 6 son aplicaciones de 32 bits solo para plataformas Windows.
Mas información sobre la historia de visual basic en la Wikipedia


3 - La interface del Vb - El IDE

El IDE significa interface de entorno de desarrollo, y se refiere a la interface del propio programa, es decir a las distintas partes que componen el propio Visual Basic para poder desarrollar nuestros proyectos (es el entorno de trabajo)
En esta parte, se describirá un pantallazo de las secciones principales de este entorno
Para inicializar el programa, luego de haberlo instalado obviamente, desde el menú inicio > programas > microsoft visual basic 6.0, te podés crear un Acceso directo en tu escritorio para tenerlo mas a mano.

Vista previa de la ventana de controles estándar de visual basic

En la imagen superior podés ver la barra de controles. Esta barra contiene los controles estándar de Visual Basic. Se los llama estándar porque que son los controles que por defecto añade Visual Basic cuando creamos un programa desde 0. A loscontroles no estándar, u otro tipo de controles, por ejemplo los creados por nosotros, los que tengamos instalados en el sistema, y demás que se instalan con el VB, hay que agregarlos a mano, es decir uno mismo, esto se hace desde el Menú Componentes o presionando las combinaciones de tecla Ctrl+T. Cuando se agrega un control no estándar, se añade a la barra y ya lo podés utilizar..
Los controles estándar son los controles básicos, por ejemplo los Command Button o botones de comando, Control TextBoxcaja de textoPicture Box o caja de imagen. El control FileListBox para ver archivos, y varios otros que se explican en los siguientes capítulos.

Vista previa de la ventana de proyecto de visual basic

La imagen anterior, nos muestra los formularios (ventanas) , módulos de código, y otros tipos de objeto que componen el proyecto que estamos realizando.
Desde esta ventana podemos hacer varias operaciones, por ejemplo al seleccionar un formulario, en los botones "Ver Objeto" y "Ver código" en la parte superior, accedemos a la vista de diseño del formulario, mientras que si elegimos Ver código, se abre una ventana que muestra el código de ese formulario seleccionado.
También podemos desde esta ventana, Guardar el formulario, eliminarlo y varias otras acciones.

Vista previa de la ventana de propiedades de visual basic

Esta otra ventana acoplable que está debajo de la ventana de Proyecto, se llama Ventana de propiedades de Visual Basic.
Desde la Ventana de Propiedades podemos modificar las características del objeto o control seleccionado actualmente. Por ejemplo si agrego un formulario y lo selecciono, puedo establecerle el color de fondoel anchoaltoel nombre que va a tener para poder identificarlo y muchas otras propieades.
Lo importante que quede claro es que esta ventana cambia cada ves que seleccionamos un objeto o control diferente, si seleccionamos un botón o Command Button, visualizará las propiedades de ese botón, si seleccionamos un formulario las propiedades de ese formulario, si seleccionamos un TextBox, mostrará ls propiedades de ese textBox , etc..

barra de menues y herramientas del IDE

Esta es la barra de menues y barra de herramientas de Visual Basic. Para no hacerla pesada y describir todas las opciones ya que no tiene sentido describir todo, desde aquí se puede configurar todo el entorno o IDE, elegir el tipo de proyecto que vamos a crear, ( por ejemplo un programa Exe común , una Dll ActiveX o un Proyecto Ocx), También Compilar el proyecto en un ejecutable, Acceder a la ayuda, (tenés que tener instalados los CD del Msdn), Abrir un proyecto, Guardar, El acceso a los distintos modos y opciones de depuración de errores, y muchas opciones mas.


4 - Formularios, propiedades, métodos y eventos


En esta parte se realizará un ejemplo simple que consistirá en una ventana o formulario que contendrá un botón, y al presionar este botón nos mostrará o abrirá otra ventana con un mensaje, como las que utiliza windows cuando nos informa sobre algo . Este mensaje visualizará un texto con la descripción"Mi primer programa". Pero antes de realizar este ejercicio veamos un par conceptos básicos necesarios
Formulario

Es la ventana o contenedor donde colocamos y agregamos controles de comando , como un botón, una caja de texto, un control de imagen, etc... Cuando hacemos un programa podemos tener varios formularios. Por ejemplo podemos tener unformulario1 con un botón y al presionar este botón hacer aparecer otro formulario en este caso un formulario2.
Propiedades:
Cuando hablamos de propiedades nos estamos refiriendo a las características que puede tener un control u objeto, por ejemplo: los botones llamados commandbutton tienen una propiedad llamada caption. Esta propiedad establece el texto que va a mostrar el botón en el propio botón.
Los formularios también poseen esta propiedad caption y muchos otros controles también la poseen, pero no todos. Otro ejemplo de una propiedad puede ser el color de fondo de un controlel anchoel altoel nombre que lleva para poder identificarlos, etc.. .
En resumen las propiedades, haciendo una comparación, serían como para las personas tener 2 brazos, 2 piernas, el color del pelo, el color de los ojos, el nombre de la persona, donde vive, su código postal, etc...

Los Eventos
Los controles y objetos poseen Eventos, pero no son todos iguales para todos los controles. Ejemplos de eventos serian:
Para un botón: el evento click (cuando lo presionamos), para un formulario: load (este evento se ejecuta cuando se carga el formulario en la memoria), para un textbox o caja de texto: keypress (este evento se dispara cuando presionamos una tecla y el foco está puesto dentro de la caja de texto).

Los Métodos
Los métodos de un objeto son funciones propias que tiene cada objeto. Por ejemplo los formularios poseen un método llamado show , y lo que hace es cargarlo y hacerlo visible. Para un control combobox este tiene un método llamadoadditem, y lo que hace es agregar elementos en dicho control. Pero los métodos al igual que las propiedades y eventos, no están presentes en todos los controles de manera igual, es decir algunos objetos y controles pueden compartirlos, pero otros no. Por ejemplo el método Show de los formularios, no lo posee ningún control estándar excepto los formularios.


5 - Pasos para realizar el ejemplo

1 - Abrí el Visual Basic y te aparecerá una ventana para que puedas elegir el tipo de Proyecto o programa que querés realizar. Como verás hay muchas opciones, nosotros elegiremos la opción Estándar EXE como muestra la imagen:

Ventana para agregar un nuevo proyecto en visual basic

2 - Ya abierto el VB podés ver que tenés un formulario llamado Form1, este es agregado automáticamente cuando comenzás un nuevo programa o proyecto, y es el nombre por defecto que se le asigna, obviamente esto se puede cambiar utilizando la propiedad Name queposeen los controles.
3 - Como se dijo nuestro programa va a consistir en un formulario con un botón que al presionarlo muestre un texto diciendo "Mi Primer programa", entonces agregá un botón a nuestro formulario. Para agregarlo lo podés hacer desde la barra de controles, en la parte izquierda del IDE, y buscá entre todos ellos un control llamado Command Button (Botón de comando). Haciendo doble click sobre el control, o dibujandolo sobre el formulario.
4 - Como te darás cuenta, el texto que muestra el botón por defecto es "Command1". Nosotros lo vamos a cambiar por "Mostrar mensaje". Para ello tenemos que cambiarle la propiedad Caption del botòn. Entonces seleccioná con un click elcommand1 (serciorate que esté seleccionado, cuando al rededor del botòn aparece unos puntos azules) y en la ventana de propiedades de los controles que esta ubicada en la parte derecha del IDE, te mostrará las propiedades del control que está seleccionado actualmente. En este caso como está seleccionado el botón solo nos mostrarà las propiedades del Command1. Ahora buscá en la lista de propiedades la propiedad Caption y verás que dice Command1, borrala y escribe: "Mostrar mensaje". Como podés ver el texto o leyenda del botón a cambiado.
NOTA: Nosotros todavía no hemos ejecutado nuestro programa por que obviamente lo estamos diseñando. A esto se lo denomina trabajar en "Tiempo de diseño". La otra forma de trabajo se denomina "Tiempo de ejecución", que es cuando nuestro programa está siendo ejecutado o cargado en memoria.
Tendrías que tener algo por el estilo en tu formulario Form1

vista  del formulario del ejemplo

5 - Ahora vamos a agregar las instrucciones o líneas de código para que cuando pulsés el botón se despliegue un mensaje. Hacé Doble click sobre el botòn y podés ver que se habre una ventana donde escribir el código. Esta se llama precisamenteventana de Código. Al abrirse la ventana muestra una serie de instrucciones
Private Sub Command1_Click()

End Sub

A esto se lo llama Subrutina o procedimiento de código, y estas subrutinas tienen un comienzo y un fin.

Después se explica mas adelante que es eso de Private sub, End Sub, procedimientos, funciones...etc
Por ahora lo que te tiene que quedar claro es que nosotros vamos a ingresar el còdigo necesario para mostrar, por medio de una ventana, el mensaje "mi primer programa".
Entre la declaración Private sub Command1_click y End sub escribe lo siguiente
Msgbox "Mi primer programa"

El código tendría que quedarte de la siguiente manera
Private Sub Command1_click()

MsgBox "Mi primer programa"

End Sub


6 - Acá lo que se hizo fue utilizar una función llamada MsgBox , que sirve para mostrar mensajes. Ya podemos ejecutar o probar el ejemplo, para ello hay varias opciones y formas:
  • Desde la barra de herramientas y presionas la flecha azul
  • Ir al menú Ejecutar > opción Iniciar
  • La mas sencilla de todas que es presionando la tecla F5
Cuando ejecutés el programa y presionés el Command1, se mostrará el mensaje.
En este momento nuestro programa está en ejecución, para volver a la pantalla de vista de diseño y detener el programa , tenemos que presionar el ícono con un cuadrado azul (stop) o ir al menú ejecutar y elegir la opciòn terminar.


6 - Sobre los proyectos en Visual Basic

Por último para cerrar esta intruducción muy básica una aclaración sobre los Proyectos.
Cada vez que inicias un programa nuevo Standar Exe Visual Basic Hace lo siguiente:
Crea un formulario llamado "Form1" y también un proyecto de trabajo llamado por defecto "Proyecto1".
Cuando lo guardás, desde el menù Archivo > Guardar proyecto, se creará un archivo llamado "proyecto1.vbp", otro archivo con los formularios que tengas en el proyecto, en nuestro caso "Form1.frm" y otro archivo en este caso "Proyecto1.vbw" que es un archivo de configuraciòn.
Este último archivo a nosotros no nos interesa, ya que lo usa Visual Basic para configurar el proyecto cada vez que lo abrimos.
Para guardar proyectos, hay que ir al menú archivo y elegir guardar proyecto, también te pedirá que guardes el formularioform1.frm . En ambos casos puedes asignarle el nombre que quieras.