martes, 30 de noviembre de 2010





Capítulo 1:
Introducción al Visual Basic

"No me importa lo lejos que esté la meta siempre que me den tiempo a llegar..."
(No me importa, Joan Manuel Serrat, 1987)

1.0. Introducción

Como Ud. podrá imaginarse no es fácil desarrollar un curso de Visual Basic, dada la cantidad de cosas que tendremos que explicar, de todas maneras no pretendemos que este sea el mejor, ni tampoco el peor, sino que simplemente al terminar pueda bastarse por si solo para poder desarrollar e implementar sistemas y de esa forma poder tener una actividad lucrativa, ya que Visual Basic es y será una uno de los lenguajes de programación mas usados y por lo tanto con muchas posibilidades de conseguir trabajo y que sin duda será rentable.

Este curso es el fruto de muchos meses de trabajo, de extraer de los cursos y apuntes que hay en Internet como así también de los libros que tratan sobre este lenguaje, de hacer algo entendible para todos los niveles de alumnos. En este punto Ud. se estará preguntando me bajo un curso de Internet y no tengo que pagar nada, si es cierto que lo puede hacer, pero... no tendrá el apoyo para resolver esas dudas que seguramente ira teniendo con el correr del tiempo.

Si bien no tendremos el contacto de un aula, trataremos de hacer de este curso un feed-back para de esta forma ir realimentando el curso.

Pondremos todo nuestro esfuerzo y capacidad para que este curso sea de su utilidad.

El plan de estudio esta dividido en 25 capítulos, que se enviaran uno por semana

Para finalizar se enviaran en 4 envíos todos los datos para realizar un sistema de ventas adaptado al sistema argentino que le será de mucha utilidad a los fines de ver los ejemplos para desarrollar otros sistemas.

Index

1.1 El modelo de programación Visual

Un estudio profundo del funcionamiento interno de Windows necesitaría un libro completo y además no es el objetivo de este curso. No es necesario tener un profundo conocimiento de todos los detalles técnicos. Una versión reducida del funcionamiento de Windows incluye tres conceptos clave: ventanas, eventos y mensajes.

Una ventana es simplemente una región rectangular con sus propios límites. Probablemente ya sabe que hay varios tipos de ventanas: una ventana Explorador en Windows, una ventana de documento dentro de su programa de procesar de textos o un cuadro de diálogo que emerge para recordarle una cita. Aunque éstos son los ejemplos más comunes, realmente hay otros muchos tipos de ventanas. Un botón de comando es una ventana. Los iconos, cuadros de texto, botones de opción y barras de menús son todos ventanas. El sistema operativo Microsoft Windows (Ventana) administra todas estas ventanas asignando a cada una un único número identificador (controlador de ventana o hWnd).

El sistema controla continuamente cada una de estas ventanas para ver si existen signos de actividad o eventos. Los eventos pueden producirse mediante acciones del usuario, como hacer clic con el mouse (ratón) o presionar una tecla, mediante programación o incluso como resultado de acciones de otras ventanas. Cada vez que se produce un evento se envía un mensaje al sistema operativo. El sistema procesa el mensaje y lo transmite a las demás ventanas. Entonces, cada ventana puede realizar la acción apropiada, basándose en sus propias instrucciones para tratar ese mensaje en particular (por ejemplo, volverse a dibujar cuando otra ventana la ha dejado al descubierto). Como puede imaginar, tratar todas las combinaciones posibles de ventanas, eventos y mensajes podría ser interminable.

Afortunadamente, Visual Basic le evita tener que tratar con todos los controladores de mensajes de bajo nivel. Muchos de los mensajes los controla automáticamente Visual Basic, mientras que otros se tratan como procedimientos de evento para su comodidad. Esto le permite crear rápidamente eficaces aplicaciones sin tener que tratar detalles innecesarios. En las aplicaciones tradicionales o "por procedimientos", la aplicación es la que controla qué partes de código y en qué secuencia se ejecutan. La ejecución comienza con la primera línea de código y continúa con una ruta predefinida a través de la aplicación, llamando a los procedimientos según se necesiten.

En una aplicación controlada por eventos, el código no sigue una ruta predeterminada; ejecuta distintas secciones de código como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicación. La secuencia de estos eventos determina la secuencia en la que se ejecuta el código, por lo que la ruta a través del código de la aplicación es diferente cada vez que se ejecuta el programa. Puesto que no puede predecir la secuencia de los eventos, el código debe establecer ciertos supuestos acerca del "estado del mundo" cuando se ejecute. Cuando haga suposiciones (por ejemplo, que un campo de entrada debe contener un valor antes de ejecutar un procedimiento para procesar ese valor), debe estructurar la aplicación de forma que asegure que esa suposición siempre será válida (por ejemplo, deshabilitando el botón de comando que inicia el procedimiento hasta que el campo de entrada contenga un valor). El código también puede desencadenar eventos durante la ejecución. Por ejemplo, cambiar mediante programación el texto de un cuadro de texto hace que se produzca el evento Change del cuadro de texto. Esto causaría la ejecución del código (si lo hay) contenido en el evento Change. Si supone que este evento sólo se desencadenará mediante la interacción del usuario, podría ver resultados inesperados. Por esta razón es importante comprender el modelo controlado por eventos y tenerlo en cuenta cuando diseñe su aplicación.

Paralelamente al desarrollo de las interfaces visuales, los métodos y técnicas utilizadas en el diseño y elaboración de programas se organizaron alrededor de conceptos novedosos. Esto permitió que más personas puedan participar, no ya como usuarios o clientes de programas estándar, sino como verdaderos creadores de sus propias aplicaciones.

El modelo de programación visual hace énfasis en la interfaz gráfica de usuario GUI-Graphical User Interfase: Es el sistema global definido en Windows para comunicar al PC con el programador, el usuario y los dispositivos usados por la aplicación. Para ello, utiliza ventanas similares a hojas de papel, en donde es fácil desplegar información textual o gráfica. Cada ventana es independiente y agrupa solamente aquellos componentes que sirven para un mismo propósito.

En un programa de inventarios de almacén, una ventana podría contener los datos de un producto, pero es natural que se requiera una ventana diferente para presentar los datos de los proveedores. Un programa puede tener decenas de ventanas, según la complejidad de aplicación.

