Curso sobre Visual Basic
por Jorge Serrano (Mundo Visual)

 

Tema Uno

 Baja el archivo en formato Word (tema1.zip 32.1 KB)


Introducci�n :

Este documento que ahora comienza, va a formar parte de un curso sobre Visual Basic.

A lo largo de este documento procuraremos familiarizarnos con el entorno Visual. En esta ocasi�n nos ha tocado introducirnos a la programaci�n en Visual Basic.

Es posible que este curso resulte para algunos bastante simple, para otros estar� bien, y para el resto les resultar� un incentivo muy gratificante para meterse con la programaci�n Visual profesional o para fortalecer sus conocimientos sobre este lenguaje.

�Porqu� Visual Basic?

El lenguaje Visual Basic es una de las formas m�s r�pidas de hacer una aplicaci�n Windows.

Su r�pido desarrollo nos permitir� ganar mucho tiempo, dinero y recursos.

Este curso est� enfocado al Visual Basic porque adem�s de ser un lenguaje que yo domino, lo considero muy sencillo de usar y r�pido de aprender.

Seguro que al final del curso todos, absolutamente todos estar�is de acuerdo conmigo. ;)

�Qu� veremos a lo largo del curso?

A lo largo de este curso empezaremos con una breve introducci�n del Visual Basic, para luego ir explicando las formas y ejemplos de trabajar y hacer aplicaciones Visual Basic.

Para este curso emplear� el Visual Basic 4.0 32 bits, y apenas tocar� el Visual Basic 3.0 porque aunque yo todav�a lo use de vez en cuando, siento decir que trabajar con Visual Basic 3.0 resulta anticuado, ya que todas las empresas est�n comenzando a migrar a Windows NT 4.0 y Windows 95. Por tanto, si queremos desarrollar aplicaciones para clientes y no deseamos "quedarnos" con ellos, habr� que decirles que migren, pues la tendencia del mercado va por estos lados.

Adem�s, existen nuevas funciones API (ya veremos lo que es) de 32 bits que nos facilitan mucho trabajo. Trabajo que antes con el Visual Basic 3.0 deb�amos hacerlo todo mediante c�digo. :(

Podremos ver como se utilizan los controles b�sicos de Visual Basic 4.0, ejemplos y trucos.

Tambi�n tocaremos temas como las dudas m�s comunes, sacadas de las news de Visual Basic Forum de Internet, en Ingl�s, Espa�ol y el �rea Visual Basic de Fidonet, as� como informaci�n variada de otros foros acerca del tema y de Microsoft Visual Basic.

Este curso se apoya adem�s en ejemplos de c�digo fuente que puede ser recogido en la p�gina Web principal de Mundo Visual : http://www.redestb.es/personal/jorgeser/

Quiz�s a lo largo del curso comencemos otro curso de Controles Visuales (ActiveX Controls u OCX Controls), que son usados por lenguajes de programaci�n como Visual Basic 4.0, Visual Basic 5.0, Delphi 2.0, Delphi 97 o Delphi 3.0 y Power Builder 5.0 entre otros, as� como por los navegadores de Internet.

Bueno, no me voy a enrollar m�s. Vamos a empezar ya que seguro que lo est�is deseando. ;)

Primeros pasos con Visual Basic

Nada m�s empezar con Visual Basic, veremos 5 pantallas principales :

El programa Visual Basic : (1)


El formulario : (2)


La ventana de proyectos : (3)


La ventana de propiedades : (4)



La caja de herramientas : (5)



En la ventana del programa (1), podemos hacer todas las funciones normales que nos permite el compilador Visual Basic.

Cierre todas las ventanas excepto el programa Visual Basic (1).

Pulse "Ctrl+R" (Ver -> Proyecto) y se abrir� la ventana de proyectos (3).

En esta ventana tenemos todos los ficheros del proyecto Visual Basic en el que vamos a trabajar.

Al principio y por defecto, el programa abre un formulario (2) con el nombre Form1 que es la ventana Windows de nuestra aplicaci�n.

