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 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