El modelo de programación de Windows

Existen dos modelos basados en ventanas que acaparan la atención de los programadores, de aplicaciones para computadoras personales: Microsoft Windows y Macintosh de Apple. Los dos sistemas se puede considerar y brindan características que los hacen atractivos para el desarrollo y utilización de programas de tipo general, como procesadores de texto, hojas de cálculo, paquetes para la administración de la empresa, programas de entretenimiento, etc. La característica más evidente de estos sistemas es la interfaz gráfica de usuario.

Un examen más detenido muestra la capacidad que poseen los sistemas operativos visuales para ejecutar varias aplicaciones simultáneamente, realizar transferencia de datos entre aplicaciones, establecer con otras computadoras en la red y utilizar periféricos (impresoras, escáner, discos, etc.) de manera transparente para el usuario, esto significa que el usuario no debe preocuparse por los detalles complejos, es responsabilidad del sistema operativo encargarse de la parte difícil de la ejecución de los procesos. En el caso de una impresora, transparente para el usuario significa: conectar y usar (esto no siempre es así).

Nuestro curso lo centraremos en el Sistema Operativo Windows, dada la popularidad que tiene y que lo ha convertido en el más utilizado en PC.

En el ambiente Windows, todo se comparte: la pantalla, el teclado, el ratón, etc. Los programas que se escriben para Windows deben cooperar con éste y con otros programas que puedan ejecutarse al mismo tiempo. Esto garantiza una utilización óptima de los recursos del sistema de cómputo.

Compartir recursos es un aspecto fundamental en Windows. Muchos recursos se solicitan al sistema operativo antes de que puedan ser usados y, una vez utilizados, deben regresarse al sistema operativo para que puedan emplearlos otros programas. Esta es la forma como Windows controla el acceso a los recursos.

Un recurso es un componente utilizado por una aplicación. Los recursos pueden ser físicos (impresora, pantalla, escáner) o elementos de programa (una zona de memoria, un control gráfico de propósito general, etc.)

En pocas palabras, un programa que se ejecuta en una ventana tiene que ser un buen ciudadano, no puede suponer que tiene el control completo sobre la computadora en la que se está ejecutando, sino que deber pedir permiso antes de tomar permiso antes de tomar control de cualquier recurso central, y debe estar listo para responder a los mensajes que se le envían.

Una de las grandes dificultades para los programadores, antes de que hiciera su aparición el Sistema Operativo Windows (desarrollado por Microsoft para servir como soporte operativo en los PCs.), era la programación de los componentes periféricos, tal como la impresora, la pantalla, etc. Era necesario conocer las particularidades del equipo instalado, de modo que construir una aplicación de tipo general resultaba una tarea difícil. Windows resolvió este problema al establecer un elemento intermedio entre la aplicación y los periféricos conectados al sistema. Este elemento recibe el nombre de contexto de dispositivo.

Un contexto de dispositivo es un componente de software utilizado por una aplicación Windows cuando necesita comunicarse con un periférico. Windows posee la información exacta del periférico hacia el cual se dirige la salida (o desde el cual se desea leer). De este modo, las aplicaciones para Windows no escriben (o leen) directamente en un periférico, sino que lo hacen sobre el contexto de dispositivo correspondiente, y Windows enviará o recibirá la información de manera adecuada. Por tanto, las aplicaciones para Windows son independientes de los periféricos conectados, lo cual simplifica el desarrollo de soluciones informáticas de propósito general.

Los contextos de dispositivo forman parte del sistema general que utiliza Windows para desplegar información textual o gráfica en los periféricos textual o gráfica en los periféricos de salida (pantalla, impresora). La GDI (Graphics Devices Interface: Interfaz Gráfica para el control de Dispositivos) es el sistema de funciones internas definidas en Windows para servir de soporte al flujo de datos entre el usuario y la aplicación.

Un breve resumen de los conceptos expuestos se expone a continuación:

GUI
Interfaz gráfica de usuario.

Es el sistema global definido en Windows para comunicar al PC con el programador, el usuario y los dispositivos usados por la aplicación.

GDI
Interfaz para el control de dispositivos.

Es un subsistema de la GUI usada para el manejo de cada uno de los dispositivos utilizados por la aplicación.

API
Interfaz para el programador de aplicaciones.

Son las rutinas internas que sirven como soporte a la GUI.

Index

1.2 Historia del Visual Basic