Podemos editar, abrir y cerrar la ventana, pero todo esto lo veremos a fondo m�s tarde. De momento es fundamental que se familiarice con estas 5 ventanas que aparecen al iniciar Visual Basic.

Pulsando la tecla "F4", aparecer� la ventana de propiedades (4). Esta ventana es fundamental, ya que contiene todas las propiedades de cada objeto que insertaremos en nuestro formulario, asi como las propiedades del formulario en s�.

Por �ltimo, la ventana caja de herramientas (5), no es menos importante, ya que contiene todos los objetos que podemos incluir en nuestro formulario. Esta ventana se puede abrir en el men� principal (Ver -> Caja de herramientas).

Esta es la visi�n general del compilador Visual Basic, pero hay como bien se imaginar� usted, muchas otras cuestiones que son importantes tener en cuenta.

Conceptos y t�rminos fundamentales de Visual Basic

Quiz�s usted halla o�do hablar de las palabras Objeto, M�todo, Evento, Formulario, M�dulo, Propiedades, etc, pero no sepa bien lo que es o lo que significan estas palabras. Es hora por tanto de ver su significado, pero antes me gustar�a hacer alusi�n a la OOP (Programaci�n orientada a objetos).

Microsoft defiende que Visual Basic 4.0 es un lenguaje OO (orientado a objetos), pero nada m�s lejos de la realidad. Quiz�s su nueva versi�n (Visual Basic 5.0) en versi�n beta actualmente s� disponga de las cualidades que le hacen ser un lenguaje OO, pero Visual Basic 4.0 NO es un lenguaje OO. Es cierto que se acerca mucho a este concepto, pero a�n debe afinar sus conceptos y aceptar la herencia y herencia m�ltiple adecuadamente para que sea considerado un lenguaje de OOP.

Bueno, no nos despistemos m�s de la cuenta y vayamos al grano. ;)

Objeto :

Un objeto es una entidad que tiene asociado un conjunto de m�todos, eventos y propiedades. Hay muchas clases de objetos, y por tanto, puede llegar a haber tantos m�todos, eventos y propiedades distintas como objetos diferentes.

Ejemplo : Una caja de texto (TextBox) en la cual podemos escribir cualquier l�nea es un objeto.

M�todo :

Los m�todos son funciones internas de un determinado objeto que permite realizar funciones sobre �l o sobre otro objeto.

Ejemplo : Deseamos poner en la ventana Windows de nuestra aplicaci�n "Hola mundo", por tanto pondremos el m�todo -> Form1.Print "Hola mundo"

Evento :

Un evento es una atenci�n que realiza un programa, rutina, objeto o llamada para que nuestro programa lo trate.

Un programa Visual Basic es un POE (Programa orientado a eventos).

Todo lo que hacemos en un programa Visual Basic est� generado por medio de eventos. Esto puede no quedar muy claro, por eso os voy a contar una historieta para haber si lo entend�is mejor. ;)

Imaginemos que tu vas por la calle paseando y pensando en tus cosas, lo que vas a hacer esta noche, con quien vas a ir, a quien debes llamar … etc. Como vas pensando en tus cosas, al llegar a la calle no te percatas de que el sem�foro se ha puesto en verde y que t� sin darte cuenta vas a comenzar a cruzar. Un coche que estaba reanudando la marcha, lo ve y te pita. T� levantas la cabeza y tratas en tu conciencia lo que est� sucediendo :

1-. El sem�foro est� en verde.

2-. El coche te pita.

3-. T� acabas de empezar a cruzar la calle.

4-. Soluci�n?

Tratas todas las premisas y obras en consecuencia. Das dos pasos hacia atr�s decididamente y te subes a la acera. El coche pasa y a t� no te ha pasado nada.

Uff!, todo este rollo para contar lo que es un evento, … bueno, pues un evento es una "atenci�n" sobre algo que debe llevar a cabo el "protagonista" (en el ejemplo t�).

Ejemplo en Visual Basic: El click con el rat�n sobre un bot�n.

Formulario :

Un formulario es una ventana. La ventana Windows de cualquier aplicaci�n.

Podemos abrir tantas ventanas como queramos en nuestro proyecto, pero el nombre de las ventanas debe ser distinto. Por defecto como ya hemos visto, la ventana que se abre en Visual Basic tiene el nombre de Form1. Ya veremos como cambiar estas "Propiedades" m�s adelante.

M�dulo :

Un proyecto Visual Basic no s�lo est� compuesto de Formularios, sino tambi�n de lo que se denominan m�dulos.

Un m�dulo es un fichero Visual Basic donde escribimos parte del c�digo de nuestro programa, y digo parte, porque puede haber c�digo en el formulario tambi�n, pero no desesper�is, ya tocaremos esto m�s adelante. Todo a su tiempo. :))

Propiedades :

Son los datos que hacen referencia a un objeto o formulario.

Ejemplo : Color de fondo del formulario, Fuente de texto de un TextBox, ….


Controles Personalizados :

Este tema puede resultar peliagudo, pero tratar� de explicarme lo mejor posible para que vosotros me pod�is entender.

Como hemos visto, en la caja de herramientas (5), disponemos de un mont�n de controles que nos permiten "depositar" sus correspondientes objetos a nuestro formulario, sin embargo, no est�n todos los que est�n, ni son todos los que son, es decir, que podemos incluir quitar y a�adir tantos controles como queramos o creamos conveniente.

Los controles en Visual Basic 3.0, llevaban la extensi�n .VBX, y estaban dise�ados en programaci�n de 16 bits, sin embargo, la nueva versi�n de Visual Basic 4.0, con soporte a 32 bits, permite utilizar controles de 32 bits y SOLO de 32 bits. Los nuevos controles que siguen esta filosof�a y arquitectura, tienen la extensi�n .OCX.

Estos controles los podemos hacer nosotros mismos, otra empresa de Software, etc.

Cada control posee uno o m�s objetos o funciones que nos permiten realizar operaciones en nuestro programas.

Para agregar controles en Visual Basic, deberemos pulsar las teclas Ctrl+T. Se abrir� una ventana donde podremos seleccionar los controles OCX del disco duro.

Todos los controles seleccionados se a�adir�n a la caja de herramientas (5).

Dos consejos al utilizar esta opci�n :

a) Procura tener los controles OCX en tu directorio Windows\System. Te ahorrar� muchos quebraderos de cabeza.

b) Si al intentar abrir un control OCX no te permite insertarlo a tu caja de herramientas (5) y te sale un error al cargarlo, entonces deber�s registrarlo.

Para registrar un control OCX debes tener el programa RegSvr32.Exe en tu directorio Windows\system.

Escribe : "Regsvr32 nombre.ocx". Te deber� salir un mensaje: "Control registrado satisfactoriamente" o algo parecido.

Espero que lo hay�is entendido, pero sino, no os preocup�is, de momento no os va a ser muy �til.

Y ahora … vamos con la pr�ctica … jejejejejejeje …

Mi primer programa con Visual Basic 4.0

Seleccionar Archivo -> Nuevo proyecto o simplemente abrir el programa Visual Basic. Aparecer� las 5 ventanas que hemos visto al comienzo del curso, sino aparecen, las abrimos como hemos visto.

Abrimos el formulario Form1 haciendo doble click en Form1 de la ventana de proyectos (3) sino est� abierto ya.

Hacemos doble click sobre cualquier parte del formulario. Se nos presentar� una ventana como esta :


Pinchamos sobre la parte que pone "Procedimiento". Se abrir� una lista desplegable. Seleccionamos "Paint", y escribimos :

Private Sub Form_Paint()

Form1.Print "Hola Mundo Visual, este es mi primer programa en Visual Basic."

End Sub