Aunque parezca aburrido, siempre es conveniente conocer la historia de las herramientas con las que trabajamos, para ubicarnos en el tiempo y saber donde estamos situados. El lenguaje de programación de alto nivel BASIC (Beginner's All purpose Symbolic Instruction Code) nació en el año 1964 como una herramienta destinada a principiantes, buscando una forma sencilla de realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria (en inglés), y con instrucciones muy sencillas y escasas. Teniendo en cuenta el año de su nacimiento, este lenguaje cubría casi todas las necesidades para la ejecución de programas. Téngase en cuenta que las máquinas existentes en aquella época estaban estrenando los transistores como elementos de conmutación, los ciclos de trabajo llegaban a la impensable cifra de 10.000 por segundo y la memoria no pasaba de unos pocos k’s en tiroides de ferrita.

La evolución del BASIC por los años 70 fue escasa, dado el auge que tomaron en aquella época lenguajes de alto nivel como el Fortran y el Cobol. En 1978 se definió una norma para unificar los BASIC existentes creándose la normativa BASIC STANDARD

Con la aparición de los primeros ordenadores personales (PC), para el año 1981, dedicados comercialmente al usuario particular, el lenguaje BASIC resurgió como lenguaje de programación pensado para principiantes, y muchos de estos pequeños ordenadores domésticos lo usaban como único sistema operativo (Sinclair, Spectrum, Amstrad)

Con la popularización de la PC, salieron varias versiones del BASIC que funcionaban en este tipo de ordenadores (versión BASICA, de IBM y GW-BASIC, de Microsoft), pero todas estas versiones del BASIC no hicieron otra cosa que terminar de rematar este lenguaje. Los programadores profesionales no llegaron a utilizarlo, habida cuenta de las desventajas de este lenguaje respecto a otras herramientas como Pascal, C, Clipper. El BASIC con estas versiones para PC llegó incluso a perder crédito entre los profesionales de la informática.

Las razones para ello eran obvias:

  • No era un lenguaje estructurado.
  • No existían herramientas de compilación fiables.
  • No disponía de herramientas de intercambio de información.
  • No tenía librerías.
  • No se podía acceder al interior de la máquina a bajo nivel como el lenguaje C.
  • Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Tal fue ese abandono por parte de los programadores, que la aparición del QuickBASIC de Microsoft (para finales de los 80), una versión ya potente del BASIC, que corregía casi todos los defectos de las versiones, pasó prácticamente inadvertida, a no ser porque las últimas versiones del sistema operativo MS-DOS incluían una versión de QuickBASIC algo recortada llamada QBasic (era interpretado, no podía compilar a .exe) como un producto mas dentro de la amplia gama de archivos ejecutables que acompañan al sistema operativo, y aprovecha de él el editor de textos (Cada vez que se llamaba al EDIT.COM, estamos corriendo el editor del QBasic).

Este compilador del popular BASIC (QuickBASIC), ya es un lenguaje estructurado, lo que permite crear programas modularmente, mediante subrutinas y módulos, capaz de crear programas ya competitivos con otros lenguajes de alto nivel. Sin embargo llegaba tarde, pues los entornos MS-DOS estaban ya superados por el entorno gráfico de Windows.

Sin embargo algo había en el BASIC que tentaba a superarse: Su gran sencillez de manejo. Si a esto se le añade el entorno gráfico Windows, el aprovechamiento al máximo de las posibilidades de Windows en cuanto a intercambio de información, de sus librerías, de sus drivers y controladores, manejo de bases de datos, etc. el producto resultante puede ser algo que satisfaga todas las necesidades de programación en el entorno Windows. La suma de todas estas cosas es: Visual Basic. Esta herramienta conserva del BASIC de los años 80 únicamente su nombre y su sencillez, y tras su lanzamiento al mercado (para Windows 3.0 en el 1991), la aceptación a nivel profesional hizo borrar por fin el "mal nombre" asociado a la palabra BASIC.

Actualmente se está comercializando la versión 6.0 de este producto y a punto de salir la versión 7.0 (Visual Net) Desde su salida al mercado, cada versión supera y mejora la anterior, siempre. Dados los buenos resultados a nivel profesional de este producto, y el apoyo prestado por el fabricante para la formación de programadores, Visual Basic se ha convertido en la primera herramienta de desarrollo de aplicaciones en entorno Windows, así como lo oye, la primera.

Resumamos las distintas versiones de Visual Basic. Cuando salió Visual Basic 1.0, Bill Gates los describió como "algo maravilloso..." y "que cambiaría la forma en que la gente utilizaba Windows".

Visual Basic 2.0 era más rápido y más sencillo de utilizar. Visual Basic 3.0 incorporó formas sencillas y potente para acceder a las bases de datos más potentes. Visual Basic 4.0 trajo la programación a 32 bits en el entorno Windows 95. Aunque hubo una versión de Visual Basic 4.0 de 16 bits para Windows 3.x. Pero que pasa, hasta ahora Visual Basic no compilaba los archivos .exe a código nativo o código máquina, como C y C++. Los programas compilados a código nativo (como C++) son muy rápidos, mucho más rápidos que los compilados en Visual Basic. Esas versiones de Visual Basic (de la 1 a la 4) compilaban a código-p. Lo que significaba la necesitad de realizar una llamada al motor en tiempo de ejecución, retrasando el tiempo de ejecución del programa.

¿Cómo funciona el código-p? Ese código funciona mediante la compilación de un programa en un formato de código intermedio que es mucho más compacto (pequeño) que el código de las máquinas 80x86 de Intel. ¿Y para que se creó el código-p, si era lento e ineficiente? Microsoft creó el código-p originalmente como una tecnología de compresión de código. Microsoft se dio cuenta de que los desarrolladores (programadores) de programas bajo MS-DOS y Windows a menudo respondían a muchos aspectos de la demanda del consumidor, mientras que al mismo tiempo se encontraban presionados por la limitación de la cantidad de memoria que consumía las aplicaciones. Por eso, para 1992, Microsoft habilitó el código-p como una característica para su compilador de C. En promedio, el código-p, reduce el tamaño del programa ejecutable(.exe) en un 40%. Si bien el código-p relentiza algo la ejecución del programa, el la mayoría de los casos, esto pasa prácticamente desapercibido. Finalmente, Visual Basic 5, y también la versión 6, añade la capacidad de compilar a código nativo. Aunque el código compilado con C++ es siempre un poquitito más rápido. Además, ahora posee también un generador de código para utilizarlo en el Pentium Pro. Las carasterístas de Visual Basic 6, sinceramente son casi las mismas que el Visual Basic 5. También es posible con VB5 y la versión 6, crear controles ActiveX. Antes sólo era posible crear controles ActiveX con C++.

Pero, es obligado decir sin embargo, que sigue siendo BASIC. No se pueden comparar sus prestaciones con otros lenguajes cuando deseamos llegar al fondo de la máquina y controlar uno a uno sus registros. Si, es ese el fin perseguido con VB y si es necesario llegar a esas precisiones será necesario utilizar otro lenguaje que permita bajar el nivel de programación, como Visual C++, o realizar librerías (DLL) que lo hagan. En la mayor parte de las aplicaciones, las herramientas aportadas por VB son mas que suficiente para lograr un programa fácil de realizar y de altas prestaciones.

Características Generales de Visual Basic

Visual Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseño de una interfaz gráfica. En una aplicación Visual Basic, el programa está formado por una parte de código puro, y otras partes asociadas a los objetos que forman la interfaz gráfica.

Es por tanto un término medio entre la programación tradicional, formada por una sucesión lineal de código estructurado, y la programación orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dos tipos de programación, debemos inventar una palabra que la defina : PROGRAMACIÓN VISUAL.

Hasta donde se puede llegar con Visual Basic.

Visual Basic resulta ideal para:

  • Aplicaciones y utilitarios para Windows de cualquier índole.
  • Aplicaciones que manejen bases de datos de pequeño y mediano tamaño.
  • Aplicaciones multimedia o publicaciones electrónicas en CD.
  • Juegos sencillos.

Con Visual Basic se puede llegar tan lejos como la imaginación lo permita. Es un lenguaje tan amplio y expansible que muchas veces le otorga al programador el incomparable placer de experimentar soluciones ingeniosas a problemas nuevos, basándose en combinaciones de técnicas sumamente sencillas.

Novedades del Visual Basic 6.0

Bases de datos:

Uno de los aspectos en los que más innovaciones introdujo Visual Basic 6 es en las bases de datos, mediante una nueva forma de utilizarlas llamada ADO (ActiveX Data Object). Además se agregaron muchas herramientas al entorno de Visual Basic bajo el nombre de DED (Data Enviroment Designer), que permiten crear visualmente en tiempo de diseño toda la estructura necesaria para conectarse y ejecutar comandos de todo tipo sobre una o más bases de datos. También cuenta con el Data Report, una poderosa herramienta para generar reportes.

Breve descripción de algunos controles para bases de datos:

Icono Control Descripción

ADO Data Control Control que permite acceder a las bases de datos usando la nueva tecnología ADO.

DataGrid

Posibilita la creación de poderosos listados de datos de tablas o consultas de una base de datos.

DataList Caja de listado especial para trabajar con bases de datos.

DataCombo Caja combinada para trabajar con base de datos.


Nuevos Controles:

Tanto en la versión profesional como en la empresarial se incluyen varios controles que facilitan algunas tareas que antes resultaban tediosas. En la siguiente tabla se presentan las novedades más interesantes.

Icono Control Descripción

CoolBar Permite crear barras de herramientas flexibles, con una apariencia más moderna. Además de botones, puede contener cualquier tipo de control.

ImageCombo Es similar a un combo común, pero puede contener imágenes (íconos, etc.), previamente seleccionado en un control ImageList.

MonthView Permite crear calendarios similares a los de Outlook.

DateTimePicker Permite seleccionar una fecha y hora, con un método similar al del MonthView.

FlatScroolBar Reemplaza las barras de desplazamiento comunes, que ahora son más vistosas, además, un mismo control puede mostrarse vertical u horizontalmente.


Mejoras a los controles existentes:

Varios de los controles existentes fueron mejorados con el agregado de nuevas propiedades o métodos. Todos estos detalles se irán ampliando a lo largo del curso, en los capítulos correspondientes.

Funciones más flexibles:

Otra novedad es la posibilidad de hacer que una función devuelva una variable tipo Array (vectores, matrices, etc.), y hasta tipos definidos por el usuario (UDT). Esto simplifica bastante el trabajo a la hora de crear funciones que hacen uso intensivo de vectores.

Nuevas funciones para manejar cadenas:

Visual Basic 6 incluye alrededor de 10 funciones nuevas para el manejo de cadenas. En la siguiente tabla, se hace una pequeña descripción de cada una de ellas:

Función Descripción
StrReverse

Devuelve el contenido de una cadena en orden inverso.

InStrRev Busca una subcadena en otra cadena, y devuelve la posición donde la encontró. La búsqueda comienza desde el final de la cadena (al revés de la tradicional InStr)
Replace Devuelve una cadena en la que se han reemplazados algunas subcadenas con otras. Es el equivalente a la función Reemplazar del Word.
Split Toma una cadena que contiene varias subcadenas separadas por un delimitador (por ejemplo: ",") y las envía a un vector de cadenas.
Join Realiza el proceso inverso de la función Split, es decir que dado un vector de cadenas, une todos sus ítems en una sola cadena.
Filter Toma un vector de cadenas y devuelve otro con todos los ítems que contengan una subcadena dada.
WeekDayName Devuelve el nombre de un número de día de la semana
(1=Domingo, 2=Lunes, etc.) Funciona en castellano.
MonthName Devuelve el nombre de un número de mes.

Index

1.3 Ediciones de Visual Basic 6.0


Visual Basic 6.0 se encuentra disponible en tres versiones, cada una de las cuales está orientada a unos requisitos de programación específicos.


  • La Edición de aprendizaje de Visual Basic permite a los programadores crear robustas aplicaciones para Microsoft Windows 95 en adelante y Windows NT®. Incluye todos los controles intrínsecos, además de los controles de cuadrícula, de fichas y los controles enlazados a datos. La documentación que se proporciona con esta edición incluye Learn VB Now (un CD-ROM multimedia), un Manual del programador impreso, la Ayuda en pantalla y los Libros en pantalla de Visual Basic.

  • La Edición profesional proporciona a los profesionales un completo conjunto de herramientas para desarrollar soluciones para terceros. Incluye todas las características de la Edición de aprendizaje, así como controles ActiveX adicionales, incluidos controles para Internet y el Generador de informes de Crystal Reports. La documentación que se proporciona con la Edición profesional incluye el Manual del programador, la Ayuda en pantalla, la Guía de herramientas componentes y el Manual del usuario de Crystal Reports para Visual Basic.

  • La Edición empresarial permite a los profesionales crear sólidas aplicaciones distribuidas en un entorno de equipo. Incluye todas las características de la Edición profesional, como el Administrador de automatización, la Galería de objetos, las herramientas de administración de bases de datos, el sistema de control de versiones orientado a proyectos Microsoft Visual SourceSafe, etc. La documentación impresa que se proporciona con la Edición empresarial incluye toda la documentación de la Edición profesional, y la Guía para la creación de aplicaciones cliente-servidor con Visual Basic y el Manual del usuario de SourceSafe.

Index

1.4 Primer programa en Visual Basic

La creación de un programa bajo Visual Basic lleva los siguientes pasos:

- Creación de un interfaz de usuario. Este interfaz será la principal vía de comunicación hombre-máquina, tanto para salida de datos como para entrada. Será necesario partir de una ventana - Formulario - a la que le iremos añadiendo los controles necesarios.

- Definición de las propiedades de los controles - Objetos - que hayamos colocado en ese formulario. Estas propiedades determinarán la forma estática de los controles, es decir, como son los controles y para qué sirven.

- Generación del código asociado a los eventos que ocurran a estos objetos. A la respuesta a estos eventos (click,,doble click, una tecla pulsada, etc.) le llamamos Procedimiento, y deberá generarse de acuerdo a las necesidades del programa.

- Generación del código del programa. Un programa puede hacerse solamente con la programación de los distintos procedimientos que acompañan a cada objeto. Sin embargo, VB ofrece la posibilidad de establecer un código de programa separado de estos eventos. Este código puede introducirse en unos bloques llamados Módulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un evento acaecido a un objeto, sino que responden a un evento producido durante la ejecución del programa.

No es necesario entender de momento lo anterior. Visual Basic introduce un concepto nuevo de programación, y es necesario cambiar hasta el argot del programador. Posiblemente se le habrán acumulado demasiados términos de una sola vez. Es normal. A poco que siga leyendo verá las cosas mas claras cuando se explique una por una.

El primer paso para crear un programa es elaborar la planificación. Esto significa que se debe definir el objetivo que tendrá el programa y que pasos se ejecutaran para lograr dicho objetivo. Debido a que se trata del primer programa que usted confeccionará, comenzaremos con uno sencillo. Pedimos disculpas a aquellos que ya tienen estos conocimientos, de todas maneras siempre se pude aprender algo nuevo.
Suponga, por ejemplo, que desea crear un programa que muestre un mensaje de bienvenida para que se ejecute cuando inicia Windows.

La planificación de este programa sería la siguiente:

Objetivo: Mensaje de bienvenida al ingresar a Windows (puede ser 95 - 98 o Milenium)

Pasos Iniciales:

  • Escribir y diseñar el mensaje
  • Agregar una o varias imágenes para realzarlo
  • Ajustar y personalizar la ventana que contendrá el mensaje
  • Escribir el código de programación Visual Basic, si es necesario
  • Probar y compilar el programa
  • Agregar un acceso directo a la carpeta Inicio para que se autoejecute al iniciar Windows.

Resultado Esperado:

  • Iniciar Windows
  • Visualizar el mensaje y salir del mismo

Definida la planificación, sólo queda comenzar con sus pasos iniciales.

Como Insertar los controles para crear el mensaje:

En esta parte se detallarán los pasos para diseñar la interfaz de usuario, en este caso el cuadro de mensaje de bienvenida.
El hecho de crear un programa o un sistema, en Visual Basic se lo denomina proyecto.

Iniciar Visual Basic 6.0

Al iniciar Visual Basic para crear un proyecto ejecutable , siempre aparece un formulario de un proyecto nuevo que en este caso se utilizará para crear el programa de mensaje. Todos los formularios sirven para crear una interfaz de usuario.

Para crear esta interfaz se utilizarán diferentes herramientas de las que aparecen en el Cuadro de Herramientas. Cada una de ellas generará controles, y cada uno de éstos tendrá un nombre, el cual se utilizara para crear el código de programación en Visual Basic.


Cuadro de Herramientas (Estándar)

Cuando un control es incluido en un formulario, se convierte en un objeto cuyas propiedades pueden modificarse. También podemos asignarle algún código de programación.

Cuando se inserta un control, por ejemplo el control Label, éste asume el nombre Label1. Un número acompañará siempre el nombre del control y este número irá variando de acuerdo con la cantidad de controles iguales que se agreguen al formulario es decir que al insertar un segundo control Label, éste tendrá el nombre Label2.

Utilizaremos en este programa Visual Basic los siguientes controles:

Label: Etiqueta o texto fijo que aparecerá en el formulario de la interfaz de usuario.

Picture: Recuadro de imagen o dibujo que pueda insertarse en el formulario.

Todos los controles se dibujan de la misma forma en que se crearía un elemento dentro de Paint o cualquier herramienta de graficación..

Como colocar los controles en el formulario:

Insertar controles en un formulario, para crear la interfaz de usuario, es una operación similar a colocar un objeto dentro de cualquier aplicación para el entorno de Windows. Es decir que debe seleccionarse el control que se desea insertar y luego trazar con el mouse el tamaño que tendrá, indicando además la posición que adoptará en el formulario:

  1. Inicie la sesión de Visual Basic.
  2. Seleccione crear un exe Estándar
  3. Haga un clic en el icono Label del cuadro de herramientas.
  4. Posicione el puntero de mouse en la parte superior izquierda del formulario y dibuje un rectángulo. A medida que va arrastrando aparecerá un cartel con el tamaño que le está dando al control. Cuando libere el mouse habrá creado el control Label1. La siguiente imagen muestra el control insertado.


  5. Haga clic en el icono picture
  6. Dibuje un cuadrado en el ángulo inferior izquierdo del formulario. Al crearlo verá un recuadro con efecto tridimensional sin ningún nombre visible, pero sí puede observar el cuadro de propiedades, verá que tiene el nombre Picture1.

Luego se procederá a cambiar las propiedades de los controles insertados en el formulario y de esta forma se podrán cambiar los parámetros de la etiqueta de texto y de la imagen.

Como modificar las propiedades de los objetos.

La modificación de las propiedades se puede realizar solamente utilizando la ventana de propiedades o el formulario y dicha ventana.
En la parte superior de la ventana de propiedades, se puede observar la lista desplegable con los controles u objetos que fueron insertados en el formulario para crear el proyecto. (El formulario en sí también es considerado un objeto)

Para visualizar los objetos cuyas propiedades pueden modificarse, ejecute los siguientes pasos:

  1. En el menú Ver, elija la opción Ventana Propiedades o haga clic en el icono correspondiente.
  2. Haga clic en el control que aparece en la parte superior de la ventana de propiedades para ver la lista de controles utilizados.
  3. Elija un objeto y observe el listado de propiedades disponibles para modificar.
  4. Cambie a otro tipo de control y verifique que las propiedades no sean las mismas que las observó en el punto anterior.

No es necesario cambiar todas las propiedades, sino que se deben modificar solamente aquellas que resulten necesarias para la tarea que se desea llevar a cabo. Incluso puede cambiar el nombre de control para que refleje con mayor precisión el tipo de dato, por ejemplo si utiliza dos controles iguales, uno para un título y otro para un texto adicional, tal vez convenga cambiar el nombre Label1 y Label2 por Título y TextoAdicional respectivamente. Más adelante explicaremos una convención que se utiliza para darle el nombre a los objetos, por ejemplo en el caso de un control Label, el nombre del objeto va precedido de lbl y después el nombre del objeto propiamente dicho. Esto nos permitirá reconocer fácilmente los objetos cuando tengamos que trabajar con el código propiamente dicho. Además tenemos que darle un nombre que sea lo suficientemente descriptivo para que al leerlo ya sepamos de que se trata.

Usted se preguntara para que tanto protocolo si al fin y al cabo es un programa pequeño y no tiene tantos controles, en este punto no debe olvidar que al efectuar un sistema son muchos los formularios que debemos realizar y que muchas veces no lo vamos a hacer solos sino que trabajaremos con un equipo de programadores, por lo que si todos manejamos las mismas convenciones nos será más fácil llevar adelante el proyecto.

A los fines de facilitarle el aprendizaje del manejo de las propiedades, estas se irán describiendo a medida que se hagan necesarias. A continuación se detallan las propiedades que aparecen en casi todos los controles u objetos y que son muy utilizadas.

a Caption: Contiene el texto que se visualizará en el control que se está personalizando. Puede contener, por ejemplo, el texto del botón comando, el texto de la barra de título del formulario, etc.

a Font: Mediante esta propiedad, es posible especificar el tipo de letra, tamaño y atributos que tendrá el texto de una etiqueta, cuadro de texto, etc.

a Name:
Contiene el nombre del control u objeto que se está personalizando. Si no se modifica, quedará el nombre por omisión, que fue indicado oportunamente (cuando se inserto el objeto en el formulario)

a Picture:
No es una opción que se encuentre disponibles para muchos objetos, pero como la utilizaremos en nuestro ejemplo, se incluye en esta lista de propiedades. En esta propiedad se indica el archivo de imagen (.bmp, .wmf, etc) que se visualizará en un cuadro de imagen o dibujo, y también puede incluirse en el formulario.

Otras propiedades que se utilizarán en este ejemplo no se listan dentro de las más utilizadas porque, según el control que se esté personalizando, varía su efecto.
En otros capítulos se utilizarán otras propiedades e incluso alguna de ellas serán modificadas, utilizando la programación en Visual Basic.

Como cambiar las propiedades del control Label

A continuación se indicarán los pasos para personalizar una etiqueta o texto fijo.

  1. En el menú Ver, elija la opción Ventana Propiedades o haga clic en el icono correspondiente.
  2. Haga un clic en el control de la Ventana Propiedades y elija el control Label1 de la lista desplegable.
  3. Haga clic sobre la propiedad Caption (Están ordenadas alfabéticamente).
  4. Escriba el mensaje de bienvenida, por ejemplo: Bienvenido a Windows.
    Observe que a medida que va escribiendo en la ventana Propiedades, también aparece el texto en el formulario.
  5. Pulse la tecla [Enter] para finalizar el ingreso de texto.
  6. Utilice la barra de desplazamiento para visualizar la propiedad Font
  7. Haga doble clic sobre la propiedad Font y aparecerá el siguiente cuadro donde podrá elegir el tipo de letra, el estilo y el tamaño que desea para el mensaje.



  1. Este paso queda a su criterio, de todas maneras si desea puede poner las siguientes opciones: Arial, Negrita, 20 puntos.
  2. Haga clic en el botón aceptar.
    Si el texto es demasiado grande para el espacio que se le ha reservado, se puede ampliar el recuadro del control Label1 utilizando los nodos que lo rodean.
  3. Haga doble clic sobre la propiedad ForeColor para modificar el color del texto del mensaje. Visualizará un cuadro indicando los colores activos para los distintos elementos del entorno Windows.
  4. Haga un clic en la solapa Paleta y visualizará la gama de colores que pueda utilizar para el texto.
  5. Utilice la barra de desplazamiento para visualizar la propiedad Alignment.
  6. Haga un clic sobre la propiedad Alignment (Alineación) y visualizará un control en la columna derecha de la ventana Propiedades.
  7. Haga un clic en el control y elija 2 - Center. Para seleccionar esta alienación, también puede utilizar el doble clic sobre la propiedad: el primer doble clic cambia la alineación a la derecha, el segundo doble clic, la centra y por último otro doble clic y se alineará a la izquierda.
    Sugerencia: si desea que el texto quede centrado con respecto al formulario, deberá aumentar el ancho del control para que sea igual al del formulario, llevando los nodos hasta que toquen el borde del formulario.

Como resultado de las modificaciones realizadas al cuadro de texto de Label1, deberá haber obtenido un control modificado similar al que puede verse en la siguiente figura:

Como cambiar las propiedades del control Picture

En un control de estas características es posible colocar cualquier tipo de archivo de imagen, por ejemplo, podrían ser incluidos en el control de imagen o dibujo los archivos con extensión .BMP o .WMF, que siempre traen los programas estándar que se instalan en la computadora.

  1. En el menú ver, elija la opción Ventana Propiedades o haga clic en el icono correspondiente o pulse F4.
  2. Haga clic en el control de la ventana Propiedades y, de la lista desplegable, seleccione el control Picture1.

  1. Haga doble clic sobre al propiedad Picture y aparecerá el siguiente cuadro.




  2. Elija la carpeta y nombre del archivo de la imagen que desee incluir en el formulario.
  3. Utilice al barra de desplazamiento para visualizar la propiedad Appearance, que le permitirá cambiar la apariencia tridimensional que tiene el control Picture1.
  4. Haga doble clic sobre la propiedad Appearance para cambiar la apariencia tridimensional a 0-Flat (plano)
  5. Haga doble clic sobre la propiedad BorderStyle para eliminar el borde o marco que rodea la imagen, elija 0 None. Si la imagen tiene un fondo blanco y no desea que sea así, podrá darle el mismo color que tiene el formulario o cambiarlo por otro color.
  6. Haga doble clic sobre la propiedad Back Color para modificar el color de fondo de la imagen incrustada.
  7. Haga un clic en la solapa Paleta y elija el color que desee.

Finalizado el cambio de las propiedades de la imagen o dibujo, seguramente habrá obtenido el siguiente formulario.

Como cambiar las propiedades del Formulario.

A un formulario se le pueden modificar las propiedades correspondientes al color de fondo, al texto de la barra de título, al icono que lo acompaña, etc.

Si cambia el icono que acompaña al formulario, éste será el que representa a la aplicación una vez creado el archivo ejecutable. (.EXE)

  1. En el menú Ver, elija la opción Ventana Propiedades o haga un clic en el icono correspondiente.
  2. Haga un clic en el control de la Ventana Propiedades y elija el formulario Form1 de la lista desplegable.
  3. Haga doble clic sobre la propiedad Caption, para cambiar el texto de la barra de título, y escriba Saludo Inicial.
  4. Utilice la barra de desplazamiento para visualizar la propiedad MaxButton.
  5. Haga doble clic sobre la propiedad MaxButton para cambiarla al estado False. Este cambio anula el botón Maximizar y de esta forma se impide que el formulario sea maximizado.
  6. Haga doble clic sobre la propiedad MinButton para cambiarla al estado False. Al modificar esta propiedad se anula el botón minimizar, impidiendo que el formulario sea minimizado.
  7. Utilice la barra de desplazamiento para visualizar la propiedad BorderStyle, que le permitirá definir si desea o no que se pueda cambiar el tamaño de la ventana.
  8. Haga doble clic en la propiedad BorderStyle para visualizar el control de elección de opciones.
  9. Haga un clic en el control y elija la opción 1-Fixed Single, de esta forma no se podrá cambiar el tamaño de la ventana del formulario.
  10. Utilice la barra de desplazamiento para visualizar la propiedad Icon.
  11. Haga doble clic sobre la propiedad Icon y visualizará el cuadro en el que podrá seleccionar el archivo de imagen de icono (archivos con extensión .ICO o .CUR) que desee asociar al formulario. Esta propiedad puede darle una mejor apariencia al programa que se esta creando.
  12. Seleccione la carpeta que contiene al archivo que representará a la aplicación que está creando, y luego elija el archivo.
    Sugerencia: Utilice un icono que concuerde con el programa o proyecto en desarrollo, ya que aquél será el que acompañara al programa cuando sea compilado, o convertido en un ejecutable (.EXE)

Si lo desea, puede cambiar el color de fondo del formulario para dar un mejor aspecto al programa:

Haga doble clic sobre la propiedad BackColor y elija el color que desee aplicar. Un color claro o blanco permitirá destacar mejor el texto y la imagen insertada. Tenga presente que si cambia el color de fondo, también tenga que hacerlo con los otros objetos. En este ejemplo los objetos Label1 y Picture1 deberán sufrir el cambio de color de fondo se se modifica el del formulario.

Como modificar los controles u objetos.

Tanto el formulario como los controles incluidos en el mismo pueden ser modificados en cuanto a su tamaño o posición. El tamaño del formulario se modifica de la misma forma que se lo haría con una ventana de aplicación de Windows.

  1. Posicione el puntero del mouse sobre los bordes del formulario.
  2. Mantenga pulsado y lleve el mouse hasta obtener el tamaño deseado.

    Con respecto a los controles u objetos que están dentro del formulario el procedimiento será similar.
Si desea mover un objeto:
  1. Posicione el puntero del mouse sobre el objeto que desea mover.
  2. Mantenga pulsado y lleve hasta el lugar deseado.

Si desea cambiar el tamaño de un objeto:

  1. Haga un clic sobre el objeto que desea redimensionar. De esta forma el objeto queda seleccionado y visualizan nodos alrededor del mismo.
  2. Posicione el puntero del mouse sobre uno de los nodos.
  3. Mantenga pulsado y arrastre hasta obtener el tamaño deseado.

Cómo insertar un botón de comando

Los Command Buttons son controles que sirven para ejecutar comandos. Por ejemplos, los botones Aceptar y Cancelar son botones de comandos. (En el capítulo 6 se explicará ampliamente este comando, por lo tanto no se preocupe si ahora no lo entiende, esto simplemente para comenzar a trabajar con Visual Basic 6)
Para insertar un botón de comando que ejecute la acción de salir o finalizar el programa, deberá llevar a cabo los siguientes pasos:

  1. Haga un clic en el icono CommandButton del cuadro de Herramientas.
  2. Dibuje un rectángulo en la parte inferior derecha del formulario. Finalizada esta operación visualizará un objeto con el nombre Command1.
  3. En el menú Ver, elija la opción Ventana Propiedades o haga clic en el icono correspondiente.
  4. Haga doble clic sobre la propiedad Caption y escriba el texto que identificará al botón insertado, por ejemplo Salir.
  5. Pulse la tecla [Enter] para finalizar el ingreso del texto. Observe que el texto está dentro del rectángulo que representa al botón.

Este botón debe ser acompañado por una programación, que en este caso será una sola palabra. Si no tiene asociadas instrucciones, solamente será un objeto más dentro del formulario.

Cómo escribir un código en un objeto.

Necesitamos agregar al botón de comando alguna instrucción que defina el efecto que se producirá al pulsarlo.
Por ahora, sólo con el fin de completar el programa y verificar su funcionamiento, efectuaremos los pasos sin profundizar, ya en los siguientes capítulos mostraremos en detalle cómo asociar instrucciones de programas a los distintos objetos de una interfaz de usuario.

Para escribir el código que se necesita en el botón Salir, deberá ejecutar los siguientes pasos:

  1. Haga doble clic sobre el botón Salir creado anteriormente. Visualizará una nueva ventana, para que usted escriba las instrucciones que se deberán ejecutar cuando se hace un clic en el botón salir.



  1. Pulsar la tecla [Tab] para dejar un pequeño espacio entre el borde y lo que va a escribir.
  2. Escriba la instrucción: End
  3. Pulse la Tecla y observará que la palabra escrita toma el color azul. Esto significa que fue escrita correctamente ya que ha sido reconocida como una palabra clave del lenguaje de programación de Visual Basic.
  4. Haga un clic en el botón de cerrar para visualizar solamente la ventana del formulario.

Como probar el programa

Como primer paso, compruebe cómo se ejecutaría este programa, llevando a cabo los siguientes pasos:

  1. En el menú Ejecutar, seleccionar la opción Iniciar o haga un clic en el icono correspondiente. Desaparecerán de la visualización la ventana de propiedades y el cuadro de herramientas y podrá ver la ejecución del programa.
  2. Observe que los botones de maximizar y minimizar no están visibles en el cuadro de bienvenida.
  3. Verifique que tampoco se puede cambiar el tamaño de la ventana.
  4. Para finalizar la ejecución: en el menú Ejecutar, elija la opción Finalizar o haga un clic en el icono correspondiente y volverá al diseño del programa.

Habrá notado ya que la posición del formulario está en la parte superior izquierda de la pantalla, por lo que sería conveniente cambiarlo de ubicación para que siempre aparezca en un lugar más adecuado, como por ejemplo en el centro.

Vuelva a ejecutar al programa y finalice haciendo un clic en el botón Salir.

Como cambiar la posición del formulario

Utilizando la ventana Posición del formulario podrá definir dónde desea que aparezca la ventana de la interfaz de usuario que está diseñado. La figura muestra la posición actual y la que debería ocupar el formulario, de entre muchas posibles. Puede cambiar la posición del formulario de manera manual o utilizando el menú contextual correspondiente.

Ubicación manual

  1. Posicione el puntero del mouse en la ventana posición del formulario y ubíquelo sobre el formulario propiamente dicho. Notará que el puntero del mouse asume el formato de una cruz con puntas de flechas.
  2. Lleve el mouse hasta ubicar al formulario en la posición deseada. Solamente visualizará el cambio en la ventana que muestra la posición del formulario, ya que esto afecta a la ejecución del programa o proyecto y no al diseño del mismo.

Definición de la posición mediante el menú contextual

  1. Posicione el puntero del mouse en la ventana Posición del formulario y ubíquelo sobre el formulario propiamente dicho.
  2. Haga un clic con el botón derecho del mouse y elija la opción Posición inicial. Observe que aparecerán las opciones de las distintas posiciones que pueden adoptar el formulario.
  3. Elija la opción Centrado en la pantalla.

Una vez hecho esto, si ejecuta el programa o proyecto, verá que el formulario ahora aparece en el centro de la pantalla.

Como guardar un proyecto

Cuando se guarda un proyecto se deben guardar todos los formularios que se encuentran asociados al mismo. Si bien este ejemplo gira sobre un solo formulario, es posible crear proyectos o programas que enlacen dos o más formularios para solicitar el ingreso de información y presentar los datos procesados por el programa.
Al guardar el proyecto, se creará un archivo con extensión .FRM que contendrá el formulario y otro archivo con la extensión .VBP que representará a todo el proyecto.

  1. En el menú Archivo, elija la opción Guardar proyecto o haga un clic en el icono correspondiente. Aparecerá el cuadro donde deberá indicar el nombre del formulario que forma el proyecto, el que se grabará con la extensión .FRM
  2. Determine la carpeta donde desea guardarlo.
  3. Escriba el nombre del archivo que guardará el formulario, por ejemplo: Bienvenida.
  4. Haga un clic en el botón Guardar. A continuación se abrirá la ventana correspondiente a la grabación del proyecto propiamente dicho.
  5. Elija la carpeta donde desea guardarlo.
  6. Escriba el nombre del archivo que guardará el proyecto, por ejemplo: Bienvenida y automáticamente se le agregará la extensión .VBP
  7. Haga un clic en el botón Guardar.
Compilar el Proyecto

Compilar un programa Visual Basic significa crea un archivo ejecutable, es decir, un archivo con extensión .EXE. Este procedimiento es, en Visual Basic, de muy sencilla realización. Es importante que el proyecto este guardado ya que se necesita el nombre del mismo para crear el archivo ejecutable.

  1. Guarde el proyecto, como se indicó anteriormente.
  2. En el menú Archivo, elija la opción Generar Bienvenida.EXE. Habrá notado que en la opción de menú está el nombre asignado al proyecto.
    Después de elegida esta opción aparecerá un cuadro mostrando los directorios donde podemos guardar el archivo.
  3. Elija la carpeta donde sea guardarlo.
  4. Indique el nombre con el que desea guardarlo (por omisión el programa adopta el nombre del proyecto)
  5. Haga un clic en el botón Aceptar y Visual Basic comenzará la compilación y creación del archivo ejecutable.

Este archivo ejecutable no queda enlazado con los archivos de proyecto o formulario. Esto significa que se realiza una modificación en el proyecto, deberá crearse nuevamente el archivo ejecutable (compilar el proyecto)

El resultado esperado

Finalizada la compilación del programa o proyecto Visual Basic podemos ponerlo a funcionar. Para ello, será preciso crear un acceso directo (del ejecutable recién creado) en la carpeta Inicio, para que Windows lo ejecute automáticamente cada vez que arranque el sistema operativo.

Para realizar esta tarea deberá ejecutar los siguientes pasos:

  1. Haga un clic con el botón derecho del mouse sobre el botón Inicio.
  2. Elija la opción Explorar. Se iniciará el Explorador de Windows en la carpeta Menú Inicio.
  3. Expanda la carpeta Programas, haciendo doble clic sobre la misma o un clic en el + que aparece a la izquierda del nombre de la carpeta, en la columna de la izquierda de la ventana.
  4. Haga un clic en la carpeta Inicio.
  5. En el menú Archivo, elija la opción Nuevo.
  6. Seleccione Acceso Directo.
  7. Haga un clic

Este es el final de nuestro primer programa en Visual Basic. Para una persona que tenga experiencia naturalmente le parecerá muy fácil, para quien nunca trabajo con algún lenguaje de programación a lo mejor le parece difícil. Espero recibir esta semana muchos proyectos terminados, ya que lo aquí enunciado es solamente una guía, dejando librado a la inspiración de cada uno todas los adicionales que crean necesarios.

Como dije en el primer capítulo este curso se ira 'alimentando' de sus dudas y sugerencias.

Es un largo camino el que recorreremos juntos para llegar a la meta de poder programar en Visual Basic.


Aquí finaliza el Capítulo Nro.1
Recuerde que este es un curso totalmente interactivo y que si bien no nos vemos las caras, estaré siempre tratando de aclararles todos los inconvenientes o dudas que puedan tener. Además escucho todas las sugerencias que tengan para mejorar este curso.
Un saludo a todos y dentro de siete días nos seguimos encontrando.





Sergio M. Cerda
Analista Programador
Almafuerte - Córdoba - Argentina
smcsoft@smcsoft.com.ar