Pulsamos la tecla F5 y entonces comenzar� la ejecuci�n del programa. Para finalizar la aplicaci�n la cerraremos pulsando Alt+F4 por ejemplo o haciendo un click sobre el aspa de la ventana.

Sin embargo, esta manera de cerrar una ventana es muy anticuada o poco profesional, por lo que ahora veremos la forma correcta de hacerlo.

Antes de eso, analizaremos lo que sucede en este ejemplo :

El programa inicializa la ejecuci�n comenzando por el formulario principal, que en este caso es el �nico que hay, Form1. Busca todos sus eventos para ejecutarlos uno detr�s de otro empezando por Form1_Load() , y encuentra c�digo en Form1_Paint().

Este c�digo es un m�todo. El m�todo print que imprime un texto.

La forma correcta de hacer esto es hacer primero la llamada a la ventana u objeto al que queremos hacer referencia y mandarle el mensaje correspondiente print en este caso, y el contenido del mensaje.

Supongamos que deseamos cerrar la aplicaci�n de forma normal. Es decir, queremos que exista un bot�n y que el usuario al pulsar sobre el bot�n, decida el cierre de la aplicaci�n.

Muy bien, pinchamos sobre el 6� control empezando por la izquierda y de izquierda a derecha y de arriba a abajo en la caja de herramientas (5). El control se llama Command Button. Pinchamos una sola vez y pinchamos sobre cualquier parte del formulario y sin soltar el rat�n extendemos una franja sobre el formulario que creamos adecuada. Esa franja ser� la dimensi�n del bot�n. Soltamos y ya est�.

El nombre del bot�n por defecto es : Command1.

Hacemos doble click sobre el bot�n y escribimos :

Private Sub Command1_Click()

Unload Form1

End Sub

Pulsamos F5 y pulsamos sobre el bot�n. El resultado es que el programa descarga el formulario y al ser el formulario padre, acaba su ejecuci�n. Es importante que los formularios hijos hayan sido descargados anteriormente, sino ocupar�n memoria.

Hay dos aspectos importantes a resaltar :

Imaginemos que un formulario padre ejecuta una serie de rutinas y que en una determinada abre una segunda ventana de nuestra aplicaci�n, es posible que nos encontremos con dos situaciones bien distintas al pulsar el bot�n Command1.

a) Que aunque el formulario padre haya acabado su ejecuci�n, no deseemos que el formulario hijo finalice la suya. Por tanto no es necesario a�adir nada en el c�digo anterior.

b) Sin embargo, es posible que deseemos que una vez que se acabe la ejecuci�n del formulario padre, la aplicaci�n finalice por completo. Aqu� es donde deber�amos a�adir c�digo.

En el evento : Form_ Unload del formulario padre, deber�amos poner :

Private Sub Form_Unload(Cancel As Integer)

End

End Sub

De esta manera al pulsar el bot�n Command1 acabar� la ejecuci�n de la aplicaci�n completamente.

Para ver esto mejor, haremos dos ejemplos.

Al ejemplo que est�bamos haciendo, a�adimos otro bot�n como lo hemos hecho antes. F�jate que el nuevo bot�n se llama ahora Command2.

Seleccionamos en el men� Insertar -> Formulario, un nuevo formulario se abrir� denominado Form2. Con el rat�n acotamos su anchura y altura para hacerlo visible al primer formulario, ya que ejecutaremos ambos al mismo tiempo en un momento dado de la ejecuci�n, y es importante ver que est�n ah�.

Haciendo doble click sobre el bot�n Command2 del Form1, escribimos :

Private Sub Command2_Click()

Form2.Show

End Sub

Pulsamos F5. Ejecutar� el Form1. Pulsamos sobre Command2 y abrir� Form2. Pinchamos sobre el bot�n Command1 de Form1 y el formulario Form1 se cerrar�, pero Form2 seguir� activo. Pulsamos Alt+F4 y cerrar� el Form2.

Ahora pongamos en Form1 el c�digo que antes hemos visto : Form_Unload(Cancel As Integer)

Pulsamos F5, abrimos el Form2 y pulsamos Command1. Los formularios se cerrar�n completamente y acabar� la ejecuci�n de la aplicaci�n.

�Sencillo verdad?.

Repaso :

De momento hemos visto como cargar y descargar un formulario y como finalizar la ejecuci�n de un programa Visual Basic. En los pr�ximos cap�tulos veremos como abrir una ventana en la que ella y s�lo ella coja el "protagonismo" de la ejecuci�n del programa y como cambiar algunas propiedades de la ventana para hacerla conveniente a nuestros prop�sitos.

No dejaremos tan pronto las ventanas, ya que considero importante entender bien su funcionamiento. Una vez logrado esto, nos meteremos con los controles Visual Basic, dando un repaso a los m�s utilizados.

Recordemos que este curso est� enfocado al programa Visual Basic 4.0 Profesional.

Dominar las ventanas Windows en Visual Basic

Cuando hacemos un programa Windows, deseamos a veces hacer visible una parte de la ventana o toda, o simplemente deseamos que la ventana s�lo se pueda cerrar o acortar y ensanchar, minimizar, maximizar, … etc.

Dependiendo de nuestras necesidades, estas las lograremos mediante la ventana de propiedades (4).

En esta ventana, podemos asignar cualquier propiedad que nos interese sobre la ventana. As�, supongamos que queremos que nuestra ventana adopte las siguientes caracter�sticas con sus correspondientes soluciones :

Por defecto :

Por defecto, la ventana se comporta de la siguiente manera ; El usuario puede maximizar, minimizar, cerrar y acotar el tama�o de la ventana a su apetencia e inter�s.

Supongamos que nuestra ventana posee un tama�o determinado y que no nos importa que el usuario la haga m�s grande, peque�a, … etc. Dejar la ventana tal y como est� es la mejor soluci�n.

S�lo queremos que sea visible el bot�n minimizar o el de maximizar.

La propiedad "MaxButton" debemos ponerla a "False". Con esto conseguimos que el usuario no pueda maximizar la ventana con el bot�n maximizar de esta.

La propiedad "MinButton" debemos ponerla a "False". Con esto conseguiremos el mismo efecto que antes pero esta vez para minimizar la ventana.

Si selecciona las dos opciones "MaxButton" y "MinButton" como "False", observar� que a la hora de ejecutar el programa, los "dibujos" de la ventana de minimizar y maximizar no aparecen, mientras que si s�lo elegimos una de las dos como "False", estos "dibujitos" si aparecen pero como desabilitados o habilitados.

A�n as�, el usuario puede forzar el hacer una ventana m�s grande o peque�a extendiendo el borde de la ventana, y quiz�s no sea este nuestro prop�sito.

Cualidades de una ventana :

Una ventana Visual Basic tiene una propiedad denominada "BorderStyle" que permite adecuar la ventana a nuestras necesidades.

Valor "0 - None" de la ventana ; Esta propiedad permite tener una ventana sin ning�n bot�n minimizar, maximizar, cerrar e incluso el t�tulo de la ventana (que veremos m�s adelante). Es decir, obliga a mostrar la ventana como si fuese el tapiz de Windows 95.

Valor "1 - Fixed Single" de la ventana ; Esta propiedad s�lo muestra el bot�n de cerrar la ventana por defecto, y no permite al usuario ni maximizar ni minimizarla aunque tengamos los valores de estos atributos a "True". Este tipo de ventanas son utilizadas en ventanas de avisos o mensajes personalizados por citar alg�n ejemplo.

Valor "2 - Sizable" de la ventana ; Esta propiedad es la de la ventana por defecto.

Valor "3 - Fixed Dialog" de la ventana ; Esta propiedad es muy similar al valor 1, tan s�lo var�a en el borde de la ventana.

Valor "4 - Fixed ToolWindow" de la ventana ; Esta propiedad permite generar una ventana con los "dibujitos" de la ventana de tama�o menor a una ventana normal. S�lo nos permitir� cerrar la aplicaci�n al igual que ocurr�a en el valor 1. Este tipo de ventana son utilizadas en barras de herramientas al estilo del mismo Visual Basic. Esta ventana no puede ser ni maximizada ni minimizada.

Valor "5 - Sizable" de la ventana ; Esta propiedad es casi id�ntica al valor 4. La �nica diferencia reside en que el usuario s� puede maximizar y minimizar la ventana "estirando" esta con el rat�n.

La propiedad "Control Box" nos permite "quitar" de la ventana el icono, el s�mbolo o "dibujito" de maximizar, minimizar y cerrar. Si el valor de esta propiedad es "False", entonces estaremos en este caso. Si el valor es "True" se comportar� como una ventana normal.

Otra de las caracter�sticas de una ventana Windows, es la posibilidad que tiene esta de maximizarse o minimizarse en o durante su ejecuci�n. Esto lo logramos con la propiedad "WindowState" que tiene 3 valores. Estado normal de la ventana o "0", estado minimizado o "1" y estado maximizado o "2".

Podemos hacer que la ventana Windows no aparezca en la barra de tareas de Windows. Esto se consigue poniendo la propiedad "ShowTaskBar" a valor Falso.


Centrar las ventanas Windows en Visual Basic

Las ventanas pueden ser centradas en cualquier posici�n del espacio de resoluci�n de Windows.

Como ya hemos visto en el tema anterior, las ventanas pod�an ser maximizadas y minimizadas, pero tambi�n es posible moverlas o situarlas en una determinada posici�n.

Esto puede producirse durante la ejecuci�n de del programa.

Al igual, que esta cualidad, es posible modificar tambi�n el tama�o (ancho y alto) de la ventana.

Para centrar una ventana, podemos utilizar dos m�todos. El primero es menos profesional y r�pido, el segundo es mucho m�s r�pido.

Left = (Screen.Width - Width) / 2 ' Centra el formulario horizontalmente.

Top = (Screen.Height - Height) / 2 ' Centra el formulario verticalmente.

Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2 'Centra el formulario completamente

Si lo que deseamos hacer, es ensanchar o alargar la ventana, debemos cambiar estas propiedades :

Width (ancho).

Height (alto).

Es posible que lo que queramos sea mover la ventana arriba, abajo, a la derecha o a la izquierda de su posici�n. Para lograr esto, debemos cambiar las propiedades de la ventana siguiente :

Top (situaci�n vertical de la ventana. M�s arriba o abajo).

Left (situaci�n horizontal de la ventana. A la derecha o izquierda).

Estas �ltimas cuatro propiedades son modificadas mediante n�meros. Es decir, que podemos escribir sentencias Visual Basic propias del uso de estas propiedades como :

Form1.Top=Form1.Left + 200


Otras propiedades de las ventanas

Otras propiedades de las ventanas son :

El color de fondo de la aventana, que se selecciona con la propiedad Backcolor.

El icono de la ventana (muy importante o aconsejable!!) que se selecciona con la propiedad Icon.

La propiedad name es el nombre por el cual nos referiremos a la ventana. Hasta ahora hemos utilizado el nombre Form1 que es el que utiliza Visual Basic por defecto. Puede ser que queramos hacer alusi�n a un determinado nombre de la ventana. Por ejemplo, a la ventana la llamamos Aplicacion. Desde ahora cada vez que hagamos referencia a cualquier propiedad o evento de la ventana, lo deberemos hacer con el nombre de Aplicacion antes de la propiedad o evento. As� por ejemplo, en Form1.Top=Form1.Left + 200, deber�amos haber puesto Aplicacion.Top=Aplicacion.Left + 200.

Por �ltimo, veremos la propiedad Caption de la ventana. Esta propiedad es la que hace referencia al t�tulo de la ventana.


Para acceder a los otros Temas:
Tema Dos, Tema Tres, Tema Cuatro

 

ir al índice