RESUMEN DE VISUAL BASIC PARA EXAMEN 1er PARCIAL CAPITULO 1 VISUAL BASIC COMO PLATAFORMA DE DESARROLLO OBJETO DE LA PROGRAMACIÓN

. La programación no es una actividad aislada que produzca resultados por sí misma, la programación es una de las muchas tareas que se tienen que hacer en una aplicación. Generar código sin errores que cumpla con lo definido y que satisfaga los requerimientos del análisis. El modelo clásico del Ciclo de Desarrollo de Aplicaciones tiene las siguientes fases:

Análisis: Se observa detenidamente un problema o situación con el fin de determinar que aplicación se requiere desarrollar Diseño: Se define de manera sistemática y estructurada la forma en que se va a llevar a cabo el desarrollo. Programación: Se diseña y codifica la aplicación de tal forma que haga, sin errores, lo que esta definido en la fase de diseño. Pruebas: se ejecuta la aplicación, a efecto de determinar si cumple con lo estipulado.

VISUAL BASIC: MÁS QUE UN LENGUAJE DE PROGRAMACIÓN. El lenguaje es sólo una parte de lo que el producto ofrece; en términos generales, Visual Basic es una plataforma de desarrollo de aplicaciones. Características que proporciona Visual Basic:
• • • • • •

Elementos gráficos de diseño de aplicaciones. Compilador Editor de programas con depuración al instante Asistencia basada en colores Ayuda contextual Poderosos asistentes(wizards)

Visual Basic lleva en su nombre los dos elementos generales que lo conforman: Visual - indica que es una interfaz gráfica de usuario (GUI), tecnología orientada a objetos Basic - indica aquellas tareas que no se pueden realizar a través de las herramientas gráficas, de tipo procedural. EDICIONES DE VISUAL BASIC.
• • •

Edición Aprendizaje. Edición Profesional. Edición Empresarial.

ENTORNO INTEGRADO DE DESARROLLO (IDE) Conjunto de herramientas y elementos que le permite diseñar y programar aplicaciones interactuando con Visual Basic. El IDE se compone de los siguientes elementos: La Barra de Menús. La Barra de Herramientas Estándar. El Diseñador de Formularios. La Ventana de Propiedades. La Ventana de Posición del Formulario. La Ventana Explorador de proyectos. El Cuadro de Herramientas. LA BARRA DE MENÚS. Proporciona los menús que contienen comandos que Visual Basic tiene disponibles para su uso en aplicaciones desarrolladas, o para la administración de su propio entorno. LA BARRA DE HERRAMIENTAS. Es un conjunto de botones que proporcionan acceso rápido a comandos más comunes que Visual Basic tiene disponibles para uso en aplicaciones desarrolladas o para la administración de su propio entorno.

VENTANA DE FORMULARIO. Ventana en la que puede encontrarse los objetos que responden a nuestras acciones, puede minimizarse, maximizarse, cerrarse, etc... Un Formulario es un objeto contenedor, es decir, puede contener a otros objetos, en este caso, botones de comando, cuadros de texto, imágenes, botones de opción, etc... MODOS DE TRABAJO CON FORMULARIOS: SDI Y MDI. Interfaz de Documentos Simples (SDI). Se compone de un solo formulario; al cerrar el formulario se cierra la aplicación. Interfaz de Documentos Múltiples (MDI). Se compone de un formulario maestro y éste puede contener uno o más formularios. Trabajando en ambos siempre habrá un formulario principal. La diferencia entre SDI y MDI es que en SDI el formulario maestro es el único que existe. Entre los beneficios que puede obtener al desarrollador en SDI, es que los elementos del IDE se comportan como ventanas independientes de Windows. (Para activarla en VB, es en el menú Herramientas %Opciones % Avanzado % Desactive la casilla de verificación Entorno de desarrollo SDI) VENTANA DE POSICIÓN DE FORMULARIO En la Ventana de Posición de Formulario aparece representada la pantalla de un monitor y el formulario que esta diseñando dentro de ella en tiempo de diseño. Sirve para determinar donde quiere usted que aparezca su formulario en el momento que sea ejecutado CUADRO DE HERRAMIENTAS. (CUADRO DE CONTROLES) Es la ventana que muestra todos los controles disponibles para la generación de objetos en una aplicación. Las categorías de las herramientas son: (Están en el orden de las imágenes presentadas) Controles Básicos: Label, TextBox, CommandButton Controles de Selección: ChekBox, OptionButton, ComboBox, ListBox, HScrollBar, VScrollBar Controles Contenedores: Frame

Controles Gráficos: PictureBox, Shape, Line, Image Controles de Gestión de Archivos: DriveListBox, DirListBox, FileListBox Controles de tiempo: Timer Controles de Datos: Data Controles de Vínculos: OLE VENTANA EXPLORADOR DE PROYECTOS Es una ventana que muestra los componentes del proyecto, llamados módulos. A través de esta ventana puede ubicar y activar cualquier modulo del proyecto: Los diferentes módulos que puede tener la ventana Explorador de Proyectos son:
• •

Módulos de Formulario (.FRM): puede contener objetos y los valores de sus propiedades. Módulos de Clase (.CLS): son similares a los módulos de formularios a excepción que no tienen una interfaz visible. Módulos Estándar (.BAS): pueden contener declaraciones públicas o a nivel modulo de tipos de datos, constantes, procedimientos externos y procedimientos públicos.

VENTANA DE PROPIEDADES Es aquella donde se identifica un objeto y en donde se pueden modificar en tiempo de diseño las propiedades de dicho objeto Sus componentes son:

Lista desplegable de objetos: situada en la parte superior muestra una lista desplegable que contiene el nombre del objeto activo y el tipo de controlen el que esta basado dicho objeto.

Cuadricula de propiedades: es una lista de propiedades validas para el objeto que se esta modificando, a la derecha se ven las propiedades y a la izquierda en nombre de las propiedades, se pueden ordenar alfabéticamente o por categoría. Cuadro de Información de propiedades: situado en la parte inferior aparece el nombre de la propiedad a modificar y la explicación de su utilidad.

TIEMPOS DE DESARROLLO EN VISUAL BASIC Tiempo de Diseño: Es cuando las labores de desarrollo de aplicaciones se realizan a través del IDE. Tiempo de Ejecución: Son las labores de desarrollo que se realizan al ejecutar un formulario. TECNOLOGÍA ORIENTADA A OBJETOS Objetos: son ocurrencias de una clase en un formulario. Son controles una vez que son insertados en una aplicación. Controles: son representaciones graficas que permiten generar elementos de interfaz con windows, como botones, cuadros de texto, gráficos, etc. Clase: es la definición formal de un elemento de interfaz de windows. Una clase actúa como plantilla para cada una de las instancias generadas a partir de un determinado control. Propiedades: cada objeto que conforma un formulario (incluyendo el formulario mismo, cuadros de texto, botones, imágenes, etc.) tienes características particulares que los hacen diferentes unos de otros a esas características se les llama propiedades. Métodos: Son ordenes predefinidas que realizan tareas especificas sobre los objetos. Permiten manipular los objetos y sus características asociadas. PASOS PARA CREAR UNA APLICACIÓN EN VB  Crear la interfaz de usuario  Establecer las propiedades de los objetos  Escribir el código de los eventos  Guardar el proyecto  Probar y depurar la aplicación  Compilar el ejecutable (EXE)

 Crear los discos de instalación CAPITULO 2 CREACIÓN DE LA INTERFAZ DE USUARIO CREAR LA INTERFAZ DE USUARIO  Tener la cantidad de objetos necesarios para hacer lo que se quiere con la aplicación.  Tener los tipos de objetos adecuados para hacer lo que se quiere con la aplicación.  Definir la posición y las dimensiones adecuadas para los objetos.  Distribución funcional, los objetos deben estar distribuidos de tal forma que faciliten el uso de la interfase. CONTROLES DE TAMAÑO Son los 8 recuadros que rodean a un objeto para modificar sus dimensiones. OBJETO ACTIVO Es el objeto con el que se esta trabajando actualmente Se puede visualizar en la parte superior de la ventana de propiedades PROPIEDADES DE POSICIÓN Son las que determinan la posición de un objeto, su “Punto de Inicio” que es la parte superior izquierda del objeto y las “Propiedades de Dimensión” que son las que especifican la distancia entre el punto de inicio y la esquina inferior derecha del objeto. El tamaño de los objetos están determinados en TWIPS, un twip es la vigésima parte de un punto. Aquel objeto que tenga los controladores de color azul será el objeto principal del grupo; esto es muy importante, ya que todos los demás objetos del grupo lo seguirán en sus propiedades CAPITULO 3 COMO ESTABLECER LAS PROPIEDADES DE LOS OBJETOS CONSIDERACIONES DE DISEÑO EN VISUAL BASIC El diseño de las aplicaciones en Visual Basic no es tan sencillo como parece; no es solo agregar objetos en un formulario de manera estética y proporcionada.

En Visual Basic el desarrollo es minimalista, detallado, especifico. Esto no puede ser de otra manera debido a que la plataforma es orientada a eventos, es decir, cualquier cosa que suceda en la interfaz de usuario, por mínima que sea, puede desencadenar una tarea. Lo primero que puede hacer para que su aplicación haga solamente lo que usted desea, es establecer las propiedades adecuadas. Al principio, la aplicación Saludo parecía muy sencilla. Al momento de estar diseñando la aplicación los detalles aparecen por todos lados. Es un hecho que su aplicación, tal como esta, ni luce como usted quiere, ni hace lo que usted quiere. Observe las especificaciones de la aplicación desde el punto de vista de diseño de Visual Basic, es decir, como se espera que se vean y sucedan las cosas ESTABLECER LAS PROPIEDADES DE LOS OBJETOS Los objetivos de establecer las propiedades de los objetos son: Validar que ya se tienen todos los objetos que se requieren en el formulario. Consiste en revisar que ya se tienen todos los objetos que la interfaz requiere. Para ello se utiliza la ventana Propiedades. Asignar el nombre adecuado a cada uno de los objetos. Consiste en darle un nombre específico a cada uno de los objetos, a efecto de poder hacer referencia a ellos en la aplicación y realizar operaciones con ellos. La propiedad de identificación es la propiedad Name. Es necesario que respete las convenciones de prefijo de objetos que son reconocidos mundialmente para código Visual Basic Establecer las propiedades de apariencia y comportamiento. Consiste en asignar los valores necesarios a las propiedades para que los objetos luzcan y se comporten como el diseño lo requiere. Las propiedades diferentes a la propiedad NAME son llamadas propiedades de apariencia y comportamiento. Si tiene la cantidad de objetos correctos, pero uno no es del tipo que esperaba. Deberá seleccionar el objeto basado en un control equivocado, y eliminarlo presionando la tecla Supr; posteriormente deberá agregar el objeto que haga falta con el tipo de control correcto. COMO ASIGNAR EL NOMBRE ADECUADO A CADA UNO DE LOS OBJETOS Utilizar los nombres proporcionados de manera predeterminada a los objetos no ocasiona problemas en aplicaciones pequeñas, pero suponga que tiene un formulario con diez botones de comando (Command 1, Command 2,…, Command 10) y cada uno de ellos tiene una función especifica e importante que no debe confundirse con la función de los otros botones de comando; en este caso, seria complicado mantener la referencia de los objetos.

Para evitar estas complicaciones, Visual Basic permite modificar la propiedad NAME de los objetos, de tal forma que estos sean identificados con un nombre acorde a su función. La propiedad Name de un objeto, al igual que los nombres de variables de memoria en Visual Basic, debe comenzar con una letra y puede tener un máximo de 40 caracteres. Puede incluir números y caracteres de subrayado (__), pero no signos de puntuación, espacios en blanco, caracteres compuestos o caracteres especiales. CAPITULO 4 ESCRITURA DEL CODIGO DE LOS EVENTOS ESCRIBIR EL CODIGO DE LOS EVENTOS Un evento es una acción reconocida por un formulario o control. Los eventos pueden ocurrir como el resultado de una acción determinada por el usuario, por el código de programa, o bien puede ser invocada por el sistema. El código de una aplicación de Visual Basic se divide en bloques menores llamados procedimientos, que no son otra cosa que un conjunto de ordenes que se ejecutan de manera secuencial, que tienen un nombre, un principio y un fin. Un procedimiento de evento es el procedimiento que se ejecutara para cuando a un objeto le suceda un evento. EL EDITOR DE CODIGO DE VISUAL BASIC Visual Basic posee una poderosa herramienta para editar código; entre las ventajas del editor podemos mencionar las siguientes:

Clasificación de elementos por colores que le permiten identificar los elementos de programa. Reconoce los objetos y asiste en el uso de propiedades y métodos. Interpreta el lenguaje mientras se escribe el código; detecta errores de sintaxis al momento de editar. Posee ayuda interactiva y contextual.

• •

Antes de ver las posibilidades de edición, es necesario que comprendamos que un lenguaje de programación siempre tiene reglas que determinan su estructura, tanto de forma como de significado: Reglas de sintaxis (o sintácticas)[Author ID1: at Wed Apr 10 14:24:00 2002]: Determinan la [Author ID1: at Wed Apr 10 14:25:00 2002]única forma de manifestar instrucciones y expresiones, correctas y completas.[Author ID1: at Wed Apr 10 14:25:00 2002]

Reglas de semántica (o [Author ID1: at Wed Apr 10 14:26:00 2002]semánticas[Author ID1: at Wed Apr 10 14:27:00 2002])[Author ID1: at Wed Apr 10 14:26:00 2002]:[Author ID1: at Wed Apr 10 14:27:00 2002] Determinan la validez del uso de expresiones dentro de una sintaxis correcta. El cumplimiento de las reglas semánticas por lo general se ve en tiempo de [Author ID1: at Wed Apr 10 14:27:00 2002]ejecución[Author ID1: at Wed Apr 10 14:28:00 2002],[Author ID1: at Wed Apr 10 14:27:00 2002] cuando se sabe el significado de las expresiones.[Author ID0: at ] Al editor de [Author ID1: at Wed Apr 10 14:28:00 2002]código de Visual Basic se le llama [Author ID1: at Wed Apr 10 14:28:00 2002]Ventana[Author ID1: at Wed Apr 10 14:28:00 2002] [Author ID1: at Wed Apr 10 14:28:00 2002]Código; esta se puede utilizar para escribir, mostrar y editar [Author ID1: at Wed Apr 10 14:28:00 2002]código de Visual Basic.[Author ID1: at Wed Apr 10 14:28:00 2002] [Author ID1: at Wed Apr 10 14:29:00 2002] ELEMENTOS DE LA VENTANA CODIGO [Author ID1: at Wed Apr 10 14:29:00 2002]): Derterminan la unica forma de manifestar instrucciones y expresiones, correctas y completas[Author ID1: at Wed Apr 10 14:24:00 2002 ].[Author ID1: at Wed Apr 10 14:24:00 2002 ][Author ID1: at Wed Apr 10 14:24:00 2002 ] [Author ID0: at ] Reglas de semántica (o semánticas): Determinan la validez del uso de expresiones dentro de una sintaxis correcta. [Author ID1: at Wed Apr 10 14:24:00 2002 ][Author ID1: at Wed Apr 10 14:30:00 2002 ] [Author ID1: at Wed Apr 10 14:30:00 2002] Cuadro Objeto[Author ID1: at Wed Apr 10 14:30:00 2002] (1). Muestra el nombre del objeto seleccionado. [Author ID1: at Wed Apr 10 14:30:00 2002]Haga clic en la flecha situada a la derecha del cuadro de lista para mostrar una lista de todos los objetos asociados con el formulario. [Author ID1: at Wed Apr 10 14:31:00 2002] [Author ID1: at Wed Apr 10 14:31:00 2002] Cuadro Procedimiento/Evento[Author ID1: at Wed Apr 10 14:32:00 2002] (2). Presenta una [Author ID1: at Wed Apr 10 14:32:00 2002]relación de todos los eventos reconocidos por Visual Basic para [Author ID1: at Wed Apr 10 14:32:00 2002]un formulario o control mostrado en el cuadro Objeto. Cuando seleccione un evento[Author ID1: at Wed Apr 10 14:33:00 2002], el procedimiento de evento asociado con ese evento se muestra en la ventana [Author ID1: at Wed Apr 10 14:34:00 2002]Código.[Author ID1: at Wed Apr 10 14:34:00 2002] Barra de [Author ID1: at Wed Apr 10 14:34:00 2002]división.[Author ID1: at Wed Apr 10 14:34:00 2002] (3) Si arrastra hacia abajo esta barra, la ventana [Author ID1: at Wed Apr 10 14:34:00 2002]Código se divide en dos paneles horizontales, cada uno de los cuales tiene sus propias barras de desplazamiento. [Author ID1: at Wed Apr 10 14:35:00 2002]Puede ver diferentes partes del [Author ID1: at Wed Apr 10 14:36:00 2002]código a la vez. La información que aparece en los cuadros Objeto y Procedimiento/Evento se aplica al [Author ID1: at Wed Apr 10 14:36:00

2002]código del panel que tiene el enfoque. [Author ID1: at Wed Apr 10 14:36:00 2002]Si arrastra la barra a la parte superior o inferior de la ventana o hace doble clic en ella, se cierra un panel. [Author ID1: at Wed Apr 10 14:37:00 2002] Botón Ver procedimiento[Author ID1: at Wed Apr 10 14:37:00 2002].[Author ID1: at Wed Apr 10 14:37:00 2002] (4) Muestra el procedimiento seleccionado.[Author ID1: at Wed Apr 10 14:37:00 2002] En la ventana [Author ID1: at Wed Apr 10 14:37:00 2002]Código solo se muestra un procedimiento a la vez.[Author ID1: at Wed Apr 10 14:37:00 2002] Botón Ver modulo completo[Author ID1: at Wed Apr 10 14:39:00 2002].[Author ID1: at Wed Apr 10 14:39:00 2002] (5) Muestra todo el [Author ID1: at Wed Apr 10 14:39:00 2002]código del modulo.[Author ID1: at Wed Apr 10 14:39:00 2002] CARACTERES ESPECIALES[Author ID0: at ] Apostrofe ([Author ID1: at Wed Apr 10 14:40:00 2002]`). [Author ID1: at Wed Apr 10 14:44:00 2002]Todo el [Author ID1: at Wed Apr 10 14:44:00 2002]código que [Author ID1: at Wed Apr 10 14:44:00 2002]continúe en la misma [Author ID1: at Wed Apr 10 14:44:00 2002]línea (hasta encontrar fin de [Author ID1: at Wed Apr 10 14:44:00 2002]línea) [Author ID1: at Wed Apr 10 14:44:00 2002]será interpretado como comentario.[Author ID1: at Wed Apr 10 14:44:00 2002] Comillas dobles (“”). [Author ID1: at Wed Apr 10 14:45:00 2002]Siempre engloban una [Author ID1: at Wed Apr 10 14:45:00 2002]expresión[Author ID1: at Wed Apr 10 14:46:00 2002] [Author ID1: at Wed Apr 10 14:45:00 2002]de tipo carácter, por lo que siempre que abra unas comillas, [Author ID1: at Wed Apr 10 14:46:00 2002]tendrá que cerrarlas.[Author ID1: at Wed Apr 10 14:46:00 2002] Carácter de subrayado (_).[Author ID1: at Wed Apr 10 14:47:00 2002] Es el continuador de [Author ID1: at Wed Apr 10 14:47:00 2002]línea de Visual Basic. [Author ID1: at Wed Apr 10 14:47:00 2002]Antes de este siempre debe haber cuando menos un espacio en blanco, y [Author ID1: at Wed Apr 10 14:48:00 2002]después de este nunca debe haber nada, o de lo contrario se generara un error.[Author ID1: at Wed Apr 10 14:49:00 2002] CAPITULO 5 COMO GUARDAR Y EJECUTAR APLICACIONES [Author ID1: at Wed Apr 10 14:50:00 2002] ¿[Author ID1: at Wed Apr 10 14:50:00 2002]COMO SE ALMACENA SU TRABAJO EN VISUAL BASIC?[Author ID1: at Wed Apr 10 14:51:00 2002] [Author ID0: at ] El archivo de proyecto es simplemente una lista de todos los archivos y objetos asociados con el proyecto, [Author ID1: at Wed Apr 10 14:51:00 2002]así como [Author ID1: at Wed Apr 10

14:51:00 2002]información[Author ID1: at Wed Apr 10 14:52:00 2002] [Author ID1: at Wed Apr 10 14:51:00 2002]acerca de las opciones de entorno establecidas. Esta información se actualiza cada vez que se guarda el proyecto[Author ID1: at Wed Apr 10 14:52:00 2002].[Author ID1: at Wed Apr 10 14:53:00 2002] [Author ID1: at Wed Apr 10 14:53:00 2002] ¿COMO GUARDAR APLICACIONES?[Author ID1: at Wed Apr 10 14:54:00 2002] [Author ID0: at ] Para almacenar su trabajo[Author ID1: at Wed Apr 10 14:54:00 2002], Visual Basic tiene una [Author ID1: at Wed Apr 10 14:55:00 2002]jerarquía de contenedores, formada por lo siguiente: [Author ID0: at ] [Author ID1: at Wed Apr 10 14:55:00 2002] Módulos.[Author ID1: at Wed Apr 10 14:55:00 2002] El [Author ID1: at Wed Apr 10 14:55:00 2002]código en Visual Basic se almacena en [Author ID1: at Wed Apr 10 14:55:00 2002]módulos; hay 3 tipos de [Author ID1: at Wed Apr 10 14:55:00 2002]módulos: formulario, [Author ID1: at Wed Apr 10 14:55:00 2002]estándar y de clase. [Author ID1: at Wed Apr 10 14:55:00 2002]En los [Author ID1: at Wed Apr 10 14:56:00 2002]módulos se pueden colocar declaraciones de constantes, tipos, variables y procedimientos, en cualquiera de sus modalidades (Sub, Function o Property). [Author ID1: at Wed Apr 10 14:56:00 2002]Un modulo siempre esta asociado a un proyecto de Visual Basic; la forma mas [Author ID1: at Wed Apr 10 14:58:00 2002]común de encontrar un modulo en un proyecto es en forma de formulario.[Author ID1: at Wed Apr 10 14:58:00 2002] Proyectos. Es uno de los denominados Objetos Genéricos de Colección; estos objetos permiten agrupar diversos elementos, manteniéndolos relacionados como en todo. En el caso de los proyectos de Visual Basic, permiten agrupar todos los módulos que componen una determinada aplicación. Un proyecto en Visual Basic siempre contiene uno o más módulos. Grupos de Proyectos. Es una colección de proyectos. [Author ID1: at Sat Apr 13 13:35:00 2002]Consiste en un archivo que relaciona como miembros de un todo a varios proyectos de Visual Basic. El grupo de proyectos no es un objeto, y puede o no existir.[Author ID1: at Sat Apr 13 13:36:00 2002] [Author ID1: at Sat Apr 13 13:37:00 2002] COMO EJECUTAR SU APLICACIÓN[Author ID1: at Sat Apr 13 13:37:00 2002] [Author ID1: at Sat Apr 13 13:37:00 2002] Ejecutar[Author ID1: at Sat Apr 13 13:37:00 2002]. Consiste en poner en [Author ID1: at Sat Apr 13 13:37:00 2002]operación[Author ID1: at Sat Apr 13 13:38:00 2002] [Author ID1: at Sat

Apr 13 13:37:00 2002]los elementos diseñados y codificados en tiempo de diseño. Al ejecutar la aplicación Visual Basic entra en tiempo de [Author ID1: at Sat Apr 13 13:38:00 2002]ejecución[Author ID1: at Sat Apr 13 13:39:00 2002],[Author ID1: at Sat Apr 13 13:38:00 2002] se pone sensible a todos los eventos, y por supuesto, es cuando suceden los errores, sean de sintaxis o de semántica.[Author ID1: at Sat Apr 13 13:39:00 2002] Depurar.[Author ID1: at Sat Apr 13 13:39:00 2002] Consiste en probar el funcionamiento de la [Author ID1: at Sat Apr 13 13:39:00 2002]aplicación[Author ID1: at Sat Apr 13 13:40:00 2002], [Author ID1: at Sat Apr 13 13:39:00 2002] provocar los errores y corregirlos. Al momento de depurar sus aplicaciones debe cambiar de actitud con respecto a sus programas, debe ser el [Author ID1: at Sat Apr 13 13:40:00 2002]crítico [Author ID1: at Sat Apr 13 13:40:00 2002]más feroz y el usuario [Author ID1: at Sat Apr 13 13:40:00 2002]más necio e impredecible, debe hacer lo que nadie en todos sus sentidos [Author ID1: at Sat Apr 13 13:40:00 2002]haría, debe intentar, de manera decidida, que su [Author ID1: at Sat Apr 13 13:40:00 2002]aplicación[Author ID1: at Sat Apr 13 13:42:00 2002] [Author ID1: at Sat Apr 13 13:40:00 2002]genere errores y comportamientos equivocados. El tiempo que dedique a depurar [Author ID1: at Sat Apr 13 13:42:00 2002]será recompensado con la confianza que [Author ID1: at Sat Apr 13 13:42:00 2002]tendrá en que su aplicación este correcta.[Author ID1: at Sat Apr 13 13:42:00 2002] DEPURACION Y CONTROL DEL PROGRAMA[Author ID1: at Sat Apr 13 13:43:00 2002] [Author ID0: at ] La depuración es la actividad que consiste en dejar su [Author ID1: at Sat Apr 13 13:43:00 2002]aplicación[Author ID1: at Sat Apr 13 13:44:00 2002] [Author ID1: at Sat Apr 13 13:43:00 2002]sin errores. Es importante que sepa depurar sus aplicaciones porque es probable que tenga problemas con el [Author ID1: at Sat Apr 13 13:44:00 2002]código alguna vez.[Author ID1: at Sat Apr 13 13:44:00 2002] Los errores [Author ID1: at Sat Apr 13 13:45:00 2002]más comunes en Visual Basic son de semántica, [Author ID1: at Sat Apr 13 13:45:00 2002] ya que como pudimos ver, los errores de sintaxis son detectados al momento de escribir el [Author ID1: at Sat Apr 13 13:45:00 2002]código.[Author ID1: at Sat Apr 13 13:45:00 2002] [Author ID1: at Sat Apr 13 13:47:00 2002] PUNTOS DE INTERRUPCION[Author ID1: at Sat Apr 13 13:47:00 2002] [Author ID0: at ] Una forma mas practica es haciendo clic en la barra indicadora de margen, justo al lado de la [Author ID1: at Sat Apr 13 13:47:00 2002]línea en que quiera que Visual Basic entre en modo [Author ID1: at Sat Apr 13 13:47:00 2002]interrupción; hacer esto agrega un punto de [Author ID1: at Sat Apr 13 13:47:00 2002]interrupción, mismo que se eliminara haciendo clic en el indicador de margen Breakpoint[Author ID1: at Sat Apr 13 13:47:00 2002]

CAPITULO 6 VARIABLES Y TIPOS DE DATOS[Author ID1: at Sat Apr 13 13:51:00 2002] M[Author ID1: at Sat Apr 13 13:51:00 2002]SGBOX[Author ID0: at ] La [Author ID1: at Sat Apr 13 13:51:00 2002]función [Author ID1: at Sat Apr 13 13:51:00 2002]MsgBox [Author ID1: at Sat Apr 13 13:51:00 2002]le permite indicar la [Author ID1: at Sat Apr 13 13:51:00 2002]aparición de una ventana de [Author ID1: at Sat Apr 13 13:51:00 2002]notificación[Author ID1: at Sat Apr 13 13:52:00 2002] [Author ID1: at Sat Apr 13 13:51:00 2002]en Visual Basic, también llamadas cuadros de dialogo, en el formato [Author ID1: at Sat Apr 13 13:52:00 2002]estándar de Windows.[Author ID1: at Sat Apr 13 13:52:00 2002] La sintaxis de la [Author ID1: at Sat Apr 13 13:53:00 2002]función es la siguiente:[Author ID1: at Sat Apr 13 13:53:00 2002] [Author ID1: at Sat Apr 13 13:54:00 2002] MsgBox (Mensaje[, [Author ID1: at Sat Apr 13 13:54:00 2002]CodigoDeBoton[Author ID1: at Sat Apr 13 14:00:00 2002] [, TituloDeVentana[Author ID1: at Sat Apr 13 14:00:00 2002]]] )[Author ID1: at Sat Apr 13 14:03:00 2002] [Author ID1: at Sat Apr 13 14:03:00 2002] El CodigoDeBoton [Author ID1: at Sat Apr 13 14:03:00 2002]es un argumento opcional. [Author ID1: at Sat Apr 13 14:03:00 2002]Consiste en una expresión [Author ID1: at Sat Apr 13 14:04:00 2002]numérica que corresponde a la suma de los valores que especifican el numero y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del [Author ID1: at Sat Apr 13 14:04:00 2002]botón predeterminado[Author ID1: at Sat Apr 13 14:05:00 2002] y la modalidad del cuadro de mensajes. Si se omite este argumento, del valor predeterminado para CodigoDeBoton es 0[Author ID1: at Sat Apr 13 14:06:00 2002] El TituloDeVentana [Author ID1: at Sat Apr 13 14:06:00 2002]es opcional. Consiste en una [Author ID1: at Sat Apr 13 14:06:00 2002]expresión[Author ID1: at Sat Apr 13 14:07:00 2002] [Author ID1: at Sat Apr 13 14:06:00 2002]S t r i n g que se muestra en la barra[Author ID1: at Sat Apr 13 14:07:00 2002]s de titulo del cuadro de dialogo. [Author ID1: at Sat Apr 13 14:07:00 2002]Si se omite TituloDeVentana, en la barra de titulo se coloca el nombre de la aplicación. [Author ID1: at Sat Apr 13 14:08:00 2002][Author ID1: at Sat Apr 13 14:09:00 2002] CONSTANTES DE VISUA[Author ID1: at Sat Apr 13 14:09:00 2002]L BASIC[Author ID1: at Sat Apr 13 14:09:00 2002] [Author ID1: at Sat Apr 13 14:09:00 2002] CONSTANTE[Author ID1: VALOR[Author DESCRIPCION[Author ID1: at Sat Apr 13 at Sat Apr 13 14:09:00 2002] ID1: at Sat Apr 14:10:00 2002]

13 14:09:00 2002] vbOKOn1y[Author ID1: at Sat Apr 13 14:10:00 2002] vbOKCancel[Author ID1: at Sat Apr 13 14:12:00 2002] vbAbortRetryIgnore[Author ID1: at Sat Apr 13 14:13:00 2002] vbYesNoCancel[Author ID1: at Sat Apr 13 14:14:00 2002] vbYesNo[Author ID1: at Sat Apr 13 14:15:00 2002] vbRetryCancel[Author ID1: at Sat Apr 13 14:16:00 2002] vbCritical[Author ID1: at Sat Apr 13 14:16:00 2002] vbQuestion[Author ID1: at Sat Apr 13 14:17:00 2002] vbExclamation[Author ID1: at Sat Apr 13 14:18:00 2002] vbInformation[Author ID1: at Sat Apr 13 14:19:00 2002] vb[Author ID1: at Sat Apr 13 14:20:00 2002]DefaultButton1[Author ID1: at Sat Apr 13 14:23:00 2002] vbDefaultButton2[Author ID1: at Sat Apr 13 14:24:00 2002] Muestra solamente el [Author ID1: at Sat Apr 13 14:10:00 2002]botón Aceptar[Author ID1: at Sat Apr 13 14:10:00 2002] Muestra los botones Aceptar y Cancelar[Author 1 ID1: at Sat Apr 13 14:12:00 2002] Muestra los botone[Author ID1: at Sat Apr 13 2[Author ID1: at 14:13:00 2002]s Anular, Reintentar e Sat Apr 13 Ignorar[Author ID1: at Sat Apr 13 14:13:00 14:13:00 2002] 2002] 3[Author ID1: at Muestra los botones Si, No y Cancelar[Author Sat Apr 13 ID1: at Sat Apr 13 14:14:00 2002] 14:14:00 2002] Muestra los botones Si y No.[Author ID1: at Sat 4 Apr 13 14:15:00 2002] 5[Author ID1: at Muestra los botones Reintentar y Cancelar. Sat Apr 13 [Author ID1: at Sat Apr 13 14:16:00 2002] 14:16:00 2002] Muestra el icono Mensaje [Author ID1: at Sat 16 Apr 13 14:16:00 2002]crítico.[Author ID1: at Sat Apr 13 14:16:00 2002] Muestra el icono Consulta de advertencia. 32 [Author ID1: at Sat Apr 13 14:17:00 2002] 48[Author ID1: at Muestra el icono Mensaje de advertencia. Sat Apr 13 [Author ID1: at Sat Apr 13 14:18:00 2002] 14:18:00 2002] Muestra el icono Mensaje de [Author ID1: at Sat Apr 13 14:19:00 2002]información[Author 64 ID1: at Sat Apr 13 14:20:00 2002].[Author ID1: at Sat Apr 13 14:19:00 2002] 0 0[Author ID1: at El primer [Author ID1: at Sat Apr 13 14:23:00 Sat Apr 13 2002]botón es el predeterminado.[Author ID1: 14:23:00 2002] at Sat Apr 13 14:23:00 2002] El segundo [Author ID1: at Sat Apr 13 14:24:00 2002]botón es el predeterminado.[Author ID1: at Sat Apr 13 14:24:00 2002] El tercer [Author ID1: at Sat Apr 13 14:25:00 2002]botón es el predeterminado.[Author ID1: at Sat Apr 13 14:25:00 2002]

256[Author ID1: at Sat Apr 13 14:24:00 2002] 512[Author ID1: vbDefaultButton3[Author ID1: at Sat Apr 13 at Sat Apr 13 14:25:00 2002] 14:25:00 2002]

768[Author ID1: El cuarto [Author ID1: at Sat Apr 13 14:26:00 at Sat Apr 13 2002]botón es el predeterminado.[Author ID1: 14:26:00 2002] at Sat Apr 13 14:26:00 2002] Aplicación[Author ID1: at Sat Apr 13 14:27:00 2002] [Author ID1: at Sat Apr 13 14:26:00 2002]modal; el usuario debe responder al vbApplicatioonModal[Author 0[Author ID1: at cuadro[Author ID1: at Sat Apr 13 14:27:00 ID1: at Sat Apr 13 14:26:00 Sat Apr 13 2002] de mensajes antes de poder seguir 2002] 14:26:00 2002] trabajando en la [Author ID1: at Sat Apr 13 14:28:00 2002]aplicación actual.[Author ID1: at Sat Apr 13 14:29:00 2002] Sistema modal; se suspenden todas las aplica[Author ID1: at Sat Apr 13 14:30:00 4096[Author ID1: vbSystemModal[Author ID1: 2002]ciones[Author ID1: at Sat Apr 13 14:32:00 at Sat Apr 13 at Sat Apr 13 14:30:00 2002] 2002] hasta que el usuario responda al cuadro de 14:30:00 2002] mensaje.[Author ID1: at Sat Apr 13 14:32:00 2002] vbDefaultButton4[Author ID1: at Sat Apr 13 14:26:00 2002] [Author ID0: at ] El primer grupo de valores (0 a 5) describe el numero y el tipo de los botones mostrados en el cuadro de dialogo; el segundo [Author ID1: at Sat Apr 13 14:32:00 2002]grupo[Author ID1: at Sat Apr 13 14:33:00 2002] [Author ID1: at Sat Apr 13 14:32:00 2002](l6, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 5l2) determina el [Author ID1: at Sat Apr 13 14:33:00 2002]botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. [Author ID1: at Sat Apr 13 14:33:00 2002]Cuando se suman [Author ID1: at Sat Apr 13 14:35:00 2002]números para obtener el valor final del argumento CodigoDeBoton, se utiliza solamente un numero de cada grupo. [Author ID1: at Sat Apr 13 14:35:00 2002] [Author ID1: at Sat Apr 13 14:36:00 2002] INPUTBOX[Author ID1: at Sat Apr 13 14:38:00 2002] [Author ID0: at ] La [Author ID1: at Sat Apr 13 14:38:00 2002]función [Author ID1: at Sat Apr 13 14:38:00 2002]InputBox[Author ID1: at Sat Apr 13 14:38:00 2002] sirve para desplegar un cuadro de dialogo que permite ingresar datos.[Author ID1: at Sat Apr 13 14:38:00 2002] [Author ID0: at ] Devuelve un valor S t r i n g, correspondiente a lo que se capturo; el valor puede aceptarse (Ace[Author ID1: at Sat Apr 13 14:39:00 2002]ptar), o en su caso, también se puede Cancelar la captura. En caso de que se de Cancelar a la captura, InputBox [Author ID1: at Sat Apr 13 14:40:00 2002]devolverá un [Author ID1: at Sat Apr 13 14:40:00 2002]valor S t r i n g [Author ID1: at Sat Apr 13 14:40:00 2002]vació ([Author ID1: at Sat Apr 13 14:40:00 2002]“”).[Author ID0: at ]

[Author ID0: at ] La sintaxis de la [Author ID1: at Sat Apr 13 14:41:00 2002]función es la siguiente:[Author ID0: at ] [Author ID1: at Sat Apr 13 14:41:00 2002] InputBox (Mensaje [Author ID1: at Sat Apr 13 14:41:00 2002][, Titulo [Author ID1: at Sat Apr 13 14:42:00 2002][, Predeterminado [Author ID1: at Sat Apr 13 14:43:00 2002][, PosX [Author ID1: at Sat Apr 13 14:43:00 2002] [,PosY[Author ID1: at Sat Apr 13 14:45:00 2002] ]]]] )[Author ID1: at Sat Apr 13 14:45:00 2002] Los elementos de la sintaxis son los siguientes:[Author ID1: at Sat Apr 13 14:45:00 2002] El argumento [Author ID1: at Sat Apr 13 14:46:00 2002]Mensaje [Author ID1: at Sat Apr 13 14:46:00 2002]es requerido. Consiste en una expresión S t r i n g (texto) que representa el mensaje que [Author ID1: at Sat Apr 13 14:46:00 2002]aparecerá en el cuadro de dialogo. La longitud [Author ID1: at Sat Apr 13 14:46:00 2002]máxima de[Author ID1: at Sat Apr 13 14:46:00 2002] mensaje es de aproximadamente l024 caracteres, [Author ID1: at Sat Apr 13 14:47:00 2002]según[Author ID1: at Sat Apr 13 14:48:00 2002] [Author ID1: at Sat Apr 13 14:47:00 2002]el ancho de los caracteres utilizados. Si el mensaje consta de mas de una [Author ID1: at Sat Apr 13 14:48:00 2002]línea, puede separarlos utilizando un [Author ID1: at Sat Apr 13 14:48:00 2002]Carácter de retorno de carro (Chr (13) ) o un [Author ID1: at Sat Apr 13 14:49:00 2002]Carácter[Author ID1: at Sat Apr 13 14:50:00 2002] [Author ID1: at Sat Apr 13 14:49:00 2002]de avance de [Author ID1: at Sat Apr 13 14:50:00 2002]línea ( Chr (l0) ) o una combinación de caracteres de retorno de carro/avance de [Author ID1: at Sat Apr 13 14:50:00 2002]línea ( Chr (l3) y Chr (10) ) entre cada [Author ID1: at Sat Apr 13 14:50:00 2002]línea.[Author ID1: at Sat Apr 13 14:50:00 2002] El argumento [Author ID1: at Sat Apr 13 14:52:00 2002]Titulo [Author ID1: at Sat Apr 13 14:52:00 2002]es opcional. Consiste en una expresión S t r i n g que se muestra en la barra de titulo del cuadro de dialogo. [Author ID1: at Sat Apr 13 14:52:00 2002]Si se omite Titulo, en la barra de titulo se coloca el nombre de la aplicación.[Author ID1: at Sat Apr 13 14:53:00 2002] El argumento [Author ID1: at Sat Apr 13 14:54:00 2002]Predeterminado[Author ID1: at Sat Apr 13 14:54:00 2002] es opcional. Consiste[Author ID1: at Sat Apr 13 14:54:00 2002] en el valor sugerido que [Author ID1: at Sat Apr 13 14:55:00 2002]aparecerá al inicio en el [Author ID1: at Sat Apr 13 14:56:00 2002]cuadro[Author ID1: at Sat Apr 13 14:56:00 2002] [Author ID1: at Sat Apr 13 14:57:00 2002]de dialogo.[Author ID1: at Sat Apr 13 14:54:00 2002][Author ID1: at Sat Apr 13 14:57:00 2002] El argumento [Author ID1: at Sat Apr 13 14:57:00 2002]PosX[Author ID1: at Sat Apr 13 14:57:00 2002] es opcional. [Author ID1: at Sat Apr 13 14:57:00 2002]Consiste en especificar la posición horizontal donde debe desplegarse el cuadro de dialogo (eje de las X).[Author ID1: at Sat Apr 13 14:58:00 2002]

El argumento [Author ID1: at Sat Apr 13 14:59:00 2002]PosY[Author ID1: at Sat Apr 13 14:59:00 2002] también es opcional. Consiste en especificar la posición vertical donde debe desplegarse el cuadro de dialogo (eje de las Y).[Author ID1: at Sat Apr 13 14:59:00 2002] [Author ID1: at Sat Apr 13 15:00:00 2002] DECLARACION DE VARIABLES[Author ID1: at Sat Apr 13 15:00:00 2002] [Author ID0: at ] Las variables o constantes de memoria son posiciones de memoria RAM, referidas a [Author ID1: at Sat Apr 13 15:00:00 2002]través de un nombre, disponibles para almacenar datos en ellas. [Author ID1: at Sat Apr 13 15:00:00 2002]Las variables tienen tres atributos esenciales: nombre, tipo y alcance.[Author ID1: at Sat Apr 13 15:01:00 2002] [Author ID1: at Sat Apr 13 15:02:00 2002] NOMBRE[Author ID1: at Sat Apr 13 15:02:00 2002]. Permite identificar el contenido de la memoria; [Author ID1: at Sat Apr 13 15:02:00 2002]deberá estar compuesto como sigue: debe comenzar con una letra, puede tener un [Author ID1: at Sat Apr 13 15:02:00 2002]máximo de 40 caracteres, puede incluir [Author ID1: at Sat Apr 13 15:02:00 2002]números y guiones bajos (_), pero no signos de [Author ID1: at Sat Apr 13 15:02:00 2002]puntuación[Author ID1: at Sat Apr 13 15:07:00 2002] [Author ID1: at Sat Apr 13 15:02:00 2002]ni espacios en blanco. Una variable no puede tener el mismo nombre que otro objeto [Author ID1: at Sat Apr 13 15:07:00 2002]público como Clipboard, Screen o App. Los nombres de variable pueden repetirse [Author ID1: at Sat Apr 13 15:07:00 2002]en [Author ID1: at Sat Apr 13 15:08:00 2002]múltiples procedimientos y [Author ID1: at Sat Apr 13 15:08:00 2002]módulos, cuidando siempre el alcance.[Author ID0: at ] [Author ID1: at Sat Apr 13 15:08:00 2002] TIPO DE DATOS[Author ID1: at Sat Apr 13 15:08:00 2002]. Determina como se almacenan los bits[Author ID1: at Sat Apr 13 15:08:00 2002] que representan[Author ID1: at Sat Apr 13 15:09:00 2002] los valores de la memoria del equipo. Cuando declara una variable, puede proporcionarle un tipo de datos; todas las variables desde su [Author ID1: at Sat Apr 13 15:09:00 2002]creación[Author ID1: at Sat Apr 13 15:10:00 2002] [Author ID1: at Sat Apr 13 15:09:00 2002]tienen un tipo de dato[Author ID1: at Sat Apr 13 15:10:00 2002]s que determina la clase que pueden almacenar, por lo cual una variable nunca carece de un tipo de datos. [Author ID1: at Sat Apr 13 15:12:00 2002]De forma predeterminada, si no proporciona un tipo de datos al momento de declarar una variable, esta toma el tipo de datos Variant, que permite almacenar cualquier tipo de contenido soportado por Visual Basic.[Author ID1: at Sat Apr 13 15:13:00 2002][Author ID1: at Sat Apr 13 15:13:00 2002] [Author ID1: at Sat Apr 13 15:14:00 2002] ALCANCE[Author ID1: at Sat Apr 13 15:14:00 2002]. Determina la validez del uso de una variable entre procedimientos, [Author ID1: at Sat Apr 13 15:14:00 2002]módulos y aplicaciones.

[Author ID1: at Sat Apr 13 15:14:00 2002]Pueden ser de nivel procedimiento (solo validas para un procedimiento), a nivel modulo (validas para todos los procedimientos de un modulo, como [Author ID1: at Sat Apr 13 15:15:00 2002]podría ser un formulario) o globales (validos para todos los procedimientos de todos los [Author ID1: at Sat Apr 13 15:15:00 2002]módulos de todas las aplicaciones. [Author ID1: at Sat Apr 13 15:15:00 2002] [Author ID1: at Sat Apr 13 15:18:00 2002][Author ID1: at Sat Apr 13 19:38:00 2002] Tipo (prefijo de nombre) Tamaño en Bytes Rango Carácter de Ejemplo de declaración y declaración de uso tipo Dim numeromesa% -32,768 a 32,768 Integer (int) 2 no decimales % Dim numero mesa as integer Numero mesa% = 12 Dim pobnacional& & Dim pobnacional as long Pobnacional& = 1000000 Dim estatura! ! Dim estatura as single Estatura! = 1.82 Dim Pi# Double Precision (dbl) 8 -1.79769313486232E308 a 1.79769313486232E308 # Dim Pi as double Pi# = 3.1415926535 Dim Ingreso@ Currency (cur) 8 -922,337,203,685,477.5808 a 922,337,203,685,477.5808 @ Dim Ingreso as currency Ingresos@ = 378828889.54 Dim Animal$ $ Dim Animal as string Aimal$ = “perro” Dim Activao as bolean

Long Integer (lnt)

4

-2,147,486,648 a 2,147,486,648 no decimales

Single Precision (sng)

4

-3.042823E38 a -3.042823E38

String (str)

1 por 0 a 65,535 caracteres carácter 2 True o False, 0 o 1

Bolean (bln)

Activao = falso Dim fechacorte as date Date (dtm) 8 01/01/100 as 31/12/9999 Fechacorte = #24/09/99# Type Direccion Calle as string * 30 Numero as string * 10 Colonia as string * 30 Cp as long End type Usuario (udt) Definido por el usuario, conjunto de tipos y valores Dim MiDireccion as Direccion MiDireccion.numero = “132-A” MiDireccion.calle = “Rosas” MiDireccion.colonia = “Riveras” MiDireccion.cp = “64000” Byte (byt) 2 Igual a single, péro sin signo 0-255 Dim byASCII as byte Dim Variable Dim Variable as variant Variable = 12 Variable = “Perro” Variable = 3.1416

Variant (vnt)

16 (con numero) 22+ 1 por Todos los tipos de rango carácter en datos de tipo texto)

[Author ID1: at Sat Apr 13 19:38:00 2002]

DIM:[Author ID1: at Sat Apr 13 19:38:00 2002] [Author ID1: at Sat Apr 13 19:38:00 2002]declaración de variables de memoria[Author ID1: at Sat Apr 13 19:38:00 2002] [Author ID0: at ] La sintaxis de la instrucción es la siguiente:[Author ID1: at Sat Apr 13 19:39:00 2002] Dim Nombre Variable [Author ID1: at Sat Apr 13 19:39:00 2002][CharacterDeclaracion / As TipoDatos][Author ID1: at Sat Apr 13 19:41:00 2002][Author ID1: at Sat Apr 13 19:43:00 2002] [Author ID1: at Sat Apr 13 19:43:00 2002] Nombre Variable [Author ID1: at Sat Apr 13 19:43:00 2002]es el nombre que desea asignarle a su variable. CharacterDeclaracion es el Character de [Author ID1: at Sat Apr 13 19:43:00 2002]declaración del tipo de datos, en caso de que lo tenga. [Author ID1: at Sat Apr 13 19:43:00 2002]TipoDatos es cualquier nombre de tipo de datos reconocido por Visual Basic.[Author ID0: at ] En la [Author ID1: at Sat Apr 13 19:44:00 2002]sintaxis[Author ID1: at Sat Apr 13 19:45:00 2002] [Author ID1: at Sat Apr 13 19:44:00 2002]se ilustran dos posibilidades de [Author ID1: at Sat Apr 13 19:45:00 2002]declaración de variables, que son mutuamente excluyentes: una es utilizando el [Author ID1: at Sat Apr 13 19:45:00 2002]Character de [Author ID1: at Sat Apr 13 19:45:00 2002]declaración de tipo ([Author ID1: at Sat Apr 13 19:45:00 2002]declaración implícita) [Author ID1: at Sat Apr 13 19:46:00 2002] o utilizando un nombre de tipo de datos reconocido por Visual Basic [Author ID1: at Sat Apr 13 19:46:00 2002]([Author ID1: at Sat Apr 13 19:46:00 2002]declaración explicita)[Author ID1: at Sat Apr 13 19:46:00 2002].[Author ID1: at Sat Apr 13 19:46:00 2002] En la tabla de tipos de datos hay una columna llamada “Character de [Author ID1: at Sat Apr 13 19:47:00 2002]declaración de tipo”, que muestra los caracteres asociados a los diferentes tipos de datos para la [Author ID1: at Sat Apr 13 19:47:00 2002]declaración [Author ID1: at Sat Apr 13 19:47:00 2002]implícita. [Author ID1: at Sat Apr 13 19:47:00 2002]Como vera, no todos los tipos de datos tienen Character de [Author ID1: at Sat Apr 13 19:48:00 2002]declaración de tipo, y por tanto, no pueden ser declarados de manera [Author ID1: at Sat Apr 13 19:48:00 2002]implícita. [Author ID1: at Sat Apr 13 19:48:00 2002] Para declarar una variable que almacene el [Author ID1: at Sat Apr 13 19:49:00 2002]número de asistentes a una conferencia en un recinto relativamente grande, [Author ID1: at Sat Apr 13 19:49:00 2002]tendríamos las siguientes posibilidades.[Author ID1: at Sat Apr 13 19:49:00 2002] [Author ID1: at Sat Apr 13 19:49:00 2002] Declaración explicita:[Author declaración [Author ID1: at ID1: at Sat Apr 13 19:50:00 Sat Apr 13 19:50:00 2002] 2002]implícita:[Author ID1:

at Sat Apr 13 19:51:00 2002] Dim intAsistentes As Dim intAsistentes% Integer[Author ID1: at Sat Apr [Author ID1: at Sat Apr 13 19:50:00 2002] 13 19:51:00 2002] CONSTANTES[Author ID1: at Sat Apr 13 19:53:00 2002] [Author ID0: at ] Las Constantes, como su nombre lo indica, son referencias de valores en memoria que no pueden variar su valor.[Author ID1: at Sat Apr 13 19:53:00 2002] La sintaxis para declarar constantes es:[Author ID1: at Sat Apr 13 19:54:00 2002] [Author ID1: at Sat Apr 13 19:55:00 2002] Const Variable [As TipoDeDatos] = ValorConstante[Author ID1: at Sat Apr 13 19:55:00 2002] [Author ID1: at Sat Apr 13 19:55:00 2002] Ejemplo: Const msngPI As Single = 3.l4l6 Const msngPI! = 3.l4l6 La especificación del tipo de datos es opcional, aunque se recomienda no omitirla. Las constantes deben declararse a nivel modulo, es decir, se colocan en las declaraciones generales de un formulario, o bien en un archivo .bas MATRICES Las matrices son parte de todo lenguaje de programación de propósito general; permiten la organización, a través de subíndices, de un conjunto de valores, bajo un mismo nombre de referencia en memoria (nombre de variable). Ya vimos que la instrucción Dim sirve para declarar variables: La sintaxis de la instrucción es: Dim Variable As TipoDeDatos Por ejemplo, para declarar una variable que almacene las ventas netas de un producto en el mes de enero (el mes 1 del año), seria como se muestra a continuación:

Dim curVentas 1 As Currency Una matriz es un conjunto de posiciones de memoria (dimensión) que almacena datos de una misma naturaleza (elementos), mismos que pueden ser referenciados a través de un numero consecutivo de posición (subíndice), que se encuentra entre un numero mínimo y un numero máximo (intervalo). CONVERSION DE DATOS Casi todo lo que se captura en una interfaz creada en Visual Basic es texto y si estamos trabajando en aplicaciones profesionales, deberá ser convertido al tipo de datos específico que se requiera. Las funciones de conversión de Visual Basic son las siguientes: Función Cbool Cbyte Ccur Cdate Tipo Devuelto Bolean Byte Currency Date Intervalo de argumento expresión Cualquier expresión de cadena numerica 0 a 255 -922.337.203.685.477,5808 a -922.337.203.685.477,5808 Cualquier expresión de fecha -1,79796931348623E308 a 1,79796931348623E308 para valores negativos 4,94065645841247E-324 a 1,79796931348623E308 para valores positivos +/- -79.228.162.514.264.337.593.543.950.335 para numeros basados en cero, es decir, numeros sin decimales. Cdec Decimal Para numeros con 28 decimales, el intervalo es +/7,9228162514264337593543950335 La posición menor para un numero que no sea cero es 0.0000000000000000000000001. -32,768 a 32,768: las fracciones se redondean -2.147.483.648 a 2.147.483.647 las fracciones se redondean -3,402823E38 a -1,401298E-45 para valores negativos. 1,401298E-45 a 3,402823E38 para valores positivos El mismo intervalo de double para valores numericos Cstr Cvar String Variant El mismo intervalo de string para valores no numericos Depende del argumento expresionaconvertir

Cdbl

Double

Cint Clng Csng

Integer Long Single

Val Str

Numero adecuado string

Depende del argumento expresionaconvertir Convierte un numero a cadena CAPITULO 7 OPERADORES Y ESTRUCTURAS DE CONTROL

OPERADORES ARITMETICOS Quien no conoce los operadores aritméticos? Por formar parte de la educación básica de cualquier profesional en sistemas, difícilmente podríamos agregar algo que no sepa con respecto a ellos; quizás la novedad puede ser que expliquemos como utiliza los operadores aritméticos el Visual Basic. El lenguaje dispone de los siguientes operadores aritméticos: Operador Nombre Función y sintaxis Suma Suma expresiones numéricas. Concatena expresión de tipo string + (Concatenación) Resultado = Expresion1 + Expresion2 Representa la diferencia entre 2 números o especifica la condición negativa de uno Resta Resultado = Numero1 + Numero 2 Resultado = -Numeronegativo Multiplica dos numero * Multiplicación Resultado = Numero1 * Numero 2 divide un numero entre otro / División Resultado = Numero1 / Numero 2 divide un numero entre otro, dando un resultado necesariamente entero \ Resultado = Numero1 / Numero 2 divide un numero entre otro, dando como resultado el residuo Mod Resultado = Numero1 Mod Numero 2 Sirve para elevar un numero a una determinada potencia; un numero puede ser negativo si el exponente es un entero Resultado = Numero1 / Numero 2

^

OPERADORES COMPARATIVOS Estos operadores permiten analizar la relación que guardan dos elementos entre si, regresando a través de un valor de False (Falso) o Trae (Verdadero) o Null (Nulo). La siguiente tabla describe los operadores comparativos que Visual Basic maneja: Operador < (menor que) <= (menor o igual que) > (mayor que) >= (mayor o igual que) = (igual a) <> (Distinto que) CODIGO ASCII El juego de caracteres de 7 bits denominado Código Estándar Estadounidense para el Intercambio de Información (ASCII) es ampliamente utilizado para representar letras y símbolos de en un teclado estándar de EE.UU. El juego de caracteres ASCII es igual que los primeros 128 caracteres (0-127) del juego de caracteres ANSI, utilizado por las maquinas antiguas. OPERADORES LOGICOS Los operadores lógicos sirven para unir o negar condiciones. Los operadores lógicos básicos son: NOT. Niega el resultado de una condición. Revierte el valor; si la condición que afecta es True, producirá False y viceversa. AND. Cuando de entre dos condiciones, ambas deben ser True para que en su conjunto la expresión sea True. (Todas las condiciones True > True.) OR. Cuando de entre dos condiciones, al menos una debe ser True para que en su conjunto la expresión sea True. (Al menos una condición True > True.) XOR. Cuando de entre dos condiciones, al menos una cumple por True, pero no las dos. INSTRUCCIÓN IF (CONDICIONAL) Todo lenguaje de programación requiere de una instrucción que le permita manejar condiciones que le permitan elaborar un árbol de toma de decisiones, ya que es la única manera de especificar la secuencia lógica de un proceso. Verdadero SI Exp1 < Exp2 Exp1 <=Exp2 Exp1 > Exp2 Exp1 >= Exp2 Exp1 =Exp2 Exp1 <> Exp2 Falso SI Exp1 >= Exp2 Exp1 >Exp2 Exp1 <= Exp2 Exp1 < Exp2 Exp1 <> Exp2 Exp1 = Exp2 Nulo SI Exp1 o Exp2 = Null Exp1 o Exp2 = Null Exp1 o Exp2 = Null Exp1 o Exp2 = Null Exp1 o Exp2 = Null Exp1 o Exp2 = Null

La sintaxis de la instrucción y con elemento de la sintaxis es la siguiente (sintaxis 1): If Condición then Instrucciones End If Donde If es el inicio de la estructura de control, End If es el fin de la estructura de control, Instrucciones es el bloque de código que se controla y Condición es la expresión lógica que determina si Instrucciones se ejecutara o no. Solo en caso de que Condición sea True, Instrucciones se ejecutara. La expresión lógica que determina la ejecución del código controlado por If, puede existir ya sea por el manejo de comparación o a través de un expresión de tipo lógico, como podría ser una variable de tipo lógico con un valor True o False; el valor Null se considera False. SELECT CASE Se va construyendo un árbol de toma de decisiones basado en una ExpresionAEvaluar. Puede agregar tantas instrucciones Case como desee e incluso puede anidar las estructuras Select Case.Si al momento de evaluar Condición, un determinado valor de ExpresionAEvaluar se cumple en dos casos, se ejecutara para el primero que se encuentre. El caso E1se se aplica cuando el valor de ExpresionAEvaluar no se cumple en ninguno de los casos anteriores dentro de la estructura. Ejemplo: Select Case Categoría Case is > 19 Aumento = 0 Case is 18, 17, 14 Aumento = 0.15 Case 10 Aumento = 0.25 Case else Aumento = 0

End select FOR NEXT For Next es la estructura iterativa por excelencia que permite repetir la ejecución de un conjunto de instrucciones un número conocido de veces, determinado por las ocurrencias de un número que se incrementa o reduce a una determinada proporción, desde un límite inferior hasta un límite superior. Su sintaxis es: For Variable = ValorInicial To ValorMaximo [ step Incremento ] Instrucciones Next Variable Ejemplos: Cuenta del 1 al 10 For i = 1 to 10 Print i Next i Serie del 5 For i = 0 to 50 step 5 Print i Next i Decremento del 10 al 1 For i = 1 to 10 step -1 Print i Next i DO LOOP

Do Loop es una estructura iterativa que permite repetir la ejecución de un conjunto de instrucciones un número desconocido de veces, determinada por el cumplimiento de una condición. Su sintaxis es: Do {While 1 Until] Condición Instrucciones Loop Donde Condición es la expresión lógica que mientras su valor sea True, mantendrá el proceso iterativo, ejecutando Instrucciones. Do inicia la estructura control, mientras que Loop indica el final de dicha estructura. Ejemplo: Lo siguiente despliega un número mientras este sea menor o igual a 10 Dim intNumero as Integer Do while intnumero% <= 10 intNumero% = intNumero% +1 Print intNumero% Loop 15 de 15 Verdadero Sueldo > 4000 Limite_Credito = 3000 Fin If Sueldo > 4500 then Limite_Credito = 3000 End if Punto De Inicio

Top Height (Altura) Left Width (Ancho) 45 123 http://html.rincondelvago.com/visual-basic_6.html

Estos son los códigos de los ejercicios mas comunes y faciles de Visual Basic 6.0

EJERCICIO DE LA CALCULADORA

El botón Nuevo Cálculo Private Sub Command5_Click() Text1 = "" Text2 = "" Text3 = "" Text1.SetFocus End Sub El botón Sumar Private Sub Command1_Click() Text3 = Val(Text1) + Val(Text2) End Sub El botón Restar Private Sub Command2_Click() Text3 = Val(Text1) - Val(Text2) End Sub El botón Multiplicar Private Sub Command3_Click() Text3 = Val(Text1) * Val(Text2) End Sub El botón Dividir Private Sub Command4_Click() Text3 = Val(Text1) / Val(Text2) End Sub El botón Salir Private Sub Command6_Click() Unload Me End End Sub EJERCICIO CALCULADORA 2

El botón Calcular Private Sub Command1_Click() If Option1 = True Then Text3 = Val(Text1) / Val(Text2) ElseIf Option2 = True Then Text3 = Val(Text1) * Val(Text2) ElseIf Option3 = True Then Text3 = Val(Text1) - Val(Text2) ElseIf Option4 = True Then Text3 = Val(Text1) + Val(Text2) End If End Sub El botón Otra Operación Private Sub Command2_Click() Text1 = "" Text2 = "" Text3 = "" Text1.SetFocus End Sub EJERCICIO CONVERSIONES El botón Convertir Private Sub Command1_Click() If Option1 = True Then Text2 = Val(Text1) * 1000 ElseIf Option2 = True Then Text2 = Val(Text1) * 100 ElseIf Option3 = True Then Text2 = Val(Text1) * 10 ElseIf Option4 = True Then Text2 = Val(Text1) / 1000 End If End Sub EJERCICIO TABLAS El botón Ver Tabla Private Sub Command1_Click() Dim res As Long, retorno For n = 1 To 10 res = Text1 * n retorno = Chr(13) & Chr(10) Text2 = Text2 & Text1 & " x " & n & " = " & res & retorno

Next n End Sub El botón Salir

If MsgBox("Por Favor Confirma Si Ya Te Quieres Ir", vbYesNo, "¿Qué Ya Te Quieres Ir?"

=

vbYes Then End Else Cancel = 1 End If EJERCICIO TERMÓMETRO Boton salir Private Sub cmbSalir_Click() Beep End End Sub Private Sub mnuFileExit_Click() End End Sub Barra Private Sub vsbTemp_Change() txtCent.Text = vsbTemp.Value txtFahr.Text = 32 + 1.8 * vsbTemp.Value End Sub

Crea un formulario con una etiqueta, dos cajas de texto y tres botones. Escribe el siguiente código: El botón Ver Tabla Private Sub Command1_Click() Dim res As Long, retorno For n = 1 To 10 res = Text1 * n retorno = Chr(13) & Chr(10) Text2 = Text2 & Text1 & " x " & n & " = " & res & retorno Next n End Sub El botón Nueva Tabla Private Sub Command2_Click () Text1 = "" Text2 = "" Text1.SetFocus End Sub El botón Salir Private Sub Command3_Click() If MsgBox("Por Favor Confirma Si Ya Te Quieres Ir", vbYesNo, "¿Qué Ya Te Quieres Ir?" = vbYes Then End Else Cancel = 1 End If End Sub

Ejercicio 7: Concatenación

Crea un formulario con cuatro etiquetas, cuatro cajas de texto, tres botones y escribe el siguiente código: El botón Concatenar Datos Private Sub Command1_Click() Text4 = Text1 & " " & Text2 & " " & Text3 End Sub El botón Nuevos Datos Private Sub Command2_Click() Text1 = "" Text2 = "" Text3 = "" Text4 = "" Text1.SetFocus End Sub El botón Salir del Programa Private Sub Command3_Click() Unload Me End End Sub http://www.taringa.net/posts/info/8723159/Comandos-de-Visual-Basic-Ejecicios-I.html

visual basic tutorial (paso a paso)
Introducción a Visual Basic Usted vive en un mundo de eventos. Por las mañanas, apaga la alarma del despertador, abre el refrigerador, bebe un vaso de agua. Mas tarde, abre la puerta de su automóvil, acciona el interruptor de encendido y presiona el acelerador. Raras veces nos detenemos a pensar como trabaja el reloj, como la heladera enfría las cosas o como la gasolina se convierte en energía. Nada es mas claro y transparente que la relación existente entre los objetos y los eventos que se generan cuando sé interactúa con ellos. Un programa escrito para una Interfaz Gráfica de ), como el Windows de Microsoft,]Graphical User Interface[Usuario (GUI debe será para usted natural y fácil de usar. En este capitulo se le presentaran los conceptos que se encuentran detrás de la programación Orientada a Objetos Manejada por Eventos (OOED). Usted aprenderá lo importante de esta filosofía en el desarrollo de aplicaciones amigables para el usurario. Objetos y eventos de programación Una aplicación de Windows presenta una o más pantallas llenas de objetos, con los cuales el usuario puede interactuar para determinar el curso del programa. Por ejemplo – si estamos escribiendo una carta y queremos imprimirla, tendremos que accionar el botón “imprimir” o bien Imprimir. Vale decir que tanto una opción como otra→ir al Menú Archivo siempre están en la pantalla, pero solo se activan, cuando el usuario efectúa un clic sobre ellos. En esta situación el objeto sería el botón o la opción del menú, el evento seria el clic del Mouse y la programación sería todo el código necesario para llevar a cabo la impresión del documento en pantalla. Los objetos y eventos de la programación están íntimamente relacionados, como sucesos en la vida real. Los eventos tienen lugar como resultado de la acción del usuario o del código del programa, o pueden ser activados por el sistema. La mayoría de los objetos responden a un numero de objetos generados por el usuario, como un clic del Mouse o doble clic, la opresión de una tecla o al arrastrar y soltar, etc. Recuerde que la mayoría de las aplicaciones de Windows, así como otros programas emplean una Interfaz gráfica del usuario, conformados por una o más pantallas llenas de objetos, menús, botones, botones, listas desplegables, cuadros de edición, todos inactivos hasta que el usuario provoca un evento sobre ellos. Una ve que el evento ocurre, el usuario espera que cada objeto se comporte de manera confiable, por Ej. Una selección de menú abre un cuadro de dialogo, una serie de teclazos son capturados y desplegados en un control de texto. Estos requerimientos de predecibilidad y confiabilidad son los que hacen que la programación orientada a objetos y manejada por eventos sea perfecta para el desarrollo de aplicaciones Windows. Visual Basic proporciona un ambiente de desarrollo donde el trabajo con tales objetos y eventos llega a ser un proceso directo. Pantalla de Visual Basic El entorno de Visual Basic

Para poder observar la pantalla de Visual Basic, tal como lo muestra Microsoft→Programas→la figura 1, abra el programa desde el menú Inicio Microsoft Visual Basic 6.0.→Visual Basic 6.0 En ella encontramos sobre el margen izquierdo el Cuadro de herramientas (1), en el cual aparecen todos los controles gráficos que podemos utilizar en nuestro programa. En el centro de la pantalla, la ventana de Formulario (2), es la que contendrá todos los objetos que queremos que aparezcan en nuestra aplicación. En la parte superior derecha aparece la ventana de Explorador de Proyecto (3), la cual muestra todos los formularios que existen en el proyecto actual. Aclaremos que cuando diseñemos un programa con Visual estamos creando un Proyecto (observe la barra de titulo de la ventana) el cual puede contener uno o varios formularios. Si comparamos Visual con Microsoft Excel cada libro de Excel equivaldría a un proyecto y cada hoja del libro sería un formulario. La diferencia consiste en que en Visual el proyecto se guarda con un nombre cuya extensión VBP y cada formulario se guarda como un archivo independiente con la extensión FRM. Entonces cuando abrimos un archivo de proyecto este se encarga de abrir todos los formularios que tiene asociados. Un programa sencillo Ahora está listo para crear su primera aplicación, la cual consistirá en un formulario con un botón, que al activarlo desplegará el mensaje “Bienvenido”. 1. En el cuadro de herramientas de Visual Basic, haga clic en el control CommandButton (botón de Comando). Note las indicaciones de las herramientas al pasar el puntero del Mouse sobre ellas. 2. Sobre el formulario (Form1) trace el botón de comando moviendo el Mouse con el botón izquierdo oprimido. Una vez que este toma el tamaño deseado, suelte el Mouse. Momentáneamente, acepte el título por omisión que tiene el botón, Command1. 3. Como la idea del programa es, que al realizar un clic sobre el botón se muestre un mensaje, el código se incluye dentro del mismo. Para ello, haga doble clic sobre el botón. Se le abrirá una nueva ventana de Código, en la cual escribirá Print “Bienvenido” Finalmente la programación coincidirá con lo siguiente: Private Sub Command_Clic() Print “Bienvenido” End Sub Command1 es el objeto y click es el evento asociado con dicho objeto. Print, es el comando que imprime cualquier leyenda sobre el formulario, lo importante es que la misma se encuentre encerrada entre comillas dobles.

4. Cierre la ventana de código. Ahora puede probar su nuevo programa, presionando el botón iniciar de la barra de herramientas o pulsando la tecla F5. Fíjese en la barra de título de la ventana del proyecto, antes decía , esto significa que el proyecto presenta 2]ejecutar[, ahora ]diseño[ (dos) situaciones, cuando estamos trazando los objetos sobre el formulario y programando su codificación estamos en tiempo de diseño, para probar lo que programamos debes pasar al tiempo de ejecución siguiendo las indicaciones previas. Al estar en tiempo de ejecución presione el botón de comando Command1, se escribirá sobre el formulario la frase “Bienvenido”. Vuelva al tiempo de diseño cerrando la venta del formulario o presionado el botón de la barra de herramientas Terminar. Ahora mejorará su aplicación agregando otro botón de comando, para borrar el texto del formulario repitiendo los pasos 1) y 2). Luego, haga un doble clic sobre el mismo, se abre la ventana de Código y escriba Cls. (se utiliza para borrar la pantalla.) El resultado será el siguiente: Private Sub Command_Clic() Cls End Sub Cierre la ventana de Código, y vuelva a probar su proyecto (Botón Iniciar o F5) Accione primero el Botón Command1, este imprime la frase sobre el formulario y con el Command2 borra la pantalla. Finalizada la prueba detiene la ejecución del formulario (Botón Terminar o cierra la ventana)

Guardar un proyecto Guardar Proyecto→Ir al menú Archivo Para cada archivo a guardar (formularios, proyectos, etc.) aparecerá el cuadro de diálogo Guardar Archivo Como, en el cual deberá seleccionar la unidad y la carpeta de destino. Ahora guarde el proyecto, optando por cualquiera de las opciones descriptas anteriormente, cree una carpeta desde el botón “ Crear nueva carpeta” del cuadro de dialogo de Guardar y colóquele el nombre EJERCICIO N° 1. Abra la carpeta y guarde los dos archivos (formulario y proyecto) son necesidad de cambiar sus nombres. Adopte esta metodología para todos los proyectos.

Métodos y Propiedades Propiedades Los objetos de la vida real están cargados de propiedades. Su remera es de un color, de una determinada tela, de un talle en particular, etc. Entonces llegamos a la conclusión que la remera (objeto) no es más que una suma de sus propiedades. Por lo tanto, no nos debe llamar la atención que en programación, los objetos se comporten de igual manera. Hablando técnicamente, una propiedad es un tributo nominal de un objeto de programación. Las propiedades definen las características del objeto, como el tamaño, la localización en la pantalla, el color, etc. Métodos Su videograbadora es un objeto. Lo que hace a sus propiedades, sería la marca, el modelo, el tamaño, el formato, etc. Una definición completa de su videograbadora debe comprender algo más que sus características técnicas. Debe incluir una descripción de lo que hace. Por lo tanto, los métodos de su videograbadora pueden ser, grabar, reproducir, programar canales, etc. De manera similar en la programación orientada a objetos un método es un procedimiento que puede llamarse para impartir alguna acción a un objeto. Los métodos siempre requieren de un objeto que les dé un contexto. Por ejemplo, existe un método de Move asociado con la mayoría de los objetos. En Visual Basic la palabra Move por si misma, no tienen significado alguno pero si la asociamos con un objeto, nos permitirá moverlo dentro de las coordenadas de la pantalla. En pocas palabras mientras las propiedades, nos describen el objeto, los métodos permiten que el objeto haga algo. En la gramática de la programación los objetos son sustantivos, las propiedades son adjetivos y los métodos los verbos. Asignar Propiedades Las propiedades de los objetos pueden definirse en tiempo de diseño o en tiempo de ejecución. Concentremos nuestra atención en la primera. En la pantalla de Visual Basic y dentro de todos sus componentes nos encontramos en la parte inferior derecha con la ventana de Propiedades. Con esta ventana podemos cambiar fácilmente el valor de una propiedad sin entrar en la programación del objeto. Por Ej. : si queremos que el formulario anterior cuando inicie su ejecución el texto que se observa en la barra de titulo no sea Form1 sino otro, y que este se mantenga durante la ejecución de todo el proyecto, entonces, deberíamos hacer lo siguiente. En la lista desplegable que aparece en la parte superior de la ventana de propiedades, debemos elegir el objeto llamado Form 1. Al seleccionar un objeto en la lista inferior solo aparecerán las propiedades referentes a dicho objeto. Elija la propiedad titulada Caption y verá que al lado de la a misma aparecen el valor actual que es Form1, borre dicho texto y escriba Primer Formulario, verá como cambia él titulo de la a barra del Formulario. Note que las propiedades se ordenan alfabéticamente para facilitar su ubicación, y si bien varios objetos presentan la misma propiedad, esto no significa que esta se comporte de la misma manera. Por Ej. : la propiedad Caption en el formulario modifica el texto de la barra de titulo, mientras que en el botón de comando modifica el texto que lo rotula. Además debe tener en cuenta que no todos los objetos presentan la misma cantidad de propiedades. Por eso, es muy importante que al momento de cambiar el valor de una propiedad se asegure que lo esté realizando con el objeto deseado. Probemos ahora, con los botones de comando. En su primera aplicación habíamos creado un

proyecto compuesto por un formulario con 2 botones. Ambos llevan la descripción Command y el número que les corresponde (Ej. Command1) Si pretendemos cambiar dicha descripción debemos realizar los mismo pasos que efectuamos para cambiar el título del formulario, la única diferencia se encuentra en el objeto a elegir ya no será Form1, sino Command1, este objeto (CommandButton) también tiene la propiedad Caption, y a esta le asignaremos Mostrar Mensaje. Ídem con el otro botón pero escribiremos en la propiedad Caption, Borrar Mensaje. Guardar.→Guardamos el Proyecto, recuerde que el mismo ya había sido guardado, por lo tanto solo debemos ir al Menú Archivo Ahora pasemos a ver como se definen las propiedades en tiempo de ejecución, es decir desde el código. Si quisiéramos que al presionar un botón de comando, este cambiará el título del formulario, ya no podríamos hacerlo desde la ventana de propiedades, sino que deberíamos programarlo en el evento clic del botón. Los pasos serian: 1. Hacer doble clic sobre el botón a programar 2. Escribir la siguiente línea de código Form1.caption =”Cambio el Nombre” Interpretemos esta línea de programación, Form1 es el nombre del objeto al cual le queremos cambiar el valor de la propiedad, caption es la propiedad que intentamos modificar y lo escrito entre comillas, es el nuevo valor que le queremos dar a la misma. En síntesis la sintaxis para asignar una propiedad de un objeto es: Objeto.Propiedad=Valor Programar un Método El llamar o ejecutar los métodos de un objeto es similar al caso de las propiedades, en ambos casos se hacen uso del operador punto. A diferencia de las propiedades los métodos no pueden aplicarse en tiempo de diseño solo se pueden programar. A continuación se presenta la sintaxis general para llamar a los métodos de un objeto: Objeto.Método Arg1, Arg2.....ArgN Por ejemplo, supongamos que usted dibuja un botón de comando sobre el formulario y desea que al pulsar sobre él, el formulario se ubique en la esquina superior izquierda de la pantalla. Para hacerlo, llamaría al método Move del formulario, el cual requiere que se especifique las coordenadas horizontal y vertical de la nuevas ubicación. Ya que usted esta enviándolo a la esquina superior izquierda, esas coordenadas serían 0,0. Las líneas de programación: Form1.Move 0,0 Nombre de los objetos Es conveniente es establecer la propiedad Nombre de los objetos significativos de su aplicación, aquellos cuyas propiedades y métodos espera usted usar en el código.

Cámbielos de la nomenclatura genérica, Form1, Command1, Command2, proporcionada por Visual Basic, por algo más significativo. Es convencional usar un prefijo de tres letras minúsculas cuando se nombra a los objetos . Si lo remontamos a nuestro primer ejemplo seria mas facial si el Command1 se llamara cmdMostrar y el command 2 cmdBorrar, pues al aparecer la ventana de código sabríamos con certeza lo que estamos programando y no tendríamos que estar adivinando. Objeto de Visual Basic Prefijo Ejemplo Casilla de Verificación CHECK BOX chk ChkSonido Cuadro Combinado COMBO BOX Cbo CboEmpleados Botón de Comando COMAND BUTTON Cmd CmdSalir Control de Datos DAT Dat DatClientes Cuadro de Directorio DIRECTORY LIST BOX Dir DirCarpetas Cuadro de Unidades DRIVE LIST BOX Drv DrvUnidades Cuadro de Archivos FILE LIST BOX Fil FilArchivos Formularios FORM Frm FrmInicio Marco FRAME Fra FraOpciones Barra de desplazamiento Horizontal HORIZONTAL SCROLL BAR Hsb HsbAlto Imagen IMAGE Img ImgMuestra Etiqueta LABE Lbl LblResultado Cuadro de Lista LIST BOX Lst LstUsuario Botón de Opción OPTION BUTTON Opt OptRojo Cuadro de dibujo PICTURE BOX Pic PicDibujo Figura SHAPE Shp ShpOvalo Cuadro de texto TEXT BOX Txt TxtApellido Temporizador TIMER tmr TmrAnimación Barra de desplazamiento horizontal VERTICAL SCROLL BAR vsb vsbAncho Comentarios – (´) y Rem Es posible agregar código que no será procesado en el momento de la ejecución del programa. La utilidad de hacerlo, será la de poder dejar formalizando lo que creamos que en un futuro, pueda no ser entendido fácilmente. Existen dos formas de indicar que estamos escribiendo un comentario. Sí utilizamos el símbolo (‘), todo lo que exista a la derecha de esta, en esa misma línea de código, no será tenido en cuenta por Visual Basic. La sentencia REM debe encontrarse al inicio de una línea de código. Este requisito no necesita ser cumplido en el caso del apóstrofe. Private Sub Command1_ click() ‘ Este procedimiento imprime un mensaje en el formulario Print “hola mundo” End Sub Private Sub Command1_ click() Print “hola mundo” imprime el mensaje “hola mundo” en el formulario End Sub

Private Sub Command2_click() REM CLS se utiliza para borrar la pantalla Cls End Sub Para facilitar le lectura del código del programa, mas puntualmente en líneas que se extienden mas allá del tamaño de la ventana, se recomienda partir la línea en varias (depende de la longitud de la misma), utilizando el símbolo (_) Citando una de las líneas programadas en el tema anterior: Private Sub Command_ click() Print _ “hola mundo, acá estoy yo” End Sub Nueva aplicación Arrancaremos con Visual Basic. Si Visual Basic está abierto y todavía tiene en la pantalla el proyecto anterior, y comenzara con un proyecto nuevo. Desarrollé los siguientes pasos para implementar esta aplicación: 1. Trace 7 botones sobre el formulario, tenga en cuenta que puede ir dibujando manualmente de a uno por vez, o haciendo doble clic sobre el botón de la barra de herramientas. Si utiliza este método. Los botones se irán apilando en el centro del formulario (observe los nombres Command1, Command2, Command 7). Luego tomándoles con el botón izquierdo presionado, los puede ir separando. Aplicará las siguientes propiedades a los objetos de su proyecto, como lo indica la Figura

Tenga en cuenta, al cambiar las propiedades debe cerciorarse, que lo está realizando con el objeto

deseado, recuerde mirar en la lista desplegable que aparece en la parte superior de la ventana de propiedades. El título no es lo mismo que el nombre. Un título se utiliza para identificar un objeto ante el usuario. Los nombres se usan para identificar el objeto en el código. Habiendo terminado con el trazado de objeto y el diseño de sus propiedades, pasaremos a la programación. La idea del programa, consiste en que al efectuar un clic sobre cada botón, esto modifique el color de fondo del formulario de acuerdo al color elegido. Entonces, debemos programar el evento Click de cada botón. Veremos como hacerlo. Comencemos por él botón que lleva el título “Fucsia”. Haga doble clic sobre él. Verá la ventana de código con el siguiente texto. Private Sub cmdFucsia_click() End Sub Dentro de la cual escribirá la siguiente sentencia. FrmColores.Backcolor=vbmagenta La propiedad que quiero cambiar, el fondo, acá nos encontramos con una propiedad nueva, backcolor (propiedad que aplica el color indicando al fondo del objeto) y por ultimo con el signo = indicamos el valor que queremos darle, en nuestro dado fucsia. En Visual Basic existen una serie de constante ya definidas por el sistema, que identifican los colores. Estas son las siguientes: constante Color yg Fucsia VbBlue Azul VbYellow Amarillo VbRed Rojo VbWhite Blanco VbGreen Verde VbCyan Celeste VbBlack Negro Del mismo modo, siga con el resto de los botones. Private Sub cmdBlanco_Clic() FrmColores.BackColor=vbWhite End Sub Private Sub cmdVerde_Clic() FrmColores.BackColor=vbGreen End Sub

Private Sub cmdAmarillo_Clic() FrmColores.BackColor=vbYelow End Sub Private Sub cmdAzul_Clic() FrmColores.BackColor=vbBlue End Sub Private Sub cmdRojo_Clic() FrmColores.BackColor=vbRojo End Sub Ahora programará el botón cmdMover, lo que se pretende, es que a efectuar un clic sobre el mismo, éste mueva el formulario a la esquina superior izquierda. Otra vez queremos realizar una operación con el formulario, pero en este caso como mover es una acción, nada tiene que ver con sus propiedades, aunque la programación clic sobre el mismo, para llamar a la ventana de código. Private Sub cmdMover_Clic() FrmColores.Move 0,0 End Sub El objeto a mover está en primer lugar, la acción a realizar con dicho objeto en segundo lugar, y 2 argumentos, que expresan las coordenadas de la nueva ubicación del formulario dentro de la pantalla, la esquina izquierda (0 para x, 0 para y). Cierre la ventana de código, y pruebe el proyecto Guarde su segundo proyecto. Recuerde crear una segunda carpeta, en la unidad que usted desee, y a la misma llamarla EJERCICIO N°2. No se olvide que por mas que el proyecto contenga un solo formulario, ambos se guardan en archivos independientes los cuales quedarán dentro de la carpeta creada. Etiquetas y Cuadros de texto. Conoceremos controles nuevos que nos permitirán aumentar la complejidad de nuestros programas. Supongamos que quisiéramos incluir en un formulario rótulos, textos que permanecerán fijos durante toda la ejecución del programa, tales como “Apellido y Nombre”, “Ingrese un Numero”, etc. Y además de esto quisiera que el usuario pueda ingresar su nombre, apellido, etc. Para crear entonces nuestro propios cuadros de dialogo, utilizaremos labels (etiquetas) y los textbox (cuadros de texto). Comenzaremos un nuevo proyecto. Ahora trataremos de diseñar el formulario que figura a continuación. Para facilitar la búsqueda de los controles nuevos en el cuadro de herramientas, las etiquetas se encuentran representadas por ¬A y los cuadros de texto por ab.

Observe que al dibujar los cuadros de texto, estos contiene dentro la leyenda text1, text2, etc. Para que esa no aparezca en tiempo de ejecuciones limpiar el cuadro de texto borrándola desde la propiedad Text. El usuario al ejecutar el proyecto ingresa su apellido y nombre en los cuadros de textos. Luego al pulsar sobre el botón CmdMostrar, en la etiqueta lblapenom mostrará el Apellido y Nombre juntos. Lo primero que debe preguntarse es, sobre que objeto el usuario realizara una acción , seguramente hara el clic sobre el botón cmdMostrar. Pues ese el botón que debe programar. Realizará un doble clic sobre esta y escribirá el siguiente código Private Sub cmdMostrar_Clic() LblApenom.Caption=txtApellido.Text&txtNombre.Text End Sub El Signo & une el contenido de 2 objetos. El objeto que va a recibir los datos es la etiqueta, por eso la pusimos del lado izquierdo. Qué objetos tendrán los datos para cargarla, los cuadros de textos, razón por lo cual quedan ubicados a la derecha. Hay que indicar las nombres de los objetos con los que trabajaremos, y mencionar la propiedad a modificar. Pruebe active el proyecto , escriba un apellido, un nombre y pulse el botón Mostrar, verá como aparecen sus datos en la etiqueta, pero encontrará un pequeño inconveniente, no existe separación entre el Apellido y Nombre. Vuelva al código y agregue comillas dobles “ “, que significan que se agrega un espacio en blanco. Complete su línea de código para que se vea así: Private Sub cmdMostrar_Clic() LblApenom.Caption=txtApellido.Text & “ “ & txtNombre.Text End Sub Sólo nos falta programar el botón Cerrar. Haga doble clic sobre esta, la sentencia que finaliza la ejecución del proyecto es la palabra END. Debería quedar la línea de código de la siguiente forma:

Private Sub cmdCerrar_Clic() End End Sub Probemos por ultimo vez, efectúe un clic sobre el botón Cerrar y verá como finaliza la ejecución de su programa. Bien, ahora que se programa funciona correctamente, mejoremos su estética. La tabla que aparece a continuación presenta algunas propiedades que tienen que ver con el formato de los objetos. Propiedades descripción Valores posibles Se aplica a... Alignment Alinea el texto dentro del objeto 0- left Justify izquierda 1- right justify derecha center centro Labels, textbox Autosize Determina si un control cambia o no de tamaño para mostrar todo su contenido True verdadero Falso falso Labels Backcolor Cambia el color del fondo Cualquiera de los colores que aparecen en la paleta Backstyle Determina si el fondo es transparente u opaco 0 transparente 1 opaco Labels Borderstyle Determina el estilo de borde de un objeto 0 none sin borde 1 fixed single borde fijo Labels, texBox Font Permite modificar el tipo, tamaño, estilo y efectos de las fuentes. Todos los que aparecen en el dialogo de fuentes Labels, texBox, Form y conmmandButton Forecolor Color de las letras Cualquiera de los colores de la paleta Labels, textBox, form Height Devuelve o establece la altura de un objeto Medida expresada en twips Todos los objetos Width Devuelve o establece el ancho de un objeto Medida expresada en twips Todos lo objetos Top Devuelve o establece la distancia entre el borde interno superior de un objeto y el borde superior de sí contenedor (coordenada Y de un objeto) medida expresada en twips Todos los objetos Left Devuelve o establece la distancia entre el borde interno izquierdo de un objeto y el borde izquierdo de su contenedor (coordenada X del formulario) Medida expresa en twips. Todos los objetos Aplique las siguientes propiedades a los objetos del formulario. Tabla 4. Propiedades del Formulario Datos Personales. OBJETOS PROPIEDADES VALOR Form1 Backcolor Amarillo Lable1,label2, y label3 Font Times New Roman, Tamaño 10, Negrita. Backstyle Transparente TxtApellido y txtNombre Font Arial, Tamaño 12, Cursiva Alignment Right justify lblApenom Alignment Center Font Times New Roman, Tamaño 12, Negrita.

Forecolor Blanco CmdMostrar y cmdCerrar Font Arial, Tamaño 10, Negrita. Finalmente su programa ha sido completado, no solo funciona bien sino que también tiene un vista atractiva y amigable del usuario. Guarde su proyecto. Cree una carpeta llamada EJECICIO N°3, y coloque dentro de ellas el formulario y el proyecto. Un nuevo proyecto Ahora diseñe el siguiente formulario El objetivo del proyecto es crear una pequeña calculadora, en la cual sólo se puedan ingresar 2 numero, y realizar con ellos las operaciones básicas (suma, resta, multiplicación, división y potencia). En definitiva el usuario ingresa 2 números, y pulsa sobre el botón correspondiente a la operación matemática que quiere calcular.

La diferencia con el ejercicio anterior, es que en ese usamos datos de tipo texto (Apellido y Nombre), y en este ejemplo usaremos números. Veamos entonces antes de pasar a ala programación, que objetos vamos a programar. Habíamos dicho, que el usuario tipeaba 2 números y al hacer clic sobre cualquiera de los botones,

obtenía sobre la etiqueta “lblResultado”, el resultado de la operación, esto quiere decir que debemos programar cada uno de los botones, ya que sobre ellos efectuaremos el evento clic. Si escribimos el siguiente código en el botón cmdSumar Private Sub cmdSumar_Click LblTotal=txtNumero1.text + txtNumero2.text End Sub Se mostrará la concatenación de los números, es decir los unió, no los sumó, esto se produjo, porque los cuadros de edición, si bien pueden soportar cualquier tipo de dato, los números ingresados, los interpreta como caracteres. No obstante ello, al no poder sumarlos, los concatena. Para resolver esto, usaremos una función llamada VAL, que transforma un dato de tipo carácter numérico. La sintaxis de dicha función es: VAL (conjunto de caracteres) En nuestro ejemplo, para convertir en numérico el dato ingresado en el cuadro de texto escribiremos: VAL (txtNumero1.text) le recordamos que siempre se identifica el objeto, y luego la propiedad, que en este caso, es el texto que este contiene. Vuelva al código del botón sumar, y programe lo siguiente: Private Sub cmdSumar_Click LblTotal=Val(txtNumero1.text) + Val(txtNumero2.text) End Sub Probemos lo programado. Escriba 2 números, y luego pulse el botón Sumar fíjese que ahora si obtendrá la suma de dicho número. Del mismo modo, continúe con el resto de los botones: Private Sub cmdRestar_Click LblTotal=Val(txtNumero1.text) - Val(txtNumero2.text) End Sub Private Sub cmdMultiplicar_Click LblTotal=Val(txtNumero1.text) * Val(txtNumero2.text) End Sub Private Sub cmdDividir_Click LblTotal=Val(txtNumero1.text) / Val(txtNumero2.text) End Sub Private Sub cmdPotencia_Click LblTotal=Val(txtNumero1.text) ^ Val(txtNumero2.text)

End Sub Siempre vamos haciendo doble clic en el objeto a programar, revisando que estemos programando el objeto deseado. Para el botón Cerrar escribimos la instrucción End como lo hicimos en el ejemplo anterior Private Sub cmdCerrar_Click End End Sub Guarde su proyecto, cree una carpeta llamada EJERCICIO N°4, y coloque dentro de ella tanto el formulario como el proyecto. Identificadores Un identificador es el nombre con que se identifica a cualquier elemento de un programa (constante y variables). Los identificadores tienen las siguientes características. • Deben comenzar con una letra • No pueden incluir un punto o un carácter de declaración de tipo (las variables no pueden contener símbolos como %&! @ ó $) • No debe exceder de 255 caracteres • No pueden ser palabras claves reservadas. Notas: son palabras claves, las reservadas por el lenguaje, tales como “If”, “For”, “Const”, etc. La mayoría de estas las veremos más adelante. Constantes Una constante es un elemento que no cambia su contenido durante el transcurso del programa. Generalmente se utilizan para representar valores que aparecerán en mucho lugares del código. Por ejemplo: Const.max_personas=50 Es más fácil utilizar la constante en el código (sin importar el valor que contenga) que repetir varias veces el valor. Además si tenemos que modificar el valor de la constante, lo hacemos una sola vez (y así evitaremos tener que reemplazar varias veces el valor) Por convención las constantes ingresadas por el programador se escriben en mayúsculas, para diferenciarlas fácilmente de las variables. Constantes proporcionadas por Visual Basic Visual Basic incorpora constantes definidas previamente que pueden utilizarse en el código, sin ningún tipo de declaración. No obstante, usted ya ha utilizado este tipo de constante en el formulario de colores (vbRed, vbBlue, etc.). Más ejemplos de este tipo de constantes, iremos viendo en lo sucesivo del módulo. Variables Una variable es un nombre, una letra o un conjunto de letras que pueden almacenar temporalmente un dato, el cual como su nombre lo indica puede variar durante la ejecución del programa. Es

importante destacar que las variables sólo se almacenan en la memoria del equipo, no en el disco, con lo cual, una vez interrumpido el programa estas pierden su valor. Ej. : A = 10 B=5ABC C = a+b 10 5 15 En la siguiente tabla se muestra los tipos de variables, junto con sus tamaños de almacenamiento y rangos de valores aceptados Tipo de Datos Tamaño de almacenamiento Rango Boolean 1 byte True o false Byte 2 bytes 0-255 Currency 8 bytes -9.22e.14 a 9.22e.14 Date 8 bytes 1/01/100 al 31/12 /9999 Double 8 bytes -1.80e308 a 1.80e308 Integer 2 bytes -32.768 a 32.767 Long 4 bytes -2.147.483.648 a 2.147.483.647 Single 4 bytes -3.40e38 a 3.40e38 String 1 carácter/ byte Aproximadamente 65.500 max Bytes Variant Es importante definir el tipo de dato que va almacenar en la variable por dos motivos: • Validar errores en el ingreso del dato. Por ejemplo, no permitir el ingreso de una fecha en un variable importe. • No definir variables con un tipo de datos mayor al que se necesita. Si estoy guardando la edad de una persona, el tipo más adecuado seria el Byte (más de 255 años seguro no vivirá). Optar por integer, long, o cualquiera de los otros sería un desperdicio de menoría. Veamos un ejemplo, suponga que está creando un programa para una frutería que haga un seguimiento del precio de las manzanas. No sabe el precio de una manzana o la cantidad que se ha vendido hasta que no se produce realmente la venta. Puede usar dos variables para almacenar los valores desconocido (vamos a llamarlos Precio Manzanas y Manzanas Vendidas). Cada vez que se ejecuta el programa, el usuario especifica los valores de las dos variables. Para calcular las ventas totales y mostrarlas en un cuadro de texto llamado txtVentas, el código debería parecerse al siguiente: TxtVentas.txt = PrecioManzanas * ManzanasVendidas La expresión devuelve un total distinto cada vez, dependiendo de los valores que indique el usuario. Las variables le permiten realizar un cálculo sin tener que saber ante cuáles son los valores especificados. En este ejemplo, el tipo de dato de PrecioManzanas es Currency; el tipo de dato de ManzanasVendidas es Integer. Las variables pueden representar otros valores como textos, fechas, diversos tipos numéricos e incluso objetos.

Almacenar y recuperar datos en variables Utilice instrucciones de asignación para realizar cálculos y asignar el resultado a una variable: ManzanasVendidas =10 se pasa el valor 10 a la variable ManzanasVendidas = ManzanasVendidas +1 se incrementa la variable. Observe que el signo igual del ejemplo es un operador de asignación, no un operador de igualdad; el valor (10) se asigna a la variable (ManzanasVendidas). Declaraciones Declarar una variable explícitamente es decirle al programa algo de antemano. Se declara una variable mediante la instrucción Dim, proporcionando un nombre a la variable: Dim nombreVariable (As tipo)_________________Tipo de dato: String, Date, Integer Dim edad as byte Dim nombre as string Dim fecha_entrega as date, precio as currency Fíjese que en todos los casos, siempre se asigna un nombre a la variable y el tipo de dato que contendrá. En la última línea, se definen dos variables, con un solo Dim. Las variables que se declaran en un procedimiento mediante la instrucción Dim sólo existen mientras se ejecuta el procedimiento. Cuando termina el procedimiento, desaparece el valor de la variable. Además, el valor de un variable de un procedimiento es local de dicho procedimiento; es decir, no puede tener acceso a un variable de un procedimiento desde otro procedimiento. Declaración implícita No tiene por qué una variable antes de usarla. Por ejemplo, podría escribir una función donde no hiciera falta declarar superficie antes de usarla: Superficie =base *altura Visual Basic crea automáticamente una variable con ese nombre, que puede usar como si la hubiera declarado explícitamente. Aunque es cómodo, puede provocar errores sutiles en el código si se equivoca de nombre de variable. Por ejemplo, si vuelve a usar la variable pero en vez de escribir superficie escribe superfici. A primera vista, parece igual, pero como se ha escrito erróneamente la variable superficie Visual no puede averiguar si realmente desee declarar una variable nueva o simplemente ha escrito de forma errónea una variable existente, por lo que crea una variable nueva con ese nombre. Declaración explícita Para evitar problemas al equivocarse de nombre en las variables, puede estipular que Visual Basic le avise siempre que encuentre un nombre que no se haya declarado explícitamente como una variable. Para declarar variables en forma explícita • Incluya esta instrucción en la sección Declaraciones del módulo de formulario: Option Explicit O bien.....

En el menú Herramientas, elija Opciones, hagan clic en la ficha de Editor y active la opción Requerir declaración de variables. Con esta declaración Superficie por ser una variable no declarada habría generado errores. Debería, por lo tanto, declararlo explícitamente. P/ej. : Dim Superficie as Single Es importante porque: • Detecta variables no definidas • Detecta variables mal escritas Operaciones numéricas Dentro de las operaciones que una variable puede realizar, se encuentran las operaciones de conteo y acumulación de información. Para llevaras a cabo se utilizan dos estructuras que podemos definir acumuladores y contadores. Acumuladores Consiste en la operación de ir acumulando (sumando) cantidades variadas de un variable. • Defino la variable a utilizar que será de tipo numérica, pero no necesariamente enteras. Dim acumulo as integer • Cada vez que pase por esta instrucción agregará al contenido de la variable acumulo el contenido de la variable importe. acumulo =acumulo+importe Como vemos, la cantidad que aumentemos cada vez al contenido de la variable acumulo, dependerá del contenido de la variable importe en ese momento. Si el contenido de la variable importe es cero, no modificará el contenido de la variable acumulo y en el caso de que la variable importe tenga un valor negativo, decrementará el valor de la variable acumulo pudiéndolo dejar negativo o positivo. Contadores Consiste en la operación de ir acumulando (sumando) cantidades constantes dentro de una variable. • Defino la variable a utilizar que será de tipo numérica, pero no necesariamente enteras. Dim conteo as integer • Cada vez que pase por esta instrucción incrementará el contenido de la variable conteo en 1 conteo = conteo +1 Como vimos, básicamente las dos operaciones son iguales, pero en la primera el valor que incrementemos es variable y en otra es un valor fijo.

Como usar las variables en sus programas Vamos a crear una aplicación sencilla, para ejemplificar el uso de variables. La idea del programa consiste en que cuando se hace clic sobre cada botón se desplegará el nombre y el contenido de la variable afectada. Comencemos con el botón llamado cmdNuméricas, en él vamos a definir una variable, a cargarle un valor y luego a mostrarla por pantalla con la instrucción Print

Haga doble clic sobre el botón titulado “Variables Numéricas” para abrir su ventana de código. Dim numero as integer (defino la variable) Numero = 100 (le asigno el valor 100) print “el valor es: “& numero (muestro su contenido) ( lo encerrado entre comillas es una leyenda). Pruebe el proyecto. Haga un clic sobre el botón programado y verá como en el extremo izquierdo de su formulario aparecer el contenido de la variable. Guarde su proyecto. Cree una carpeta llamada EJERCICIO N°5, y coloque dentro de ellas tanto el formularios como el proyecto. Sigamos con el resto de los botones, haga doble clic sobre el botón cndNombre titulado “Variables de tipo Texto”, y escriba las siguiente líneas de código: Dim nombre As String Nombre=”Daniela” (para variables alfabéticas se utilizan las comillas) Print “El nombre es:”& nombre Ahora, cierre la ventana de código y haga doble clic sobre el botón titulado “Variables de tipo Fecha” y escriban las siguientes líneas de código: Dim fechanac As Date fechanac=#14/03/1977# (para variables de fecha se utilizan los #numerales) Print “La fecha de Nacimiento es:”& fechanac Finalmente, programe el botón cmdCerrar con la instrucción End Pruebe su proyecto, haciendo clic en cada uno de los botones programados. Hasta el momento, usted ha creado 3 variables, cada una de ellas locales al procedimientos Clic de cada botón. Esto significa que las variables solo pueden ser utilizadas dentro de cada procedimiento, ya que al salir de dicho procedimiento estas pierden su valor. Por ejemplo: si tratáramos de mostrar el contenido de la variable nombre desde el procedimiento cmdFechas_click(), veríamos que esta vacía. Esto se debe a que las variables solo viven dentro del procedimiento desde el cual fueron declaradas (usando la instrucción Dim).

A este tipo de variables se las llama variables Locales Para declarar una variable de manera tal que las mismas pueden ser referenciadas desde cualquier objeto del formulario, debemos utilizar la sentencia Private en lugar de Dim en la sección de Declaraciones Generales. Vamos a definir una variable nueva, la cual será privada del formulario actual. Haga doble clic en cualquier punto libre del formulario y verá la pantalla de código, en la lista desplegable de Objeto, elija General y así llegará a la sección de declaraciones generales. Escriba la siguiente línea de código para declarar una variable doble que contendrá el peso de la persona. Private peso As Double Ahora, utilizaremos esta variable en nuestro programa. Diríjase al botón cmdNombre, haga doble clic y debajo de lo programado escriba la siguiente línea: Peso= 57.50 Para verla por la pantalla, haga doble clic en el botón rotulado “Variables Numéricas” y añada al final la siguiente línea de código. Print “El peso es de :” & peso Tenga en cuenta, que siempre debe escribir dentro d la estructura Private, Sub, End Sub, nunca fuera. Pruebe el proyecto, primero haga un clic sobre el botón cmdNombre, para cargar el valor 57.50 a la variable peso y finalmente cliquee sobre cmdNumericas, verá como además de mostrar el contenido de la variable numero muestra el de la variable peso, tal como lo refleja la figura XX. A este tipo de variables, cuyo alcance va mas allá de un objeto del formulario, se la llaman variables privadas, ya que estas pueden invocarse desde cualquier objeto del formulario actual (recuerde que en un mismo proyecto podemos tener más de un formulario actual). Entradas y Salidas con Inputbox() y Msgbox() Aprenderemos a utilizar las funciones InputBpx(), Msgbox() y el procedimiento Msgbox() para manejar las operaciones de entradas y salidas. Se puede manipular estas funciones permitiéndole personalizar la combinación de iconos, leyendas y botones de respuesta que aparecerán en estos cuadros de diálogos, veremos todos los aspectos fundamentales de estas funciones. ¿Qué son inputBox(), msgbox() y msgbox? Fíjese que él titulo presenta dos veces Msgbox, esto es porque la primera vez aparece como función (utiliza los paréntesis) y la segunda vez como procedimiento. La diferencia, dicho en forma simple, es que una función devuelve un valor y el procedimiento no lo hace.

Esto se refleja en la sintaxis que se usa para llamarlos. A menudo se pueden identificar las funciones por el uso de los paréntesis y un signo igual para capturar el valor de retorno en una variable. Los procedimientos, por otro lado, se utilizan sin paréntesis o signos igual. La función Inputbox() La función InputBox() muestra u mensaje en un cuadro de diálogo, espera que el usuario escriba un texto o haga clic en un botón, y luego devuelve en un tipo de dato String (tipo de datos que consiste en una secuencia de caracteres) el contenido del cuadro de texto. sintaxis Inputbox (mensaje, titulo, default, xpos, ypos, helpfile, context)

Observe los argumentos de esta función en la siguiente figura:

mensaje = InputBox("mensaje", "título", "default"

La sintaxis de la función InputBox consta de estos argumentos: Tabla VI. Argumentos de la Función InputBox() Parte Descripción Prompt (mensaje) Requerido. Expresión de cadena que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si prompt consta de mas de una línea, puede separarlo utilizando un carácter de retorno de carro (Chr (13)), un carácter de avance de línea (Chr(10)) o una combinación de los caracteres de retorno de carro-avance de línea (Chr(13)) y (Chr(10)) entre cada línea y la siguiente. Title (titulo) Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si omite title, en la barra de titulo se coloca el nombre de la aplicación. Default (valor predeterminado) Opcional. Expresión de cadena que se muestra en el cuadro de texto como respuesta predeterminada cuando no se suministra una cadena. Si omite default, se muestra el cuadro de texto vacío. Xpos Opcional. Expresión numérica que especifica, en twips (unidad de medida), la distancia en sentido horizontal entre el borde izquierdo del cuadro de dialogo y el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se centra horizontalmente. Ypos Opcional. Expresión numérica que especifica, en twips, la distancia en sentido vertical entre el borde superior del cuadro de dialogo y el borde superior de la pantalla. Si se omite ypos, el cuadro de dialogo se coloca aproximadamente un tercio de la altura de la pantalla, desde el borde superior de la misma. helpfile Opcional. Expresión de cadena que identifica el archivo de ayuda que se utilizará para proporcionar ayuda interactiva para el cuadro de dialogo. Si se especifica helpfile, también deberá especificarse context. Context Opcional. Expresión numérica que es él numero de contexto de ayuda asignado por el autor al tema de ayuda correspondiente. Si se especifica context, también deberá especificarse helpfile. Comentarios Cuando se especifica tanto helpfile como context, usted puede presionar F1 para ver el tema de ayuda correspondiente a context. Si el usuario hace clic en aceptar o presiona entrar, la función Inputbox devuelve lo que haya escrito en el cuadro de texto. Si el usuario hace clic en Cancelar, la función devuelve una cadena de caracteres de longitud cero (“”). Nota: Si desea omitir algunos argumentos de posición, debe incluir el delimitador de cómo correspondiente. Por ejemplo, si quiero colocar una mensaje, y un valor predeterminado, pero no me interesa cambiar él titulo de la ventana, la coma correspondiente este argumente debe escribirla, para que la sintaxis de la función se considere correcta. Veamos alguno ejemplos: A continuación mostraremos distintas maneras de utilizar la función Inputbox para indicar al usuario que debe introducir un valor. Si se omiten las posiciones x e y, el diálogo se centra automáticamente según los ejes respectivos. La variable Mivalor contiene el valor introducido por el usuario, si éste hace clic sobre Aceptar o presiona ENTER. Si el usuario hace clic sobre

Ejemplo N°1 Dim Mensaje, Titulo, ValorPred, Mivalor ‘Defino 3 variables locales Mensaje = “Introduzca un numero del 1 a 3” ‘Establezco el mensaje Titulo = “Demostración de Inputbox” ‘Establezco él titulo. ValorPred = “1” ‘Establezco el valor predeterminado MiValor = InputBox (mensaje, titulo, valorPred) Ejemplo N°2 Muestra del diálogo en posición 100, 100. MiValor = InputBox(Mensaje, Titulo, ValorPred, 100,100) Ejemplo N°3 Muestra el diálogo con el mensaje, al omitir el argumento título aparece el nombre del proyecto sobre la barra, y este ubica en el centro del formulario. MiValor = InputBox(Mensaje) El procedimiento MsgBox y la función MsgBox() Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón, y devuelve un tipo de Integer correspondiente al botón elegido por el usuario. Sintaxis MsgBox(mensajes (botones)(titulo)(ArchAyuda, Context))

Ej. Mensaje = MsgBox("Este es un mensaje informativo", vbOKOnly, "Atención"

La sintaxis de la función MsgBox consta de estos argumentos: Tabla VII. Argumentos de la función MsgBox () Parte Descripción Prompt (mensaje) Requerido. Expresión de cadena que representa el Mensaje en el cuadro de diálogo. La longitud máxima del mensaje es de aprox 1024 caracteres, según el ancho de los caracteres utilizados. Si el mensaje consta de mas de una líneas, puede separarlos utilizando un carácter de retorno de carro (Chr(13)) o un carácter de avance de línea (Chr(10)), o una combinación de caracteres de retorno de carro –avance de línea (Chr(13) y Chr(10)) entre cada línea y la siguiente. Buttons (botones e iconos) Opcional. Expresión numérica que corresponde a la suma de los valores que especifica él numero y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si se omite este argumento, el valor predeterminado para button es 0 Title (titulo) Opcional. Expresión de cadena que se muestra en la barra de titulo del cuadro de diálogo. Si se omite TITLE, en la barra de titulo se coloca el nombre de la aplicación. Helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar ayuda interactiva en el cuadro de diálogo. Si se especifica helpfile, también se debe especificar context. Context Opcional. Expresión numérica que es igual al número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también se debe especificar helpfile. Valores del argumento buttons: Constante Valor Descripción VbOKOnly 0 Muestra solamente el botón Aceptar VbOKCancel 1 Muestra los botones Aceptar y Cancelar VbAbortRetryIgnor 2 Muestra los botones Anular, reintentar e Ignorar VbYesNoCancel 3 Muestra los botones Si, No y Cancelar. VbYesNo 4 Muestra los botones Sí y No VbRetryCancel 5 Muestra los botones Reintentar y Cancelar. VbCritical 16 Muestra el icono de mensaje critico VbQuestion 32 Muestra el icono de pregunta de advertencia VbExclamtion 48 Muestra el icono de mensaje de advertencia VbInformation 64 Muestra el icono de mensaje de información VbDefaultButton1 0 El primer botón es el predeterminado VbDefaultButton 2 256 El segundo botón es el predeterminado VbDefaultButton 3 512 El tercer botón es el predeterminado VbDefaultButton 4 768 El cuarto botón es el predeterminado VbApplicationModal 0 Aplicación modal; el usuario debe responder al cuadro de mensaje antes de poder seguir trabajando en la aplicación actual. VbSystemModal 4096 Sistema modal; se suspende todas las aplicaciones hasta que el usuario responda al cuadro de mensaje VbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje

VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como la ventana de primer plano VbMsgBoxRigh 524288 El texto se alinea a la derecha VbMsgBoxRtlReading 104857 6 Especifica que el texto debe aparecer para ser leído de derecha a izquierda en sistemas hebreos y árabe. El primer grupo de valores (0 a 5) describe el número y el tipo de los botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0.256, 512) determina el botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. Cuando se suman número para obtener el valor final del argumento buttons, se utiliza solamente un número de cada grupo. Nota: estas constantes las especifica Visual Basic para las aplicaciones. Por tanto, el nombre de las mismas puede utilizarse en cualquier lugar del código en vez de sus valores reales. Tabla IX. Valores devueltos Constante Valor Descripción VbOk 1 Aceptar VbCancel 2 Cancelar VbAbort 3 Anular VbRetry 4 Reintentar VbIgnore 5 Ignorar VbYes 6 Sí VbNo 7 No Comentarios Cuando se proporciona tanto helpfile como context, el usuario puede presionar F1 para ver el tema de Ayuda correspondiente al context. Si el cuadro de diálogo cuenta con un botón Cancelar, presionar la tecla ESC tendrá el mismo efecto que hacer clic en este botón. Si el cuadro de diálogo contiene un botón Ayuda, se suministra ayuda interactiva para ese cuadro de diálogo. Sin embargo, no se devuelve valor alguno hasta que se hace clic en uno de estos botones. Si desea omitir algún argumento de posición, debe incluir el delimitador de coma correspondiente. Veamos un ejemplo: Utilizaremos la función MsgBox para mostrar un mensaje de error crítico en un cuadro de diálogo con botones Sí y No. El botón No se considera la respuesta predeterminada. El valor devuelto por la función MsgBox depende del botón elegido por el usuario. Dim Mensaje, Estilo, Titulo, Respuesta, as string Mensaje = “¿Desea continuar?” ‘Define el mensaje Estilo = vbYesNo + vbCritical +vbDefaultButton2 ‘Define los botones Titulo = “Demostración de MsgBox” ‘Define él titulo Muestra el mensaje y cargo en la variable respuesta la selección del usuario Respuesta = MsgBox (Mensaje, Estilo, Titulo)

Si el usuario pulso el botón Sí, el contenido de la variable respuesta será vbyes, de lo contrario será vbNo. Nuestro ejemplo llega hasta aquí, aunque en el futuro tomaremos decisiones basadas en esas respuestas. Comencemos un nuevo proyecto siguiendo el procedimiento de las aplicaciones anteriores. Desarrollemos el siguiente formulario, dibujando los objetos y asignándoles las propiedades. Ingresar nombre: cmdNombre Ingresar un número: cmdIngNro Mostrar Nombre: cmdMostNom Mostrar el doble: cmdMostDoble Cerrar: cmdCerrar En esta aplicación, cuando el usuario hace clic sobre el botón rotulado “Ingresar Nombre “, aparecerá un cuadro de entrada pidiendo un nombre. Por otra parte para poder verificar nombre ingresado, pulsará el botón rotulado “Mostrar Nombre” y con el uso de un cuadro de mensaje, mostraremos el nombre ingresado previamente. Algo muy similar ocurrirá con el tema de los números. Veamos como llevarle a cabo. Usted definirá dos variables a nivel de formulario, para poder usarlas desde cualquier objeto del formulario. Una la usaremos, para contener un nombre y otra, para almacenar un número. Entonces en cualquier punto libre del formulario pulse doble clic, en la lista desplegable de Objeto, elija General y así llegará a la sección de declaraciones generales. Ahora bien defina las siguientes dos variables probadas del formulario tal como sigue: Private nombre as String Private numero as integer Una vez definidas las variables, vamos a programar los botones de comando. Empiece por el botón cmdNombre. Nombre=Inputbox(“Ingrese su nombre:”, “Ingresar Nombre”) Luego, continúe programando el botón cmdMostNom. En este procedimiento escribirá la siguiente línea: MsgBox “El nombre ingresado fue” & “ “ & nombre, vbInformation, “Mostrar Nombre” Completemos el resto de los botones, abra el botón cmdIngNro, y escriba lo siguiente: Numero = Inputbox(“Ingrese un número:” , “Ingresar número”) Ahora, abra el botón nombrado cmdMostDoble y tipee la siguiente línea: MsgBox “El doble es” & “ “ & numero * 2, vbInformation, “Mostrar Doble” Fíjese, que directamente en la misma línea multiplicamos la variable numero por 2, para obtener su

doble. El & nos permite unir la leyenda (el doble...) al contenido de la variable numero, tal como lo hizo en el caso anterior del nombre. Probemos el proyecto. Nota: tenga en cuanta que las variables de tipo integer, solo llegan el número 32.767, por lo tanto si ingresa un número posterior al 16383, al querer calcular el doble le aparecerá un mensaje de error por desbordamiento de la variable. Guarde su proyecto. Cree una carpeta llamada EJERCICIO N°6, y coloque dentro de ellas tanto el formulario como el proyecto. Estructuras de Control Seleccionar una acción, entre un conjunto de ellas, de acuerdo a una condición dada se podría decir que son las estructuras de decisión. Se utilizan para tomar decisiones sencillas, basadas en una condición predeterminada. Dentro de las mismas veremos dos tipos. Las que utilizan la sentencia If...Endif y las que utilizan Select Case ....End Select. Las mismas serán descriptas y ejemplificadas a continuación. Ramificando con If...End If Sintaxis If condición Then (instrucciones)-(Else intrucciones_else) Puede utilizar la siguiente sintaxis en formato de bloque: If condición Then (instrucciones) Elself condiciones-n Then (intrucciones_elself)... Else (intrucciones_else) End If La sintaxis de la instrucción IF... Then... Else consta de tres partes, tal como lo ilustra la siguiente tabla: Parte Descripción condición Requerido. Uno o más de los siguientes dos tipos de expresiones: Una expresión numérica o expresión de cadena que puede ser evaluada como True o false. Si condición es Null, condición se considera False En este argumento se utilizan las operaciones de comparación: (<,>= <>,etc.) por ejemplo edad >=21, seria la condición para ser mayor de edad. También pueden aparecer los operadores lógicos (and, or, not). Por ejemplo nota>7 y faltas <=3 serian las condiciones necesarias para que cada un alumno promociona una materia. instrucciones Son las acciones a realizar, si la expresión indicada en la condición resulta verdadera.

Por je: mostrar u mensaje, realizar un calculo, etc. Condición-n Opcional. Igual que condición. Instrucciones_elself Opcional. Una o más instrucciones ejecutadas si la condicion_n asociada es True. Instrucciones_elself Opcional. Una o más instrucciones ejecutadas si ninguna de las expresiones anteriores condición o condición-n es True. Nota: una instrucción If debe terminar con una instrucción End If y las cláusulas Else y ElseIf son opcionales. Ejemplo 1 Supongamos que quisiéramos que nuestro programa determine la calificación de un alumno, basado en la nota que este ingresa. Si la nota se encuentra por debajo del 4 (cuatro), la calificación será desaprobado, de lo contrario será aprobado. Ahorremos tiempo, pensemos, que ya declaramos una variable llamada nota, y que esta contiene la nota ingresada por el usuario y la otra variable llamada calificación que será la que almacene el mensaje correspondiente. Las líneas de código para determinar la calificación podrían ser las siguientes: If nota<4 Then Calificación= “Desaprobado” Else Calificación= “Aprobado” Endif Fíjese que sólo hago una pregunta, pues cuando se tiene sólo dos posibilidades, sólo se pregunta por una, la otra surge por defecto (sí la nota, no es menor a 4, obviamente es mayor). Otra posibilidad para el mismo ejemplo sería la siguiente: If nota<= 4 then Calificación= “Aprobado” Else Calificación= “Desaprobado” Endif Compliquemos un poco mas la situación, incorporando la opción de promoción para aquellos alumnos cuya nota es 7(siete) o más. Para este caso ya tendríamos 3 posibilidades, por el cual necesitaremos una pregunta, mas que en el caso anterior. Veamos las líneas de código: If nota>= 7 then Calificación = “Promoción” Else If nota>= 4 then Calificación = “Regular” Else

Calificación = “Desaprobado” Endif Endif buno manes hasta aqui llega la primera parte bmalñana ago la segunda espero que les guustara a se me olvidavan las imagenes mañana sin falta las subo porfa comenten no les cuesta nada.

como crear un inventario en visual basic 6.0
Introducción El propósito de este tutorial es el de proveernos de las bases iniciales para elaborar un sencillo sistema de inventario el cual permitirá realizar las transacciones que un sistema de inventario requiere, es decir procesar las entradas y las salidas de un producto determinado para poder saber – en cualquier momento- con certeza cuántas unidades del producto tenemos en existencia. Este simple modelo podremos adecuarlo a nuestras necesidades particulares y hacerlo tan completo como sea necesario, de tal manera que podamos administrar y controlar nuestra valiosísima colección de discos, libros, música, películas, etc. Para este ejercicio crearemos una base de datos llamada Inventario y dentro de ella tendremos tres tablas llamadas: Productos, Entradas y Salidas. Con los tipos de datos que se muestran a continuación. Tabla1: Productos Nombre del campo Tipo de datos Nodeparte Long Descripcion Texto Costo Currency Cantidadminima Long Tabla2: Entradas Nombre del campo Tipo de datos Nodeentrada Long Fecha Date/Time Nodeparte Long Descripcion Text Cantidad Long Costo Currency Tabla3: Salidas Nombre del campo Tipo de datos Nodesalida Long Fecha Date/Time Nodeparte Long Descripcion Text Cantidad Long Costo Currency

En el tutorial “Cómo crear una base de datos en Access con Visual Basic” publicado en la página: www.abcdatos.com/tutoriales/tutorial/z6124.html se las hallan instrucciones detalladas sobre cómo crear las tablas, sin embargo haremos un repaso breve. Inicio del Proyecto a) Crea una carpeta que será exclusiva para el ejercicio que se llamará: “inventario” para guardar todos los componentes del proyecto. Inicio de Visual Basic a) Haz clic en el botón Inicio, señala Todos los programas. b) Señala Microsoft Visual Studio 6.0, y haz clic en Microsoft Visual Basic 6.0. c) Crea un proyecto EXE estándar y guárdalo como inventario en la carpeta del mismo nombre. d) Por el momento no haremos nada con el formulario inicial.

Creación de la base de datos a) Haz clic en el botón Complementos de la barra de herramientas. b) Haz clic en Administrador visual de datos…

c) Y se abrirá el Administrador visual de datos (VisData (Visual Data Manager)). d) Haz clic en Archivo, Nuevo…, Microsoft Access, MDB de la versión 7.0…

e) En la caja Seleccione la base de datos de Microsoft Access que desea crear, en Guardar en, busca y selecciona la misma carpeta –creada anteriormente- en donde se guardará el proyecto, en Nombre: escribe un nombre que identifique la base de datos (usualmente el mismo nombre de la carpeta) y haz clic en el botón Guardar.

f) Ahora aparece nuevamente el Administrador visual de datos listo para empezar a trabajar.

Creación de las tablas de la base de datos a) Para este ejercicio crearemos tres tablas (ver página 1). Haz clic con el botón derecho del ratón dentro de la Ventana de base de datos y haz clic en Nueva tabla.

b) En la caja Estructura de tabla, Nombre de la tabla: escribe el nombre de la tabla, para el ejercicio la tabla se llamará productos, y haz clic en el botón Agregar campo.

c) En la caja Agregar campo, Nombre: escribe el nombre del primer campo de la tabla que estamos creando, para el ejercicio agregaremos cuatro campos, a saber: nodeparte, descripción, costo y cantidadminima.

d) En Tipo: selecciona el tipo de datos que contendrá el campo, en nuestro caso serán: - campo: nodeparte, tipo de datos: Long, tamaño: 4 - campo: descripcion, tipo de datos: Text, tamaño: 50 - campo: costo, tipo de datos: Currency, tamaño: 8 - campo: cantidadminima, tipo de datos: Long, tamaño: 4 e) En Tamaño: selecciona la cantidad de caracteres (incluyendo espacios) que tendrá el campo (ver arriba) y haz clic en Aceptar. f) Para agregar los otros campos de la tabla, nuevamente haz clic en el botón Agregar campo y repite los pasos desde el punto “c)” (Nombre, Tipo y Tamaño) para cada campo que tendrá la tabla.

g) Al terminar de crear los campos, hacemos clic en el botón Agregar Índice y en la ventana Agregar índice to productos agregaremos como índice el campo nodeparte haciéndole doble clic en la caja Campos disponibles y escribiendo en la caja de texto Nombre: nodeparteindice. Y haz clic en Aceptar. Como se ve abajo.

h) Cuando hayas agregado los campos de la tabla haz clic en el botón Generar la tabla.

i) Y la tabla la podrás ver en el Administrador visual de datos (VisData).

i) Repite los pasos –desde el punto “a)” para crear dos tablas más con los siguientes campos: Tabla2: Entradas Nombre del campo Tipo de datos Nodeentrada Long Fecha Date/Time Nodeparte Long Descripcion Text Cantidad Long Costo Currency Tabla3: Salidas Nombre del campo Tipo de datos Nodesalida Long Fecha Date/Time Nodeparte Long Descripcion Text Cantidad Long Costo Currency

Haz doble clic en la tabla que acabas de crear (productos) para mostrar la ventana Dynaset: productos, haz clic en el botón Agregar para introducir el siguiente registro: Número de parte: 10, Descripción pluma, Costo 12.50, Mínimo 20 y haz clic en Actualizar para agregarlo a la tabla productos de la base de datos inventario.

Introduce ahora los registros: No de parte Descripción Costo Mínimo 20 LAPIZ 5.75 40 30 BORRADOR 10.15 60

Creando los formularios Formulario de Inicio Crearemos un formulario que nos servirá de pantalla de inicio y contendrá el menú principal.

Así que entonces crea el formulario de inicio, que para iniciar en el centro de la pantalla debes modificar su propiedad StartUpPosition a 2-CenterScreen, modifica su propiedad Caption a Sistema de Inventario, crea el menú con las opciones Productos, Entradas, Salidas, Inventario y Salir. Obviamente crearemos cinco formularios en total que llamaremos modificando su propiedad (Nombre): frminicio, frmproductos, frmentradas, frmsalidas y frminventario. El código del menú que nos permitirá ir de un formulario a otro y salir del programa es: Private Sub productos_Click() frminicio.Hide frmproductos.Show End Sub

Formulario Los Productos En el formulario coloca cuatro etiquetas, cuatro cajas de texto, dos controles Data, un MSFlexGrid y cuatro botones como se ve a continuación.

Creando la conexión con la base de datos y la tabla 1. Conectando los controles Data a) Selecciona cada uno de los controles Data y modifica sus propiedades como sigue: b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (inventario) en donde se halla la tabla que vamos a conectar. c) RecordSource: selecciona el nombre de la tabla (productos) cuyos campos se mostrarán en el formulario. 2. Conectando las cajas de texto a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue: b) DataSource: selecciona Data1. c) DataField: selecciona el nombre del campo de la tabla –que corresponda con la etiqueta - que se mostrará en la caja de texto. d) Repite los pasos con cada caja de texto del formulario. 3. Conectando el MSFlexGrid. a) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 5, cambia su propiedad Rows a 3. Corre el programa para comprobar que las conexiones se realizaron correctamente y que se pueden ver los registros en las cajas de texto correspondientes y en el MSFlexGrid. Codificando Códigos del formulario Productos: Private Sub Form_Load() Me.Data1.Refresh For t = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.FixedAlignment(t) = 4 Next t MSFlexGrid1.ForeColor = &H40C0& MSFlexGrid1.ColWidth(0) = 350 MSFlexGrid1.ColWidth(1) = 1100 MSFlexGrid1.ColWidth(2) = 1500 MSFlexGrid1.ColWidth(3) = 900 MSFlexGrid1.ColWidth(4) = 1500

Me.Text1.Enabled = False End Sub Para centrar el encabezado de las columnas, determinar la anchura de las columnas y usar texto café en el MSFlexGrid, deshabilitar la caja de texto1 ya que este campo no será capturado ni editable por el usuario. Private Sub Form_Activate() If Data1.Recordset.BOF And Data1.Recordset.EOF Then

If MsgBox("No hay Registros en la Base de Datos" + Chr(13) + "Vamos a Introducir el Primer

Registro", vbExclamation + vbOKOnly, "Aviso Importante"

= vbOK Then

Data2.RecordSource = "select max(nodeparte) as losproductos from productos" Data2.Refresh Data1.Recordset.AddNew If IsNull(Data2.Recordset!losproductos) Then Text1 = 1 Text1.Enabled = False Text2.SetFocus Text3 = "" Text4 = "" Else Text1 = Data2.Recordset!losproductos + 1 Text1.Enabled = False Text2.SetFocus Text3 = "" Text4 = "" MSFlexGrid1.Row = 1 End If End If End If Dim w As Integer MSFlexGrid1.Row = 0 For w = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = w MSFlexGrid1.CellFontBold = True MSFlexGrid1.CellForeColor = vbBlue Next w MSFlexGrid1.Row = 0 MSFlexGrid1.Col = 0 End Sub Para poner en negritas y color azul el título de las columnas del MSFlexGrid. Código del menú Archivo, Volver al Menú: Private Sub volveralmenu_Click() frmproductos.Hide frminicio.Show End Sub Para volver al menú principal Código del botón Agregar Producto: Private Sub cmdagregarreg_Click() On Error GoTo Err_cmdagregarreg_Click Me.Data1.Refresh Me.Data2.RecordSource = "select max(nodeparte) as losproductos from productos"

Me.Data2.Refresh Me.Data1.Recordset.AddNew Me.MSFlexGrid1.Row = 0 If IsNull(Data2.Recordset!losproductos) Then Me.Text1 = 1 Me.Text1.Enabled = False Me.Text2.SetFocus Else Me.Text1 = Data2.Recordset!losproductos + 1 Me.Text1.Enabled = False Me.Text2.SetFocus End If Exit_cmdagregarreg_Click: Exit Sub Err_cmdagregarreg_Click: MsgBox "Err.Description" Resume Exit_cmdagregarreg_Click End Sub Para mediante que el data2 obtener el número de registro o producto más alto y agregarle una unidad, de manera que este número de producto no se repita y se mostrará automáticamente, el usuario iniciará su captura de datos en la caja de texto2. Código del botón Guardar Producto: Private Sub cmdguardarreg_Click() If Text2 = "" Then MsgBox "Por favor Introduce la Descripción", vbOKOnly, "Alta de Productos" Text2.SetFocus Exit Sub End If If Text3 = "" Then MsgBox "Por favor Introduce el Costo", vbOKOnly, "Alta de Productos" Text3.SetFocus Exit Sub End If If Text4 = "" Then MsgBox "Por favor Introduce la Cantidad Mínima", vbOKOnly, "Alta de Productos" Text4.SetFocus Exit Sub End If Dim z As Long z = Text1 Data1.UpdateRecord Data1.Refresh MSFlexGrid1.Refresh MsgBox "El Producto Número: " & z & Chr(13) + "Se Guardó en la Base de Datos" + Chr(13) + "Con Todos los Datos Completos", vbInformation, "Alta de Productos"

End Sub Para guardar el registro en la base de datos y notificar al usuario en caso de no completar un campo. Código del botón Buscar Producto: Private Sub cmdbuscarreg_Click()

Dim g As Integer

g = Val(InputBox("Introduce el Número del Producto que Buscas", "Búsqueda de Productos"

)

Data1.Recordset.FindFirst "nodeparte=" & g If Data1.Recordset.NoMatch Then MsgBox "El Producto Número: " & g & " No está en la Base de Datos", vbExclamation, "Búsqueda de Productos" End If End Sub Para realizar búsquedas de registros y notificar al usuario si no se halla en la base de datos. Código del botón Eliminar Producto: Private Sub cmdeliminarreg_Click() If Data1.Recordset.EOF = False And Data1.Recordset.BOF = False Then

If MsgBox("¿Estás Seguro de Eliminar el Producto Número: " & Text1 & "?", vbCritical +

vbYesNo, "Eliminación de Productos"

= vbYes Then

Data1.Recordset.Delete Data1.Refresh MSFlexGrid1.Refresh MsgBox "Muy Bien, Eliminaste el Producto", vbExclamation, "Eliminación de Productos" Else MsgBox "No se Eliminó el Producto Número: " & Text1, vbExclamation, "Eliminación de Productos" Text1 = "" Text2 = "'" Text3 = "'" Text4 = "" End If End If End Sub Para eliminar registros y notificar al usuario. Código de la caja de texto1 (Número de parte): Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Para avanzar con Enter a la siguiente caja de texto Código de la caja de texto2 (Descripción): Private Sub Text2_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then Text3.SetFocus End If End Sub Para introducir sólo mayúsculas y avanzar a la siguiente caja de texto con Enter. Código de la caja de texto3 (Costo): Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text4.SetFocus End If End Sub Para avanzar con Enter a la siguiente caja de texto Código de la caja de texto4 (Cantidad Mínima): Private Sub Text4_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then Me.cmdguardarreg.SetFocus End If End Sub Para avanzar con Enter al botón Guardar Producto.

Formulario Entradas de los Productos En el formulario coloca seis etiquetas, seis cajas de texto, dos controles Data, un MSFlexGrid y cuatro botones como se ve a continuación.

1. Conectando los controles Data a) Selecciona cada uno de los controles Data y modifica sus propiedades como sigue: b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (inventario) en donde se halla la tabla que vamos a conectar. c) RecordSource: selecciona el nombre de la tabla (entradas) cuyos campos se mostrarán en el formulario. 2. Conectando las cajas de texto a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue: b) DataSource: selecciona Data1. c) DataField: selecciona el nombre del campo de la tabla –que corresponda con la etiqueta - que se mostrará en la caja de texto. d) Repite los pasos con cada caja de texto del formulario.

3. Conectando el MSFlexGrid. a) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 7, cambia su propiedad Rows a 3.

Codificando Código del formulario Entradas: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 350 MSFlexGrid1.ColWidth(1) = 1000 MSFlexGrid1.ColWidth(2) = 1100 MSFlexGrid1.ColWidth(3) = 1000 MSFlexGrid1.ColWidth(4) = 1550 MSFlexGrid1.ColWidth(5) = 800 MSFlexGrid1.ColWidth(6) = 800 Text1.Enabled = False End Sub Para determinar la anchura de las columnas del MSFlexGrid y deshabilitar la caja de texto1 ya que este campo no será capturado ni editable por el usuario. Código del menú Archivo, Volver al Menú: Private Sub volveralmenu_Click() frmentradas.Hide frminicio.Show End Sub Para volver al menú principal Código del botón Agregar Entrada: Private Sub Command1_Click() Data2.RecordSource = "select max(nodeentrada) as lasentradas from entradas" Data2.Refresh Data1.Recordset.AddNew If IsNull(Data2.Recordset!lasentradas) Then Text1 = 1 Else Text1 = Data2.Recordset!lasentradas + 1 End If Text1.Enabled = False Text2.SetFocus

Text3 = "" Text4 = "" Text5 = "" Text6 = "" End Sub Para mediante el data2 obtener el número de registro o producto más alto y agregarle una unidad, de manera que este número se mostrará automáticamente, el usuario iniciará su captura de datos en la caja de texto2.

Código del botón Guardar Entrada: Private Sub Command2_Click() If Text2 = "" Then MsgBox "Por Favor Introduce la Fecha", , "Aviso Importante" Text2.SetFocus Exit Sub End If If Text3 = "" Then MsgBox "Por Favor Introduce el Número de Parte", , "Aviso Importante" Text3.SetFocus Exit Sub End If If Text4 = "" Then MsgBox "Por Favor Introduce la Descripción", , "Aviso Importante" Text4.SetFocus Exit Sub End If If Text5 = "" Then MsgBox "Por Favor Introduce la Cantidad", , "Aviso Importante" Text5.SetFocus Exit Sub End If If Text6 = "" Then MsgBox "Por Favor Introduce el Costo", , "Aviso Importante" Text6.SetFocus Exit Sub End If Dim x As Integer x = Val(Text3)

frmproductos.Data1.Recordset.FindFirst "nodeparte=" & x If frmproductos.Data1.Recordset.NoMatch Then MsgBox "El Producto Número: " & x & " No está en la Base de Datos", vbCritical, "Agregando Entradas" Text3.SetFocus Exit Sub End If

Dim e As Long e = Val(Text1) Data1.UpdateRecord Data1.Refresh MSFlexGrid1.Refresh MsgBox "La Entrada Número: " & e & " se Guardó en la Base de Datos", vbExclamation, "Agregando Entradas" End Sub Para guardar el registro en la base de datos y notificar al usuario cuando un número de parte no se halle en la base de datos y cuando campo no sea llenado. Código del botón Buscar Entrada: Private Sub Command3_Click()

Dim j As Integer

j = Val(InputBox("Introduce el Número de la Entrada que Buscas", "Búsqueda de Entradas"

)

Data1.Recordset.FindFirst "nodeentrada=" & j If Data1.Recordset.NoMatch Then MsgBox "La Entrada Número: " & j & " No está en la Base de Datos", vbExclamation, "Búsqueda de Entradas" End If End Sub Para realizar búsquedas de registros y notificar al usuario si no se halla en la base de datos. Código del botón Eliminar Entrada: Private Sub Command4_Click()

If MsgBox("¿Estás Seguro de Eliminar la Entrada Número: " & Text1 & "?", vbCritical +

vbYesNo, "Eliminación de Entradas"

= vbYes Then

Data1.Recordset.Delete Data1.Refresh MSFlexGrid1.Refresh MsgBox "Muy Bien, Eliminaste la Entrada", vbExclamation, "Eliminación de Entradas" Else MsgBox "No se Eliminó la Entrada Número: " & Text1, vbExclamation, "Eliminación de Entradas" End If End Sub Para eliminar registros y notificar al usuario. Código de la caja de texto4 (Descripción): Private Sub Text4_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then Text5.SetFocus End If End Sub Para introducir sólo mayúsculas y avanzar a la siguiente caja de texto con Enter. Formulario Salidas de los Productos En el formulario coloca seis etiquetas, seis cajas de texto, dos controles Data, un MSFlexGrid y cuatro botones como se ve a continuación.

1. Conectando los controles Data a) Selecciona cada uno de los controles Data y modifica sus propiedades como sigue: b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (inventario) en donde se halla la tabla que vamos a conectar. c) RecordSource: selecciona el nombre de la tabla (salidas) cuyos campos se mostrarán en el formulario. 2. Conectando las cajas de texto a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue: b) DataSource: selecciona Data1. c) DataField: selecciona el nombre del campo de la tabla –que corresponda con la etiqueta - que se mostrará en la caja de texto. d) Repite los pasos con cada caja de texto del formulario. 3. Conectando el MSFlexGrid.

a) Selecciona el objeto MSFlexGrid, en su propiedad DataSource selecciona Data1, modifica su propiedad Cols a 7, cambia su propiedad Rows a 3.

Codificando Código del formulario Salidas: Private Sub Form_Load() MSFlexGrid1.ColWidth(0) = 350 MSFlexGrid1.ColWidth(1) = 1000 MSFlexGrid1.ColWidth(2) = 1100 MSFlexGrid1.ColWidth(3) = 1000 MSFlexGrid1.ColWidth(4) = 1550 MSFlexGrid1.ColWidth(5) = 800 MSFlexGrid1.ColWidth(6) = 800 Text1.Enabled = False End Sub Para determinar la anchura de las columnas del MSFlexGrid y deshabilitar la caja de texto1 ya que este campo no será capturado ni editable por el usuario. Código del menú Archivo, Volver al Menú: Private Sub volveralmenu_Click() frmsalidas.Hide frminicio.Show End Sub Para volver al menú principal Código del botón Agregar Salida: Private Sub Command1_Click() Data2.RecordSource = "select max(nodesalida) as lassalidas from salidas" Data2.Refresh Data1.Recordset.AddNew If IsNull(Data2.Recordset!lassalidas) Then Text1 = 1 Else Text1 = Data2.Recordset!lassalidas + 1 End If Text1.Enabled = False Text2.SetFocus Text3 = "" Text4 = "" Text5 = "" Text6 = ""End Sub

Para mediante el data2 obtener el número de registro o producto más alto y agregarle una unidad, de manera que este número se mostrará automáticamente, el usuario iniciará su captura de datos en la caja de texto2.

Código del botón Guardar Salida: Private Sub Command2_Click() If Text2 = "" Then MsgBox "Por Favor Introduce la Fecha", , "Aviso Importante" Text2.SetFocus Exit Sub End If If Text3 = "" Then MsgBox "Por Favor Introduce el Número de Parte", , "Aviso Importante" Text3.SetFocus Exit Sub End If If Text4 = "" Then MsgBox "Por Favor Introduce la Descripción", , "Aviso Importante" Text4.SetFocus Exit Sub End If If Text5 = "" Then MsgBox "Por Favor Introduce la Cantidad", , "Aviso Importante" Text5.SetFocus Exit Sub End If If Text6 = "" Then MsgBox "Por Favor Introduce el Costo", , "Aviso Importante" Text6.SetFocus Exit Sub End If Dim w As Long w = Val(Text1) Data1.UpdateRecord Data1.Refresh MSFlexGrid1.Refresh MsgBox "La Salida Número: " & w & " se Guardó en la Base de Datos", vbExclamation,

"Agregando Salidas" End Sub Para guardar el registro en la base de datos y notificar al usuario cuando un campo no sea llenado.

Código del botón Buscar Salida: Private Sub Command3_Click()

Dim c As Integer

c = Val(InputBox("Introduce el Número de la Salida que Buscas", "Búsqueda de Salidas"

)

Data1.Recordset.FindFirst "nodesalida=" & c If Data1.Recordset.NoMatch Then MsgBox "La Salida Número: " & c & " No está en la Base de Datos", vbExclamation, "Búsqueda de Salidas" End If End Sub Para realizar búsquedas de registros y notificar al usuario si no se halla en la base de datos. Código del botón Eliminar Salida: Private Sub Command4_Click()

If MsgBox("¿Estás Seguro de Eliminar la Salida Número: " & Text1 & "?", vbCritical + vbYesNo,

"Eliminación de Salidas"

= vbYes Then

Data1.Recordset.Delete Data1.Refresh MSFlexGrid1.Refresh MsgBox "Muy Bien, Eliminaste la Salida", vbExclamation, "Eliminación de Salidas" Else MsgBox "No se Eliminó la Salida Número: " & Text1, vbExclamation, "Eliminación de Salidas" End If End Sub Para eliminar registros y notificar al usuario. Código de la caja de texto4 (Descripción): Private Sub Text4_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then Text5.SetFocus End If End Sub Para introducir sólo mayúsculas y avanzar a la siguiente caja de texto con Enter.

Formulario Inventario de los Productos En el formulario coloca seis etiquetas, seis cajas de texto, tres controles Data y un botón como se ve a continuación.

1. Conectando los controles Data a) Selecciona cada uno de los controles Data y modifica sus propiedades como sigue: b) DatabaseName: localiza la carpeta del proyecto y selecciona la base de datos (inventario) en donde se halla la tabla que vamos a conectar. c) RecordSource: cada control data se conectará a una tabla diferente, selecciona el nombre de la tabla (productos, entradas y salidas). d) Modifica la propiedad Visible de los controles data a False. 2. Conectando las cajas de texto

a) Selecciona una de las cajas de texto y modifica sus propiedades como sigue: b) DataSource: selecciona Data1. c) DataField: selecciona el nombre del campo de la tabla –que corresponda con la etiqueta - que se mostrará en la caja de texto. d) Únicamente se conectarán las tres primeras cajas de texto al control Data1. Codificando Código del formulario Inventario de los Productos: Private Sub Form_Load() Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False End Sub Para deshabilitar las cajas de texto ya que los campos serán sólo para consulta. Código del menú Archivo, Volver al Menú: Private Sub volveralmenu_Click() frminventario.Hide frminicio.Show End Sub Para volver al menú principal Código del botón Buscar Producto: Private Sub Command1_Click()

Dim t As Integer

t = Val(InputBox("Introduce el Número del Producto que Buscas", "Búsqueda de Productos"

)

Data1.Recordset.FindFirst "nodeparte=" & t Data2.RecordSource = "select sum(cantidad) as totalentradas from entradas where nodeparte=" & Text1 Data2.Refresh If IsNull(Data2.Recordset!totalentradas) Then MsgBox "El Producto Número: " & t & " No Tiene Entradas", vbCritical, "Aviso Importante" Text4 = "" Exit Sub Else Text4 = Data2.Recordset!totalentradas End If Data3.RecordSource = "select sum(cantidad) as totalsalidas from salidas where nodeparte=" & Text1 Data3.Refresh If IsNull(Data3.Recordset!totalsalidas) Then MsgBox "El Producto Número: " & t & " No Tiene Salidas", vbCritical, "Aviso Importante" Text5 = "" Exit Sub Else Text5 = Data3.Recordset!totalsalidas End If Text6 = Text4 - Text5 If Data1.Recordset.NoMatch Then MsgBox "El Producto Número: " & t & " No está en la Base de Datos", vbExclamation, "Búsqueda de Productos" End IfEnd Sub El control data1 mostrará los datos del registro en las cajas de texto uno a tres, el control data2 mostrará la suma de las entradas en la caja de texto cuatro, el control data3 mostrará la suma de las salidas en la caja de texto cinco y la caja de texto 6 mostrará el inventario. En el tutorial “Cómo crear una base de datos en Access con Visual Basic” publicado en la página: www.abcdatos.com/tutoriales/tutorial/z6124.html se hallan instrucciones detalladas sobre cómo crear los reportes que sean necesarios. Espero que este tutorial sea de interés y ayuda para muchos. Tutorial creado por: Lic. Jorge Alvarez S. http://www.taringa.net/posts/ciencia-educacion/10681905/como-crear-un-inventario-en-visualbasic-6_0.html

[Megapost] Te enseño visual basic desde cero [parte1]
Hola, en este nuevo post, vas a aprender a programar en Visual Basic 6.0 desde cero. No pretendo dar un curso, sino introducir a aquellas personas que no saben un cuerno a dar sus primeros pasos en este programa y en la programacion. Esta aplicacion esta orientada a objetos de GUI (Grafic User Interface/Interfaz Grafica de usuario; término al que refiere a la interaccion del usuario con el programa mediante un entorno grafico, por ejemplo: botones, casillas de texto, etc. ). (que estan aprendiendo!! Dios!) Este programa compilador es epecialmente para windows, y te ayudara a entrar en el mundo de la programacion, si tenes paciencia y sabes usar "Bien" (ese bien refiere a que sabes por lo menos que es el registro del windows) la PC lo vas a poder agarrar facil. No desesperes, siempre hay ayuda en internet (foros de programación, comunidades, etc) por si no sabes una cosa. Bueno, empezamos! ---{barra separadora de emergencia! } --Veremos el entorno de visual basic 6.0

barra de Menú: Como en casi todas las ventanas tenes esta hermosa barra de menú area de trabajo: es en el cual vas a poder ubicar botones, cuadros de

textos, imagenes, listbox, etc barra controles: esta barra hay controles antes mencionados: listbox, cuadro de texto, etc. pagina de propiedades: en esta barra vas a poder cambiar las propiedades de los controles. vista de proyectos: en esta parte se verán los componentes en la cual se veran los formularios (ventanas de interface), modulos y demas cosas que iran aprendiendo. ---{barra separadora de emergencia! } --veremos algunas propiedades que tienen los objetos (controles): Commandbutton: boton que permite hacer tareas. imagebox: cuadro de imagen (se podrán poner imagenesen cuadros) label: crea un lugar para escribir (pero en el programa no se modificaran manualmente). textbox: crea un cruadro de texto en el que el usuario podrá escribir. frame: cuadros especialmente diseñados para agrupar elementos antes descriptos y despues. checkbox y optionbutton: casilla de seleccion y cuadro de opción, casi funcionan igual que en paginas de internet. combobox: cuadro con multipes opciones que podes agregar listbox: cuadro de lista de varias ocpciones

timmer: contador regresivo, podes hacer que , por ejemplo, aparezca un boton despues de x milisegundos (sí expresado en milisegundos) esos son los mas básicos. ---{barra separadora de emergencia! } --Ahora que los emocioné tánto: Vamos a hacer un programa sencillo en el cual se explica el procedimiento a la creacion del programa. Objetos necesarios: 1- 1 Textbox 2- 3 commandbutton Video:

------------------------------------despues de ver el video, ponen el siguiente codigo en donde corresponde:
Private Sub Command1_CLick() Text1.BackColor = "vbRed"

Text1.Text = "Rojo" End Sub Private Sub Command2_CLick() Text1.BackColor = "vbGreen" Text1.Text = "Verde" End Sub Private Sub Command3_CLick() Text1.BackColor = "vbBlue" Text1.Text = "Azul" End Sub

---{barra separadora de emergencia! } --Bueno, para mañana el segundo que ya iremos aprendiendo un poco mas, agregaré IF (Que es para comprobacion). Esto lo hice yo en un %100, sin sacar funentes de ningun lado, asi que no lo van a encontrar en nigun lado. Gracias! Por Favor Un comentario? Segunda Parte: http://www.taringa.net/posts/hazlo-tumismo/13690561/_Megapost_-Te-enseno-Visual-Basic-6_0-desde-cero_parte2_.html
http://www.taringa.net/posts/hazlo-tu-mismo/13686243/_Megapost_-Te-enseno-visual-basicdesde-cero-_parte1_.html

[Megapost] Te enseño Visual Basic 6.0 desde cero [parte2]

Hola!, esta es la segunda parte de Te enseño Visual Basic desde Cero. Te perdiste la primera parte? http://www.taringa.net/posts/hazlo-tu-mismo/13686243/_Megapost_-Teenseno-visual-basic-desde-cero-_parte1_.html

Bueno, ya aprendieron a como utilizar el entorno de Vb 6.0, e hicieron un programa sencillo como para saber de que se trata. También aprendieron a como guardar un proyecto y compilar una vez terminado. Paso a explicar el codigo que utilizamos en la vez anterior. si no recuerdan el codigo lo pongo acá:
Private Sub Command1_CLick() Text1.BackColor = "vbRed" Text1.Text = "Rojo" End Sub Private Sub Command2_CLick() Text1.BackColor = "vbGreen" Text1.Text = "Verde" End Sub Private Sub Command3_CLick() Text1.BackColor = "vbBlue" Text1.Text = "Azul"

End Sub

Private Sub: esto es para iniciar una indicación a un objeto (ya decimos control), por ejemplo ayer trabajamos con botones que por defecto tiene CommandX (X es un numero cualquiera). Despues del _ (guión bajo) indica cuando se va a iniciar la orden (hay varias: Click=cuando 1 haces click, DLBClick= cuando haces 2 clicks; entre otras que se iran agregando con otros controles) y al final termina con End Sub. Text1.BackColor= : Le está indicando al cuadro de texto de que color debe tener su fondo. Text1.Text = "Azul" : indica al cuadro de texto que debe decir en su interior, entre las comillas se puede colocar lo que ustedes deseen; por ejemplo: si en vez de azul ponen "hola Juan" cuando clickeen el boton va a decir "hola Juan". Prueben es cuestion de interactuar con el programa!. Bueno, con esto finaliza el tema.

Ahora veremos que es If: If es una orden de comprobación, y la sintaxis es así
If *control*.*forma* = *variable* then lo que va hacer si esta asi else lo que va hacer si no es asi end if

es medio confuso pero veremos un claro ejemplo:
If Text1.Text = "Taringa!" then

Text1.Text = "max_pc" else Text1.Text = "Taringa!" end if

Explicación: ordena a que se fije si en el cuadro de texto dice Taringa! y, si es así, que ponga max_pc en el cuadro de texto. Si no es así, que ponga Taringa! en el cuadro de texto.

Ejercicio Nº 2 Para ello necesitan: * 1 Commandbutton * 1 Textbox Video

------------------------------------------------------------------Despues del video pongan el siguiente codigo en el Command1
If text1.text = "Taringa!" then text1.text = "Estoy aprendiendo Visual Basic desde cero" msgbox "Ya logré hacer mi segundo programa", vbinformation, "Ok!" else text1.text = "Taringa!" end If

Espero que hayan podido aprender un poco mas. Cualquier duda manden un MP, estoy dispuesto a ayudar! Como puse en el otro post, esto lo hice yo en un %100 sin sacar de otro lado, asi que no lo encontraras en otro lugar! Hasta Mañana! Comentario Por Favor?

[Megapost] Te enseño Visual Básic 6.0 desde cero [parte5]
Hola!, Esta es la quinta ultima parte de Te enseño vb desde cero.

Bueno, como prometí (estube con un par de problemas, pero ya está), vamos a hacer un editor de texto al estilo de bloc de notas o notepad

Ejercicio Nº5: realizacion de un editor de textos. elementos necesarios: 1 Textbox 7 commandbutton 3 optionbutton 1 common dialog despues del video colocar el siguiente codigo.
Private Sub Command1_Click() Text1.FontBold = Not Text1.FontBold End Sub Private Sub Command2_Click() Text1.FontItalic = Not Text1.FontItalic End Sub Private Sub Command3_Click() Text1.FontUnderline = Not Text1.FontUnderline End Sub Private Sub Command4_Click() Dim fr As String fr = FreeFile

With CommonDialog1 .Filter = "Texto (*.txt)|*.txt|archivos por lotes (*.bat)|*.bat" .ShowSave If .FileName <> "" Then Open .FileName For Output As fr Print #fr, Text1.Text Close fr End If End With End Sub Private Sub Command5_Click() Dim fr As String fr = FreeFile With CommonDialog1 .Filter = "Texto (*.txt)|*.txt|archivos por lotes (*.bat)|*.bat" .ShowOpen If .FileName <> "" Then Open .FileName For Input As fr Text1.Text = Input(LOF(1), #fr) Close fr End If End With End Sub Private Sub Command6_Click() Text1.Font = "Arial" End Sub Private Sub Command7_Click() Text1.Font = "Comic Sans MS" End Sub Private Sub Form_Load() Me.Caption = "Editor de texto O.o" Text1.Font = "Arial" End Sub Private Sub Option1_Click() Text1.FontSize = 10 End Sub Private Sub Option2_Click() Text1.FontSize = 16 End Sub Private Sub Option3_Click() Text1.FontSize = 25 End Sub

Private Sub Option4_Click() Text1.FontSize = 32 End Sub

Yapa! Haremos un keygen (es solo para aprender un poco mas, no estoy incentivando a la pirateria y demas cosas) consiste en agregar valores diferentes y que los muestre aleatoriamente en un textbox. Elementos Necesarios: 1 textbox 1 commandbutton codigo (colocar en el commandbutton):
text1.text = int(rnd()*7) select case text1.text 'pueden utilizar cuantos "case" nesesiten siguiendo la numeración case 0 text1.text = "clave1" case 1 text1.text = "clave2" case 2 text1.text = "clave3" case 3 text1.text = "clave4" case 4 text1.text = "clave5" case 5 text1.text = "clave6" end select

Bueno, con esto finaliza Te enseño vb6.0 desde cero, con esto ya les doy

pata (inicio) para que empiezen haciendo sus programas. cualquier duda, Manden MP, busquen en la web, o pidan ayuda a alguien que sepa de esto. Otro consejo: planteense un programa que ayude en lo que seria en la vida cotidiana de la pc; ejemplo: programa que les abra facebook, les coloque el usuario y la contraseña, por asi decirlo. si trabajas en una empresa y te es engorroso colocar en cada celda (exel) datos que pones todos los dias, esto te ayuda demasiado en esas cosas. espero que les haya gustado, y Hasta la proxima!

Aprenda Visual Basic 6.0
Aprenda Visual Basic 6.0 como si estuviera en primero Capítulo 1: Introducción página 1 1. INTRODUCCIÓN Visual Basic 6.0 es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de PCs, tanto expertos como novatos. En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje. El precio que hay que pagar por utilizar Visual Basic 6.0 es una menor velocidad o eficiencia en las aplicaciones. Visual Basic 6.0 es un lenguaje de programación visual, también llamado lenguaje de 4ª generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla. Visual Basic 6.0 es también un programa basado en objetos, aunque no orientado a objetos como C++ o Java. La diferencia está en que Visual Basic 6.0 utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++. En este primer capítulo se presentarán las características generales de Visual Basic 6.0, junto con algunos ejemplos sencillos que den idea de la potencia del lenguaje y del modo en que se utiliza. 1.1 PROGRAMAS SECUENCIALES, INTERACTIVOS Y ORIENTADOS A EVENTOS Existen distintos tipos de programas. En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipo batch) Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados. De ordinario, mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. A este tipo de programas se les llama también programas basados u orientados a procedimientos o a algoritmos (procedural languages). Este tipo de programas siguen utilizándose ampliamente en la actualidad, pero la difusión de los PCs ha puesto de actualidad otros tipos de programación. Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, bien para suministrar datos, bien para indicar al programa lo que debe hacer por medio de menús. Los programas interactivos limitan y orientan la acción del usuario. Un ejemplo de programa interactivo podría ser Matlab. Por su parte los programas orientados a eventos son los programas típicos de Windows, tales como Netscape, Word, Excel y PowerPoint. Cuando uno de estos programas ha arrancado, lo único que hace es quedarse a la espera de las acciones del usuario, que en este caso son llamadas eventos. El usuario dice si quiere abrir y modificar un fichero existente, o bien comenzar a crear un fichero

desde el principio. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. Las acciones que el usuario puede realizar en un momento determinado son variadísimas, y exigen un tipo especial de programación: la programación orientada a eventos. Este tipo de programación es sensiblemente más complicada que la secuencial y la interactiva, pero Visual Basic 6.0 la hace especialmente sencilla y agradable. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 2 1.2 PROGRAMAS PARA EL ENTORNO WINDOWS Visual Basic 6.0 está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entorno informático: ventanas, botones, cajas de diálogo y de texto, botones de opción y de selección, barras de desplazamiento, gráficos, menús, etc. Prácticamente todos los elementos de interacción con el usuario de los que dispone Windows 95/98/NT pueden ser programados en Visual Basic 6.0 de un modo muy sencillo. En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas sentencias para disponer de aplicaciones con todas las características de Windows 95/98/NT. En los siguientes apartados se introducirán algunos conceptos de este tipo de programación. 1.2.1 Modo de Diseño y Modo de Ejecución La aplicación Visual Basic de Microsoft puede trabajar de dos modos distintos: en modo de diseño y en modo de ejecución. En modo de diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos. La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre el programa (introduce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa escrito en Visual Basic 6.0, en la forma en que más adelante se verá. También hay propiedades que sólo pueden establecerse en modo de ejecución y que no son visibles en modo de diseño. Todos estos conceptos –controles, propiedades, eventos, etc.- se explican en los apartados siguientes. 1.2.2 Formularios y Controles Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de Windows 95/98/NT es un tipo de control: los botones, las cajas de diálogo y de texto, las cajas de selección desplegables, los botones de opción y de selección, las barras de desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros tipos de elementos son controles para Visual Basic 6.0. Cada control debe tener un nombre a través del cual se puede hacer referencia a él en el programa. Visual Basic 6.0 proporciona nombres por defecto que el usuario puede modificar. En el Apartado 1.2.4 se exponen algunas reglas para dar nombres a los distintos controles. En la terminología de Visual Basic 6.0 se llama formulario (form) a una ventana. Un formulario puede ser considerado como una especie de contenedor para los controles. Una aplicación puede tener varios formularios, pero un único formulario puede ser suficiente para las aplicaciones más sencillas. Los formularios deben también tener un nombre, que puede crearse siguiendo las mismas reglas que para los controles. 1.2.3 Objetos y Propiedades Los formularios y los distintos tipos de controles son entidades genéricas de las que puede haber

varios ejemplares concretos en cada programa. En programación orientada a objetos (más bien basada en objetos, habría que decir) se llama clase a estas entidades genéricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede haber Capítulo 1: Introducción página 3 varios botones, cada uno de los cuales es un objeto del tipo de control command button, que sería la clase. Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto gráfico (tamaño, color, posición en la ventana, tipo y tamaño de letra, etc.) y su forma de responder a las acciones del usuario (si está activo o no, por ejemplo). Cada propiedad tiene un nombre que viene ya definido por el lenguaje. Por lo general, las propiedades de un objeto son datos que tienen valores lógicos (True, False) o numéricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. Así pues, cada clase, tipo de objeto o control tiene su conjunto de propiedades, y cada objeto o control concreto tiene unos valores determinados para las propiedades de su clase. Casi todas las propiedades de los objetos pueden establecerse en tiempo de diseño y también -casi siempre- en tiempo de ejecución. En este segundo caso se accede a sus valores por medio de las sentencias del programa, en forma análoga a como se accede a cualquier variable en un lenguaje de programación. Para ciertas propiedades ésta es la única forma de acceder a ellas. Por supuesto Visual Basic 6.0 permite crear distintos tipos de variables, como más adelante se verá. Se puede acceder a una propiedad de un objeto por medio del nombre del objeto a que pertenece, seguido de un punto y el nombre de la propiedad, como por ejemplo optColor.objName. En el siguiente apartado se estudiarán las reglas para dar nombres a los objetos. 1.2.4 Nombres de objetos En principio cada objeto de Visual Basic 6.0 debe tener un nombre, por medio del cual se hace referencia a dicho objeto. El nombre puede ser el que el usuario desee, e incluso Visual Basic 6.0 proporciona nombres por defecto para los diversos controles. Estos nombres por defecto hacen referencia al tipo de control y van seguidos de un número que se incrementa a medida que se van introduciendo más controles de ese tipo en el formulario (por ejemplo VScroll1, para una barra de desplazamiento -scroll bar- vertical, HScroll1, para una barra horizontal, etc.). Los nombres por defecto no son adecuados porque hacen referencia al tipo de control, pero no al uso que de dicho control está haciendo el programador. Por ejemplo, si se utiliza una barra de desplazamiento para introducir una temperatura, conviene que su nombre haga referencia a la palabra temperatura, y así cuando haya que utilizar ese nombre se sabrá exactamente a qué control corresponde. Un nombre adecuado sería por ejemplo hsbTemp, donde las tres primeras letras indican que se trata de una horizontal scroll bar, y las restantes (empezando por una mayúscula) que servirá para definir una temperatura. Existe una convención ampliamente aceptada que es la siguiente: se utilizan siempre tres letras minúsculas que indican el tipo de control, seguidas por otras letras (la primera mayúscula, a modo de separación) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control. La Tabla 1.1 muestra las abreviaturas de los controles más usuales, junto con la nomenclatura inglesa de la que derivan. En este mismo capítulo se verán unos cuantos ejemplos de aplicación de estas reglas para construir nombres. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 4 Abreviatura Control Abreviatura Control

chk check box cbo combo y drop-list box cmd command button dir dir list box drv drive list box fil file list box frm form fra frame hsb horizontal scroll bar img image lbl label lin line lst list mnu menu opt option button pct pictureBox shp shape txt text edit box tmr timer vsb vertical scroll bar Tabla 1.1. Abreviaturas para los controles más usuales. 1.2.5 Eventos Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos. Son eventos típicos el clicar sobre un botón, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una caja de texto, o simplemente mover el ratón. Más adelante se verán los distintos tipos de eventos reconocidos por Windows 95/98/NT y por Visual Basic 6.0. Cada vez que se produce un evento sobre un determinado tipo de control, Visual Basic 6.0 arranca una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento click en el objeto txtBox. 1.2.6 Métodos Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. De ahí que vengan con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos. Por ejemplo, los controles gráficos tienen un método llamado Line que se encarga de dibujar líneas rectas. De la misma forma existe un método llamado Circle que dibuja circunferencias y arcos de circunferencia Es obvio que el dibujar líneas rectas o circunferencias es una tarea común para todos los programadores y que Visual Basic 6.0 da ya resuelta. 1.2.7 Proyectos y ficheros Cada aplicación que se empieza a desarrollar en Visual Basic 6.0 es un nuevo proyecto. Un proyecto comprende otras componentes más sencillas, como por ejemplo los formularios (que son las ventanas de la interface de usuario de la nueva aplicación) y los módulos (que son conjuntos de funciones y procedimientos sin interface gráfica de usuario). ¿Cómo se guarda un proyecto en el disco? Un proyecto se compone siempre de varios ficheros (al menos de dos) y hay que preocuparse de guardar cada uno de ellos en el directorio Capítulo 1: Introducción página 5 adecuado y con el nombre adecuado. Existe siempre un fichero con extensión *.vbp (Visual Basic Project) que se crea con el comando File/Save Project As. El fichero del proyecto contiene toda la información de conjunto. Además hay que crear un fichero por cada formulario y por cada módulo que tenga el proyecto. Los ficheros de los formularios se crean con File/Save Filename As teniendo

como extensión *.frm. Los ficheros de código o módulos se guardan también con el comando File/Save Filename As y tienen como extensión *.bas si se trata de un módulo estándar o *.cls si se trata de un módulo de clase (class module). Clicando en el botón Save en la barra de herramientas se actualizan todos los ficheros del proyecto. Si no se habían guardado todavía en el disco, Visual Basic 6.0 abre cajas de diálogo Save As por cada uno de los ficheros que hay que guardar. 1.3 EL ENTORNO DE PROGRAMACIÓN VISUAL BASIC 6.0 Cuando se arranca Visual Basic 6.0 aparece en la pantalla una configuración similar a la mostrada en la Figura 1.1. En ella se pueden distinguir los siguientes elementos: 1. La barra de títulos, la barra de menús y la barra de herramientas de Visual Basic 6.0 en modo Diseño (parte superior de la pantalla). 2. Caja de herramientas (toolbox) con los controles disponibles (a la izquierda de la ventana). 3. Formulario (form) en gris, en que se pueden ir situando los controles (en el centro). Está dotado de una rejilla (grid) para facilitar la alineación de los controles. 4. Ventana de proyecto, que muestra los formularios y otros módulos de programas que forman parte de la aplicación (arriba a la derecha). 5. Ventana de Propiedades, en la que se pueden ver las propiedades del objeto seleccionado o del propio formulario (en el centro a la derecha). Si esta ventana no aparece, se puede hacer visible con la tecla <F4>. 6. Ventana FormLayout, que permite determinar la forma en que se abrirá la aplicación cuando comience a ejecutarse (abajo a la derecha). Existen otras ventanas para edición de código (Code Editor) y para ver variables en tiempo de ejecución con el depurador o Debugger (ventanas Immediate, Locals y Watch). Todo este conjunto de herramientas y de ventanas es lo que se llama un entorno integrado de desarrollo o IDE (Integrated Development Environment). Construir aplicaciones con Visual Basic 6.0 es muy sencillo: basta crear los controles en el formulario con ayuda de la toolbox y del ratón, establecer sus propiedades con ayuda de la ventana de propiedades y programar el código que realice las acciones adecuadas en respuesta a los eventos o acciones que realice el usuario. A continuación, tras explicar brevemente cómo se utiliza el Help de Visual Basic, se presentan algunos ejemplos ilustrativos. Figura 1.1. Entorno de programación de Visual Basic 6.0. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 6 1.4 EL HELP DE VISUAL BASIC 6.0 El Help de Visual Basic 6.0 es de los mejores que existen. Además de que se puede buscar cualquier tipo de información con la función Index, basta seleccionar una propiedad cualquiera en la ventana de propiedades o un control cualquiera en el formulario (o el propio formulario), para que pulsando la tecla <F1> aparezca una ventana de ayuda muy completa. De cada control de muestran

las propiedades, métodos y eventos que soporta, así como ejemplos de aplicación. También se muestra información similar o relacionada. Existe además un breve pero interesante curso introductorio sobre Visual Basic 6.0 que se activa con la opción Help/Contents, seleccionando luego MSDN Contents/Visual Basic Documentation/ Visual Basic Start Page/Getting Started. 1.5 EJEMPLOS El entorno de programación de Visual Basic 6.0 ofrece muchas posibilidades de adaptación a los gustos, deseos y preferencias del usuario. Los usuarios expertos tienen siempre una forma propia de hacer las cosas, pero para los usuarios noveles conviene ofrecer unas ciertas orientaciones al respecto. Por eso, antes de realizar los ejemplos que siguen se recomienda modificar la configuración de Visual Basic 6.0 de la siguiente forma: 1. En el menú Tools elegir el comando Options; se abre un cuadro de diálogo con 6 solapas. 2. En la solapa Environment elegir “Promp to Save Changes” en “When a Program Starts” para que pregunte antes de cada ejecución si se desean guardar los cambios realizados. En la solada Editor elegir también “Require Variable Declaration” en “Code Settings” para evitar errores al teclear los nombres de las variables. 3. En la solapa Editor, en Code Settings, dar a “Tab Width” un valor de 4 y elegir la opción “Auto Indent” (para que ayude a mantener el código legible y ordenado). En Windows Settings elegir “Default to Full Module View” (para ver todo el código de un formulario en una misma ventana) y “Procedure Separator” (para que separe cada función de las demás mediante una línea horizontal). 1.5.1 Ejemplo 1.1: Sencillo programa de colores y posiciones En la Figura 1.2 se muestra el formulario y los controles de un ejemplo muy sencillo que permite mover una caja de texto por la pantalla, permitiendo a su vez representarla con cuatro colores diferentes. En la Tabla 1.2 se describen los controles utilizados, así como algunas de sus propiedades más importantes (sobre todo las que se separan de los valores por defecto). Los ficheros de este proyecto se llamarán Colores0.vbp y Colores0.frm. Figura 1.2. Formulario y controles del Ejemplo 1.1. Capítulo 1: Introducción página 7 Control Propiedad Valor Control Propiedad Valor frmColores0 Name frmColores0 optVerde Name optVerde Caption Colores Caption Verde fraColores Name fraColor fraPosicion Name fraPosicion Caption Colores Caption Posición optAzul Name optAzul optArriba Name optArriba Caption Azul Caption Arriba optRojo Name optRojo optAbajo Name optAbajo Caption Rojo Caption Abajo optAmarillo Name optAmarillo txtCaja Name txtCaja Caption Amarillo Text “” Tabla 1.2. Objetos y propiedades del ejemplo Colores0.

A continuación se muestra el código correspondiente a los procedimientos de este ejemplo. Option Explicit Private Sub Form_Load() txtCaja.Top = 0 End Sub Private Sub optArriba_Click() txtCaja.Top = 0 End Sub Private Sub optAbajo_Click() txtCaja.Top = frmColores0.ScaleHeight - txtCaja.Height End Sub Private Sub optAzul_Click() txtCaja.BackColor = vbBlue End Sub Private Sub optRojo_Click() txtCaja.BackColor = vbRed End Sub Private Sub optVerde_Click() txtCaja.BackColor = vbGreen End Sub Private Sub optAmarillo_Click() txtCaja.BackColor = vbYellow End Sub Sobre este primer programa en Visual Basic 6.0 se pueden hacer algunos comentarios: 1. El comando Option Explicit sirve para obligar a declarar todas las variables que se utilicen. Esto impide el cometer errores en los nombres de las variables (confundir masa con mesa, por ejemplo). En este ejemplo esto no tiene ninguna importancia, pero es conveniente acostumbrarse a incluir esta opción. Declarar una variable es crearla con un nombre y de un tipo determinado antes de utilizarla. 2. Cada una de las partes de código que empieza con un Private Sub y termina con un End Sub es un procedimiento, esto es, una parte de código independiente y reutilizable. El nombre de uno de estos procedimientos, por ejemplo optAzul_Click(), es típico de Visual Basic. La primera parte es el nombre de un objeto (control); después va un separador que es el carácter de subrayado (_); a continuación el nombre de un evento -click, en este caso-, y finalmente unos paréntesis entre los que irían los argumentos, en caso de que los hubiera. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 8 3. Es también interesante ver cómo se accede desde programa a la propiedad backColor de la caja de texto que se llama txtCaja: se hace utilizando el punto en la forma txtCaja.BackColor. Los colores se podrían también introducir con notación hexadecimal (comenzando con &H, seguidos por dos dígitos entre 00 y FF (es decir, entre 0 y 255 en base 10) para los tres colores fundamentales, es decir para el Red, Green y Blue (RGB), de derecha a izquierda. Aquí se han utilizado las constantes simbólicas predefinidas en Visual Basic 6.0: vbRed, vbGreen y vbBlue (ver Tabla 6.1, en la página 69). 4. Recuérdese que si se desea que el código de todos los eventos aparezca en una misma ventana hay que activar la opción Default to Full Module View en la solapa Editor del comando Tools/Options. También puede hacerse directamente en la ventana de código con uno de los botones que aparecen en la parte inferior izquierda ( ).

5. Es muy importante crear primero el control frame y después, estando seleccionado, colocar los botones de opción en su interior. No sirve hacerlo a la inversa. Visual Basic supone que todos los botones de opción que están dentro del mismo frame forman parte del mismo grupo y sólo permite que uno esté seleccionado. 1.5.2 Ejemplo 1.2: Minicalculadora elemental En este ejemplo se muestra una calculadora elemental que permite hacer las cuatro operaciones aritméticas (Figura 1.3). Los ficheros de este proyecto se pueden llamar minicalc.vbp y minicalc.frm. El usuario introduce los datos y clica sobre el botón correspondiente a la operación que desea realizar, apareciendo inmediatamente el resultado en la caja de texto de la derecha. La Tabla 1.3 muestra los objetos y las propiedades más importantes de este ejemplo. Control Propiedad Valor Control Propiedad Valor frmMinicalc Name frmMinicalc lblEqual Name lblEqual Caption Minicalculadora Caption = txtOper1 Name txtOper1 cmdSuma Name cmdSuma Text Caption + txtOper2 Name txtOper2 cmdResta Name cmdResta Text Caption txtResult Name txtResult cmdMulti Name cmdProd Text Caption * lblOp Name lblOp cmdDivi Name cmdDiv Caption Caption / Tabla 1.3. Objetos y propiedades del ejemplo Minicalculadora. A continuación se muestra el código correspondiente a los procedimientos que gestionan los eventos de este ejemplo. Option Explicit Private Sub cmdDiv_Click() txtResult.Text = Val(txtOper1.Text) / Val(txtOper2.Text) lblOp.Caption = "/" End Sub Figura 1.3. Minicalculadora elemental. Capítulo 1: Introducción página 9 Private Sub cmdProd_Click() txtResult.Text = Val(txtOper1.Text) * Val(txtOper2.Text) lblOp.Caption = "*" End Sub Private Sub cmdResta_Click() txtResult.Text = Val(txtOper1.Text) - Val(txtOper2.Text) lblOp.Caption = "-" End Sub Private Sub cmdSuma_Click() txtResult.Text = Val(txtOper1.Text) + Val(txtOper2.Text) lblOp.Caption = "+"

End Sub En este ejemplo se ha utilizado repetidamente la función Val() de Visual Basic. Esta función convierte una serie de caracteres numéricos (un texto formado por cifras) en el número entero o de punto flotante correspondiente. Sin la llamada a la función Val() el operador + aplicado a cadenas de caracteres las concatena, y como resultado, por ejemplo, “3+4” daría “34”. No es lo mismo los caracteres “1” y “2” formando la cadena o string “12” que el número 12; la función val() convierte cadenas de caracteres numéricos –con los que no se pueden realizar operaciones aritméticas- en los números correspondientes –con los que sí se puede operar matemáticamente-. Visual Basic 6.0 transforma de modo automático números en cadenas de caracteres y viceversa, pero este es un caso en el que dicha transformación no funciona porque el operador “+” tiene sentido tanto con números como con cadenas. 1.5.3 Ejemplo 1.3: Transformación de unidades de temperatura La Figura 1.4 muestra un programa sencillo que permite ver la equivalencia entre las escalas de temperaturas en grados centígrados y grados Fahrenheit. Los ficheros de este proyecto se pueden llamar Temperat.vbp y Temperat.frm. En el centro del formulario aparece una barra de desplazamiento vertical que permite desplazarse con incrementos pequeños de 1º C y grandes de 10º C. Como es habitual, también puede cambiarse el valor arrastrando con el ratón el cursor de la barra. Los valores máximos y mínimo de la barra son 100º C y -100º C. A ambos lados de la barra aparecen dos cuadros de texto (color de fondo blanco) donde aparecen los grados correspondientes a la barra en ambas escalas. Encima aparecen dos rótulos (labels) que indican la escala de temperaturas correspondiente. Completan la aplicación un botón Salir que termina la ejecución y un menú File con la única opción Exit, que termina asimismo la ejecución del programa. La Tabla 1.4 indica los controles utilizados en este ejemplo junto con las propiedades y los valores correspondientes. Figura 1.4. Equivalencia de temperaturas. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 10 Control Propiedad Valor Control Propiedad Valor frmTemp Name frmTemp vsbTemp Name vsbTemp Caption Conversor de temperaturas Min 100 mnuFile Name mnuFile Max -100 Caption &File SmallChange 1 mnuFileExit Name mnuFileExit LargeChange 10 Caption E&xit Value 0 cmdSalir Name cmdSalir lblCent Name lblCent Caption Salir Caption Grados Centígrados Font MS Sans Serif, Bold, 14 Font MS Sans Serif, 10

txtCent Name txtCent lblFahr Name lblFahr text 0 Caption Grados Fahrenheit txtFahr Name txtFahr Font MS Sans Serif, 10 text 32 Tabla 1.4. Controles y propiedades del Ejemplo 1.3. Por otra parte, el código con el que este programa responde a los eventos es el contenido en los siguientes procedimientos: Option Explicit Private Sub cmbSalir_Click() Beep End End Sub Private Sub mnuFileExit_Click() End End Sub Private Sub vsbTemp_Change() txtCent.Text = vsbTemp.Value txtFahr.Text = 32 + 1.8 * vsbTemp.Value End Sub Sobre este tercer ejemplo se puede comentar lo siguiente: 1. Se ha utilizado la propiedad Value de la barra de desplazamiento, la cual da el valor actual de la misma con respecto a los límites inferior y superior, previamente establecidos (-100 y 100). 2. Mediante el procedimiento cmdSalir_Click, se cierra el programa, gracias a la instrucción End. El cometido de Beep no es otro que el de emitir un pitido a través del altavoz del ordenador, que indicará que en efecto se ha salido del programa. 3. La función mnuFileExit_Click() y activa desde el menú y termina la ejecución sin emitir ningún sonido. 4. Finalmente, la función vsbTemp_Change() se activa al cambiar el valor de la barra de desplazamiento; su efecto es modificar el valor de la propiedad text en las cajas de texto que muestran la temperatura en cada una de las dos escalas. Capítulo 1: Introducción página 11 1.5.4 Ejemplo 1.4: Colores RGB La Figura 1.5 muestra el formulario y los controles del proyecto Colores. Los ficheros de este proyecto se pueden llamar Colores.vbp y Colores.frm. En este ejemplo se dispone de tres barras de desplazamiento con las que pueden controlarse las componentes RGB del color del fondo y del color del texto de un control label. Dos botones de opción permiten determinar si los valores de las barras se aplican al fondo o al texto. Cuando se cambia del texto al fondo o viceversa los valores de las barras de desplazamiento (y la posición de los cursores) cambian de modo acorde. A la dcha. de las barras de desplazamiento

tres cajas de texto contienen los valores numéricos de los tres colores (entre 0 y 255). A la izda. tres labels indican los colores de las tres barras. La Tabla 1.5 muestra los controles y las propiedades utilizadas en el este ejemplo. Control Propiedad Valor Control Propiedad Valor frmColores Name frmColores hsbColor Name hsbColor Caption Colores Min 0 lblCuadro Name lblCuadro Max 255 Caption INFORMÁTICA 1 SmallChange 1 Font MS Sans Serif, Bold, 24 LargeChange 16 cmdSalir Name cmdSalir Index 0,1,2 Caption Salir Value 0 Font MS Sans Serif, Bold, 10 txtColor Name txtColor optColor Name optColor Text 0 Index 0,1 Locked True Caption Fondo, Texto Index 0,1,2 Font MS Sans Serif, Bold, 10 lblColor Name lblColor Caption Rojo,Verde,Azul Index 0,1,2 Font MS Sans Serif, 10 Tabla 1.5. Objetos y propiedades del ejemplo Colores. Una característica importante de este ejemplo es que se han utilizado vectores (arrays) de controles. Las tres barras se llaman hsbColor y se diferencian por la propiedad Index, que toma los valores 0, 1 y 2. También las tres cajas de texto, las tres labels y los dos botones de opción son arrays de controles. Para crear un array de controles basta crear el primero de ellos y luego hacer Copy y Paste tantas veces como se desee, respondiendo afirmativamente al cuadro de diálogo que pregunta si desea crear un array. El procedimiento Sub que contiene el código que gestiona un evento de un array es único para todo el array, y recibe como argumento la propiedad Index. De este modo que se puede saber exactamente en qué control del array se ha producido el evento. Así pues, una ventaja de los arrays de controles es que pueden compartir el código de los eventos y permitir un tratamiento conjunto Figura 1.5. Colores de fondo y de texto. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 12 por medio de bucles for. A continuación se muestra el código correspondiente a los procedimientos que tratan los eventos de este ejemplo. Option Explicit Public Brojo, Bverde, Bazul As Integer Public Frojo, Fverde, Fazul As Integer Private Sub cmdSalir_Click() End End Sub Private Sub Form_Load() Brojo = 0 Bverde = 0 Bazul = 0 Frojo = 255

Fverde = 255 Fazul = 255 lblCuadro.BackColor = RGB(Brojo, Bverde, Bazul) lblCuadro.ForeColor = RGB(Frojo, Fverde, Fazul) End Sub Private Sub hsbColor_Change(Index As Integer) If optColor(0).Value = True Then lblCuadro.BackColor = RGB(hsbColor(0).Value, hsbColor(1).Value, _ hsbColor(2).Value) Dim i As Integer For i = 0 To 2 txtColor(i).Text = hsbColor(i).Value Next i Else lblCuadro.ForeColor = RGB(hsbColor(0).Value, hsbColor(1).Value, _ hsbColor(2).Value) For i = 0 To 2 txtColor(i).Text = hsbColor(i).Value Next i End If End Sub Private Sub optColor_Click(Index As Integer) If Index = 0 Then ’Se pasa a cambiar el fondo Frojo = hsbColor(0).Value Fverde = hsbColor(1).Value Fazul = hsbColor(2).Value hsbColor(0).Value = Brojo hsbColor(1).Value = Bverde hsbColor(2).Value = Bazul Else ’Se pasa a cambiar el texto Brojo = hsbColor(0).Value Bverde = hsbColor(1).Value Bazul = hsbColor(2).Value hsbColor(0).Value = Frojo hsbColor(1).Value = Fverde hsbColor(2).Value = Fazul End If End Sub El código de este ejemplo es un poco más complicado que el de los ejemplos anteriores y requiere unas ciertas explicaciones adicionales adelantando cuestiones que se verán posteriormente: 1. La función RGB() crea un código de color a partir de sus argumentos: las componentes RGB (Red, Green and Blue). Estas componentes, cuyo valor se almacena en un byte y puede oscilar entre 0 y 255, se determinan por medio de las tres barras de desplazamiento. Capítulo 1: Introducción página 13 2. El color blanco se obtiene con los tres colores fundamentales a su máxima intensidad. El color negro se obtiene con los tres colores RGB a cero. También se pueden introducir con las

constantes predefinidas vbWhite y vbBlack, respectivamente. 3. Es importante disponer de unas variables globales que almacenen los colores del fondo y del texto, y que permitan tanto guardar los valores anteriores de las barras como cambiar éstas a sus nuevos valores cuando se clica en los botones de opción. Las variables globales, definidas en la parte de definiciones generales del código, fuera de cualquier procedimiento, son visibles desde cualquier parte del programa. Las variables definidas dentro de una función o procedimiento sólo son visibles desde dentro de dicha función o procedimiento (variables locales). 4. La función hsbColor_Change(Index As Integer) se activa cada vez que se cambia el valor en una cualquiera de las barras de desplazamiento. El argumento Index, que Visual Basic define automáticamente, indica cuál de las barras del array es la que ha cambiado de valor (la 0, la 1 ó la 2). En este ejemplo dicho argumento no se ha utilizado, pero está disponible por si se hubiera querido utilizar en el código. ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 14 2. ENTORNO DE PROGRAMACIÓN VISUAL BASIC 6.0 2.1 INTRODUCCIÓN: ¿QUÉ ES VISUAL BASIC 6.0? Visual Basic 6.0 es una excelente herramienta de programación que permite crear aplicaciones propias (programas) para Windows 95/98 o Windows NT. Con ella se puede crear desde una simple calculadora hasta una hoja de cálculo de la talla de Excel (en sus primeras versiones...), pasando por un procesador de textos o cualquier otra aplicación que se le ocurra al programador. Sus aplicaciones en Ingeniería son casi ilimitadas: representación de movimientos mecánicos o de funciones matemáticas, gráficas termodinámicas, simulación de circuitos, etc. Este programa permite crear ventanas, botones, menús y cualquier otro elemento de Windows de una forma fácil e intuitiva. El lenguaje de programación que se utilizará será el Basic, que se describirá en el siguiente capítulo. A continuación se presentarán algunos aspectos del entorno de trabajo de Visual Basic 6.0: menús, opciones, herramientas, propiedades, etc. 2.2 EL ENTORNO DE VISUAL BASIC 6.0 Visual Basic 6.0 tiene todos los elementos que caracterizan a los programas de Windows e incluso alguno menos habitual. En cualquier caso, el entorno de Visual Basic 6.0 es muy lógico y natural, y además se puede obtener una descripción de la mayoría de los elementos clicando en ellos para seleccionarlos y pulsando luego la tecla <F1>. 2.2.1 La barra de menús y las barras de herramientas La barra de menús de Visual Basic 6.0 resulta similar a la de cualquier otra aplicación de Windows, tal y como aparece en la Figura 2.2. Bajo dicha barra aparecen las barras de herramientas, con una serie de botones que permiten acceder fácilmente a las opciones más importantes de los menús. En Visual Basic 6.0 existen cuatro barras de herramientas: Debug, Edit, Form Editor y Standard. Por defecto sólo aparece la barra Standard, aunque en la Figura 2.2 se muestran las cuatro. Clicando con el botón derecho sobre cualquiera de las barras de herramientas aparece un menú contextual con el que se puede hacer aparecer y ocultar cualquiera de las barras. Al igual que en otras aplicaciones de Windows 95/98/NT, también pueden modificarse las barras añadiendo o eliminando botones (opción Customize). En la barra de herramientas Standard también se pueden ver a la

derecha dos recuadros con números, que representan cuatro propiedades del formulario referentes a su posición y tamaño que se verán más adelante: Top y Left, que indican la posición de la esquina superior izquierda del formulario, y también Height y Width, que describen el tamaño del mismo en unas unidades llamadas twips, que se corresponden con la vigésima parte de un punto (una pulgada tiene 72 puntos y 1440 twips). Las dimensiones de un control aparecen también cuando con el ratón se arrastra sobre el formulario, según se puede ver en la Figura 2.1. Los botones de la barra de herramientas Standard responden a las funciones más importantes: abrir y/o guardar nuevos proyectos, añadir formularios, hacer visibles las distintas ventanas del entorno de desarrollo, etc. Todos los botones tienen su correspondiente comando en Figura 2.1. Información visual sobre el tamaño de un control. Capítulo 2: El entorno de programación Visual Basic 6.0 página 15 alguno de los menús. Son importantes los botones que permiten arrancar y/o parar la ejecución de un proyecto, pasando de modo diseño a modo de ejecución y viceversa. Figura 2.2. Barra de menús y barras de herramientas de Visual Basic 6.0. El menú File tiene pocas novedades. Lo más importante es la distinción entre proyectos y todos los demás ficheros. Como ya se ha dicho, un proyecto reúne y organiza todos los ficheros que componen el programa o aplicación (hace la función de una carpeta que contuviera apuntes). Estos ficheros pueden ser formularios, módulos, clases, recursos, etc. Visual Basic 6.0 permite tener más de un proyecto abierto simultáneamente, lo cual puede ser útil en ocasiones. Con el comando AddProject se añade un nuevo proyecto en la ventana Project Manager. Con los comandos Open Project o New Project se abre o se crea un nuevo proyecto, pero cerrando el o los proyectos que estuvieran abiertos previamente. En este menú está el comando Make ProjectName.exe, que permite crear ejecutables de los proyectos. Tampoco el menú Edit aporta cambios importantes sobre lo que es habitual. Por el contrario el menú View, generalmente de poca utilidad, es bastante propio de Visual Basic 6.0. Este menú permite hacer aparecer en pantalla las distintas ventanas del entorno de desarrollo, así como acceder a un formulario o al código relacionado con un control (que también aparece si se clica dos veces en dicho control), y manejar funciones y procedimientos. El menú Project permite añadir distintos tipos de elementos a un proyecto (formularios, módulos, etc.). Con Project/Properties se puede elegir el tipo de proyecto y determinar el formulario con el que se arrancará la aplicación (Startup Object). Con el comando Components se pueden añadir nuevos controles a la Toolbox que aparece a la izquierda de la pantalla. El menú Format contiene opciones para controlar el aspecto de la aplicación (alinear controles, espaciarlos uniformemente, etc.). Los menús Debug y Run permiten controlar la ejecución de las aplicaciones. Con Debug se puede ver en detalle cómo funcionan, ejecutando paso a paso, yendo hasta una línea de código determinada, etc. Esto es especialmente útil cuando haya que encontrar algunos errores ejecutando paso a paso, o viendo resultados intermedios. En el menú Tools se encuentran los comandos para arrancar el Menu Editor (para crear menús, como se verá en el Apartado 5, a partir de la página 64, dedicado a los Menús) y para establecer las opciones del programa. En Tools/Options se encuentran las opciones relativas al proyecto en el que se trabaja. La lengüeta Environment determina las propiedades del entorno del

proyecto, como las opciones para actualizar o no los ficheros antes de cada ejecución; en General se establece lo referente a la retícula o grid que aparece en el formulario; Editor permite establecer la necesidad de declarar todas las variables junto con otras opciones de edición, como si se quieren ver o no todos los procedimientos juntos en la misma ventana, y si se quiere ver una línea separadora entre procedimientos; Editor Format permite seleccionar el tipo de letra y los códigos de color con los que aparecen los distintos elementos del código. La opción Advanced hace referencia entre otras cosas a la opción de utilizar Visual Basic 6.0 en dos formatos SDI (Single Document Interface) y MDI (Multiple Document Interface descritos en el Apartado 4.5, en la página 61). ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 16 Por último, la ayuda (siempre imprescindible y en el caso de Visual Basic 6.0 particularmente bien hecha) que se encuentra en el menú Help, se basa fundamentalmente en una clasificación temática ordenada de la información disponible (Contents), en una clasificación alfabética de la información (Index) y en la búsqueda de información sobre algún tema por el nombre (Search). Como ya se ha mencionado, la tecla <F1> permite una ayuda directa sensible al contexto, esto es dependiente de donde se haya clicado con el ratón (o de lo que esté seleccionado). 2.2.2 Las herramientas (toolbox) La Figura 2.3 muestra la caja de herramientas, que incluye los controles con los que se puede diseñar la pantalla de la aplicación. Estos controles son por ejemplo botones, etiquetas, cajas de texto, zonas gráficas, etc. Para introducir un control en el formulario simplemente hay que clicar en el icono adecuado de la toolbox y colocarlo en el formulario con la posición y el tamaño deseado, clicando y arrastrando con el ratón. Clicando dos veces sobre el icono de un control aparece éste en el centro del formulario y se puede modificar su tamaño y/o trasladar con el ratón como se desee. El número de controles que pueden aparecer en esta ventana varía con la configuración del sistema. Para introducir nuevos componentes se utiliza el comando Components en el menú Project, con lo cual se abre el cuadro de diálogo mostrado en la Figura 2.4. 2.3 FORMULARIOS (FORMS) Y MÓDULOS Los formularios son las zonas de la pantalla sobre las que se diseña el programa y sobre las que se sitúan los controles o herramientas de la toolbox. Al ejecutar el programa, el form se convertirá en la ventana de la aplicación, donde aparecerán los botones, el texto, los gráficos, etc. Para lograr una mejor presentación existe una malla o retícula (grid) que permite alinear los controles manualmente de una forma precisa (evitando tener que introducir coordenadas continuamente). Esta malla sólo será visible en el proceso de diseño del programa; al ejecutarlo no se verá. De cualquier forma, se puede desactivar la malla o cambiar sus características en el menú Tools/Options/General, cambiando la opción

Align Controls to Grid. Exteriormente, los formularios tienen una estructura similar a la de cualquier ventana. Sin embargo, también poseen un código de programación que estará escrito en Basic, y que controlará algunos aspectos del formulario, sobre todo en la forma de reaccionar ante las acciones del usuario (eventos). El formulario y los controles en él situados serán el esqueleto o la base del programa. Una aplicación puede tener varios formularios, pero siempre habrá uno con el que arrancará la aplicación; este formulario se determina a partir del menú Project/Properties, en Startup Objects. Figura 2.3. Caja de componentes (Toolbox). Figura 2.4. Cuadro de diálogo Components. Capítulo 2: El entorno de programación Visual Basic 6.0 página 17 Resumiendo, cuando se vaya a crear un programa en Visual Basic 6.0 habrá que dar dos pasos: 1. Diseñar y preparar la parte gráfica (formularios, botones, menús, etc.) 2. Realizar la programación que gestione la respuesta del programa ante los distintos eventos. 2.4 LA VENTANA DE PROYECTO (PROJECT) Esta ventana, mostrada en la Figura 2.5, permite acceder a los distintos formularios y módulos que componen el proyecto. Desde ella se puede ver el diseño gráfico de dichos formularios (botón View Object ), y también permite editar el código que contienen (botón View Code ). Estos botones están situados en la parte superior de la ventana, debajo de la barra de títulos. Los módulos estándar (ficheros *.bas) contienen sólo código que, en general, puede ser utilizado por distintos formularios y/o controles del proyecto e incluso por varios proyectos. Por ejemplo puede prepararse un módulo estándar de funciones matemáticas que sea de utilidad general. Normalmente contienen siempre algunas declaraciones de variables globales o Public, que serán accesibles directamente desde todos los formularios. Los módulos de clase (ficheros *.cls) contienen clases definidas por el usuario. Las clases son como formularios o controles complejos, sin interface gráfica de usuario. 2.5 LA VENTANA DE PROPIEDADES (PROPERTIES) Todos los objetos Visual Basic 6.0 tienen unas propiedades que los definen: su nombre (Name), su etiqueta o título (Caption), el texto que contiene (Text), su tamaño y posición, su color, si está activo o no (Enabled), etc. La Figura 2.6 muestra parcialmente las propiedades de un formulario. Todas estas propiedades se almacenan dentro de cada control o formulario en forma de estructura (similar a las del lenguaje C). Por tanto, si por ejemplo en algún momento se quiere modificar el nombre de un botón basta con hacerlo en la ventana de

propiedades (al diseñar el programa) o en el código en Basic (durante la ejecución), mediante el operador punto (.), en la forma: Boton1.Name = "NuevoNombre" Para realizar una modificación de las propiedades de un objeto durante el diseño del programa, se activará la ventana de propiedades (con el menú, con el botón de la Figura 2.5. Ventana de proyecto. Figura 2.6. Ventana de propiedades. Figura 2.7. Ventana Form Layout.

ESIISS: Aprenda Visual Basic 6.0 como si estuviera en Primero página 18

barra de herramientas o pulsando <F4>

. Esta ventana tiene dos lengüetas, que permiten ordenar

las propiedades alfabéticamente o por categorías. Utilizando la forma que sea más cómoda se localizará con ayuda de la barra de desplazamiento la propiedad que se quiera modificar. Al clicar sobre ella puede activarse un menú desplegable con las distintas opciones, o bien puede modificarse directamente el valor de la propiedad. Si esta propiedad tiene sólo unos valores fijos (por ejemplo, los colores), puede abrirse un cuadro de diálogo para elegir un color, o el tamaño y tipo de letra que se desee si se trata de una propiedad Font. La Figura 2.7 muestra la ventana FormLayout, que permite determinar la posición en la que el formulario aparecerá sobre la pantalla cuando se haga visible al ejecutar la aplicación. 2.6 CREACIÓN DE PROGRAMAS EJECUTABLES Una vez finalizada la programación de la nueva aplicación, la siguiente tarea suele consistir en la creación de un programa ejecutable para su distribución e instalación en cuantos ordenadores se desee, incluso aunque en ellos no esté instalado Visual Basic 6.0. Para crear un programa ejecutable se utiliza el comando Make nombreProyecto.exe … en el menú File. De esta manera se generará un fichero cuya extensión será *.exe. Para que este programa funcione en un ordenador solamente se necesita que el fichero MSVBVM60.DLL esté instalado en el directorio c:WindowsSystem o c:WinntSystem32. En el caso de proyectos más complejos en los que se utilicen muchos controles pueden ser necesarios más ficheros, la mayoría de ellos con extensiones *.ocx, *.vbx o *.dll. Para saber en cada caso cuáles son los ficheros necesarios se puede consultar el fichero *.vbp que contiene la descripción completa del proyecto. Casi todos esos ficheros necesarios se instalan automáticamente al instalar el compilador de Visual Basic 6.0 en el ordenador. En el caso de el programa se vaya a utilizar en un ordenador en el que no esté instalado Visual Basic o de que en el proyecto se hayan utilizado controles comerciales (como los Crystal Reports para la creación de informes, los Sheridan Data Widgets o los True DBGrid de Apex para la gestión de bases de datos, etc.), puede resultar interesante construir unos disquetes de instalación que simplifiquen la tarea de instalar el programa en cualquier ordenador sin tener que ver en cada caso cuáles son los ficheros que faltan. Visual Basic 6.0 dispone de un Asistente (Wizard) que, interactivamente, simplifica enormemente la tarea de creación de disquetes de instalación. Este Asistente está en el mismo grupo de programas que Visual Basic 6.0 y se llama Package and Deployement Wizard. Capítulo 2: El entorno de programación Visual Basic 6.0 página 19 2.7 CÓMO UTILIZAR EL HELP Visual Basic 6.0 dispone de un Help excelente, como la mayoría de las aplicaciones de Microsoft. En esta nueva versión la ayuda se ofrece a través de una interface de usuario similar a la de Internet Explorer. Estando seleccionado un control, una propiedad o un formulario, o estando seleccionada una palabra clave en una ventana de código, esta ayuda se

puede utilizar de modo sensible al contexto pulsando la tecla <F1>. También se puede ver toda la información disponible de modo general y ordenado por temas con el comando Help/Contents. Otra forma de acceder a la ayuda es mediante las opciones del menú Help. Así mediante la opción Index se puede obtener información sobre muchos términos relacionados con Visual Basic 6.0. Una vez obtenida la ayuda sobre el término solicitado se pueden encontrar temas relacionados con ese término en la opción See Also. En el caso de que se haya solicitado ayuda sobre un determinado tipo de control (en la Figura 2.9 se ha hecho con los botones de comando), se podría acceder también a la ayuda sobre todos y cada uno de sus propiedades, eventos y métodos con las opciones Properties, Methods y Events, respectivamente. La solapa Contents de la ventana de ayuda sirve para acceder a una pantalla en la que la ayuda está ordenada por temas, la de Index sirve para acceder a una pantalla en la que se podrá realizar una búsqueda a partir de un término introducido por el usuario, entre una gran lista de términos ordenados alfabéticamente. Al teclear las primeras letras del término, la lista de palabras se va desplazando de modo automático en busca de la palabra buscada. El botón Back sirve para regresar a la pantalla desde la que se ha llegado a la actual y con el botón Print se puede imprimir el contenido de la ayuda. CONTINUARA..............

Teoría de Visual Basic (Básica)

Bueno gente, aca les dejo una "guía" con conceptos e información básica de Visual Basic..

Espero que les sirva

Visual Basic es un lenguaje de programación; sirve para crear programas o aplicaciones. Un lenguaje de programación está formado por un conjunto de sentencias (entendidas por los humanos) que representan órdenes dadas a la computadora. Generalmente, cada sentencia equivale a muchas órdenes o instrucciones que debe llevar a cabo la máquina. Microsoft Visual Basic es una herramienta de programación para el entorno de Windows. El lenguaje Visual Basic es utilizado en otras aplicaciones, como por ejemplo Microsoft Excel, Microsoft Word, Microsoft Access, con el objeto de automatizar las tareas rutinarias. Por lo tanto, al conocer la forma de programar en Visual Basic, podrá crear macros (en este lenguaje) en todas las aplicaciones nombradas anteriormente y obtener así mayor rapidez y eficiencia en sus tareas habituales. Los pasos a seguir para programar con Visual Basic son: 1. diseñar los formularios (ventanas) con los que va a interactuar el usuario. 2. agregar los objetos y definir las propiedades de cada uno de ellos. 3. establecer los eventos a los que va a responder el programa y escribir el código correspondiente ( por ejemplo, definir cómo va a responder un botón cuando el usuario haga un doble clic) Una aplicación de Visual BASIC puede estar formada por cinco clases de archivos: • Módulos de formularios (.frm) • Módulos estándar (.bas) • Módulos de clase (.cls)

• Ficheros binarios (.frx) • Ficheros de recursos (.res) Un módulo correspondiente a un formulario es un fichero que contiene objetos gráficos, llamados controles, más código; mientras que un módulo estándar o un módulo correspondiente a una clase sólo contiene código. Los ficheros binarios contienen los datos binarios de un formulario; por ejemplo, algunos controles tienen propiedades cuyos valores son datos binarios, como Picture. Un fichero de recursos permite agrupar todo el texto y los mapas de bits específicos de una aplicación; puede incluir declaraciones de constantes, iconos, texto de pantalla y otros elementos que pueden variar entre versiones traducidas o entre revisiones o configuraciones específicas. La lista de ficheros que componen la aplicación junto con las opciones (el conjunto de opciones se puede ver ejecutando la orden Opciones del menú Herramientas ) es guardada en un archivo de proyecto con extensión .vbp cada vez que se guarda la aplicación o proyecto. Así mismo, el espacio de trabajo del proyecto Visual Basic se guarda en un archivo con extensión .vbw. Terminología utilizada • VENTANAS = OBJETOS Los programas para Windows están constituidos por ventanas. Las ventanas son objetos. Visual Basic trabaja con objetos. Todos los elementos con los que vamos a trabajar para desarrollar un programa en Visual Basic son objetos y cada uno de ellos tiene características y comportamientos propios y específicos. TIPOS DE OBJETOS Existen muchos tipos de objetos con los que trabaja Visual Basic, entre ellos podemos hablar de los formularios y controles. Un formulario es una ventana mediante la cual los usuarios interactúan con la aplicación. En dicha ventana depositaremos los controles necesarios para crear nuestra interfaz con el usuario de la aplicación. La finalidad principal de un formulario es agrupar una serie de controles por medio de los cuales poder presentar y solicitar información al usuario. Los controles son todos los objetos que se colocan en los formularios, mediante los cuales se realizan las acciones. A través de los controles se pueden escribir y recibir texto (etiquetas y cajas de texto), usar botones de comando, insertar o manipular imágenes, utilizar cuadros de diálogo, etc. Proyecto Un proyecto es un conjunto de formularios, conteniendo controles, objetos, las propiedades de esos objetos y el código Visual Basic de programación. Es decir que en un proyecto se encuentran enlazados todos los componentes que Visual Basic utiliza para desarrollar un programa. Cada uno de los formularios contenidos en el proyecto se almacena separadamente, en un archivo que tendrá el nombre del formulario y la extensión .FRM. En dicho archivo se define la posición y dimensiones del formulario y de cada uno de los controles que éste contiene, así como el código de los métodos para aquellos eventos a los que se responderá. Métodos Los métodos son funciones propias de cada objeto. Así como las propiedades afectan cómo son los objetos, los métodos ejecutan acciones propias del mismo. Los métodos afectan el comportamiento de los objetos de un programa, y solamente se los utiliza en tiempo de ejecución. Por ejemplo, los

formularios poseen un método llamado Show que se encarga de mostrarlos por pantalla. Eventos Un evento es una acción reconocida por un objeto (formulario o control). El evento puede ser causado por el usuario (por ejemplo :cuando pulsa una tecla), por el sistema (por ejemplo: transcurrió un determinado tiempo), o indirectamente por el código ( por ejemplo: cuando el código carga un formulario se da el evento Load ). Los eventos son sucesos a los que debe responder el programa. En una aplicación se pueden producir muchos eventos generados por el usuario, o incluso el mismo programa puede generar otros eventos. En Visual Basic, cada formulario y cada control tienen predefinido un conjunto de eventos. Cuando ocurre uno de estos eventos, Visual Basic invoca al procedimiento del objeto que responde a ese evento. Los eventos más importantes que son comunes a varios controles son: Evento -------------- Se produce cuando ... Change ------------ el usuario modifica el estado de un control Click ----------------- el usuario pulsa un objeto con el botón primario del mouse DblClick ------------ Se pulsa dos veces un objeto con el botón primario del mouse DragDrop --------- El usuario arrastra un control hacia una nueva ubicación DragOver --------- Un objeto se arrastra sobre un control GotFocus --------- Un objeto recibe el foco KeyDown --------- Se pulsa una tecla mientras un objeto tiene el foco KeyPress ---------- Se pulsa y se suelta una tecla mientras un objeto tiene el foco KeyUp ------------- Se suelta una tecla mientras un objeto tiene el foco Load --------------- Se carga un objeto en memoria LostFocus -------- Un objeto perdió el foco MouseDown ----- Se pulsó un botón del mouse sobre un objeto MouseMove ------ Se movió el cursor del mouse sobre un objeto MouseUp --------- Se soltó un botón del mouse sobre un objeto Unload ------------ Se descarga un objeto de memoria Cada evento tiene un procedimiento en donde escribir el código necesario. El nombre de este procedimiento está dado por el nombre del objeto, seguido de un guión bajo y el nombre del evento y unos paréntesis. Dentro de los paréntesis se indican los parámetros, si es que el evento tiene alguno. Por ejemplo, los botones de comando tienen un evento llamado Click, que se dispara cada vez que el usuario hace clic del mouse sobre el mismo. El evento MouseMove tiene parámetros, su sintaxis es la siguiente: Private Sub Form_MouseMove( Button as Integer, Shift as Integer, X as Single, Y as Single) End Sub Esto hace que desde el procedimiento sea posible conocer qué botón generó el evento ( variable Button) , si estaba el Shift pulsado ( variable Shift) , y las ccordenadas X e Y donde se presionó el botón del mouse.

Inserción de comentarios Podemos insertar un comentario en cualquier línea, incluso si en ella existe ya alguna sentencia, utilizando el carácter ‘ (apóstrofe). Cualquier texto que aparezca escrito detrás de este carácter, hasta el final de la línea, es tomado como comentario y no será procesado por Visual Basic. Uso de colores en el código Visual Basic utiliza distintos colores para diferenciar distintas partes de un código, utiliza el color azul para palabras reservadas como la palabra Dim, If ...then ...else...endif, para definir el nombre de una variable, realizar asignaciones,... utiliza el color negro, una línea conteniendo un error aparecerá en rojo, la línea de comentario aparecerá en verde. Estos colores están predeterminados por Visual Basic, pero es posible modificarlos por medio de la opción Opciones del menú Herramientas, además se podrá cambiar el tipo de letra, el tamaño, etc. Formulario Por defecto el título del formulario es Form1, al igual que su nombre. Estos dos términos, título y nombre, son fáciles de son confundir. La mayoría de los controles tienen un título, que podemos obtener y modificar por medio de la propiedad Caption, que no es más que el texto que aparece en el control, y no tiene ninguna correspondencia ni referencia en el código de la aplicación. El nombre del control o formulario, sí es referenciado en el código cada vez que se quiere manipular ese objeto. El nombre de un control, que se establece durante el diseño de la aplicación, no será modificado posteriormente, y se utilizará tanto para acceder a las propiedades de ese objeto como para realizar cualquier otro tipo de operación con él. La propiedad correspondiente al nombre del objeto es Name. Funciones y procedimientos Un procedimiento es un conjunto de líneas de código al que se da un nombre, que se utiliza posteriormente para ejecutar este código. La misma definición es válida para una función, con la única diferencia de que ésta devuelve un valor al finalizar su ejecución, mientras que un procedimiento no. Tipos de datos Visual Basic dispone de distintos tipos de datos, analizaremos la siguiente tabla: TIPO --- Requisitos de memoria ----- Valores que puede contener... Boolean ---- 0bytes -------------------- True o False Byte--------- 1bytes -------------------- Números enteros ( en el rango de 0 a 255) Integer ---- 2bytes -------------------- Números enteros ( en el rango de -32768 a 32767) Long ------- 4bytes -------------------- Números enteros ( en el rango de -2147483648 a 2147483647) Single ------ 4bytes -------------------- Números decimales Double ---- 8bytes -------------------- Números decimales Currency -- 8bytes -------------------- Números grandes String ------ 1byte por caracter ---- Cadena de caracteres Date ------- 8bytes --------------------- Fechas y horas Object ----- 4bytes --------------------- Instancia de clases u objetos Variant ----- 16bytes ------------------- Cualquier tipo de dato

El tipo de dato Boolean (Lógicos) puede contener sólo dos valores posibles: True ( verdadero) o False(falso). El valor True corresponde con el entero 1 y False con el valor cero. El tipo Byte es adecuado para contener cualquier número entero que no sea negativo ni mayor que 255. El tipo Integer (Enteros) es el tipo más utilizado, ya que nos permite trabajar con números enteros, tanto negativos como positivos. El tipo Long (Enteros largos) nos permite trabajar con cualquier números enteros, tanto negativos como positivos, con un mayor número de dígitos que las variables de tipo Integer. Los tipos Single (Reales simples) y Double (Reales dobles) son los que nos permiten utilizar números en punto flotante, lo que significa que la coma decimal no tiene una posición predeterminada, sino que puede estar en cualquier lugar donde sea necesario. El tipo Currency (Moneda) se caracteriza por trabajar con números con parte decimal fija, tiene cuatro dígitos decimales. El tipo String ( Cadena de caracteres) genera una cadena de longitud variable de caracteres. El tipo Date nos permite almacenar fechas y horas, desde el 1 de Enero del año 100 hasta el 31 de Diciembre del año 9999. En realidad la representación interna de una variable de este tipo es la de un número en coma flotante, en el que la parte entera contiene la fecha y la parte decimal la hora. El tipo Object es capaz de contener una referencia a cualquier objeto de la aplicación, por ejemplo un formulario o un componente OLE. Una variable Variant es capaz de contener cualquier tipo de dato, un número, una cadena, una fecha, incluso una matriz, cambiando de uno a otro de acuerdo a las necesidades de la operación. Variables Una variable es una posición de memoria con nombre. El nombre de la posición es el identificador de la variable; el valor almacenado en la posición se llama contenido. Las variables deben definirse, declararse con la sentencia DIM, seguida del nombre de la variable, la palabra As y el tipo de variable. El valor por defecto que se inicializa una variable depende de su tipo. Si la variable es numérica, indistintamente de que sea entera o decimal y de su precisión, el valor inicial es cero. Si la variable es de tipo String, dicha cadena será una cadena vacía. Si la variable es de tipo Date, la fecha será el día 0 del mes 0 del año 0. Si la variable es de tipo Boolean se inicializa con el valor False. Si la variable es de tipo Variant, el valor inicial será Empty. Variant es el tipo por defecto para todas las variables, a no ser que se indique lo contrario. Un nombre de variable debe comenzar con una letra, y estar seguido de hasta 39 caracteres más, que pueden ser dígitos, letras y el carácter de subrayado. Visual Basic no diferencia entre mayúsculas y minúsculas. Visual Basic permite añadir al final del nombre de una variable, así como al final de una constante, un carácter que hace referencia al tipo de dato. Es posible declarar una variable prescindiendo del As tipo, utilizando estos caracteres. Dim Dato as Integer es lo mismo que escribir Dim Dato% Módulos de Visual Basic El código de una aplicación Visual Basic se edita en módulos. Los módulos tienen incorporadas funciones automáticas de formato y comprobación de sintaxis. Hay tres tipos de módulos: de formulario, estándar y de clase.

Módulo de formulario Es un archivo con extensión .frm que puede contener descripciones gráficas de un formulario, sus controles y sus valores de propiedades, declaraciones de constantes, variables y procedimientos externos a nivel del formulario., así como procedimientos conducidos por eventos y procedimientos generales. Módulo estándar Es un archivo de extensión .bas que solo contiene declaraciones y definiciones de procedimientos, tipos y datos a los que tienen acceso otros módulos de la aplicación. Módulo de clase Es un archivo con extensión .cls que contiene la definición de una clase de objetos; esto es, la definición de cada una de sus propiedades y métodos. Ambito de las variables Se entiende por ámbito o alcance de una variable al espacio de la aplicación donde la variable es visible y por lo tanto se puede utilizar. A continuación se indican los lugares donde se puede declarar una variable: -Variables utilizadas por todos los módulos (declaración Public en cualquier módulo) -Módulo (formulario, mód. estándar o clase) -Variables utilizadas dentro del módulo (declaración Dim o Private en el módulo) -Procedimientos: Variables locales (Dim o Static) - Variables locales (Dim o Static) La tabla siguiente resume cómo debe declararse una variable en función del espacio donde deseamos que sea visible: Ambito Declaración Local Dim o Static (dentro de un procedimiento) Módulo Dim o Private (sección de declaraciones del módulo: sección General) Global Public (sección de declaraciones de un módulo) A nivel del módulo, no hay diferencias entre Dim y Private, pero se aconseja utilizar Private en contraste con Public. En un procedimiento no tiene lugar esta observación, ya que no se puede utilizar Public. Variables locales Una variable local se reconoce solamente en el procedimiento en el que está definida. Fuera de ese procedimiento, la variable no es conocida. Una variable local es reiniciada cada vez que se entra en el procedimiento. Una variable local no conserva su valor entre una llamada al procedimiento y la siguiente. Sin embargo esto se puede modificar mediante la sentencia Static, hay que declarar la variable estática. Visual Basic inicia una variable estática solamente la primera vez que se llama al procedimiento y se destruye sólo cuando la aplicación termina. Para declarar una variable estática, utilice la palabra clave Static en lugar de Dim. Variables globales Las variables globales son aquellas que pueden ser utilizadas desde cualquier punto de la aplicación, sin importar el módulo en el que esté el procedimiento que acceda a ella.

Sólo es posible declarar una variable global a nivel de módulo, es decir, fuera de cualquier procedimiento o función utilizando la sentencia Public, seguida del nombre de la variable, la palabra As y el tipo de variable. Si se intenta declarar una variable global en el interior de una función o un procedimiento obtendrá un error durante la compilación de la aplicación, no podrá siquiera llegar a ejecutarla. El tiempo de vida de una variable global comienza en el mismo momento en el que se carga la aplicación, y no muere hasta que ésta termina. Constantes, Variables y Expresiones Las variables pueden ser globales, accesibles desde cualquier punto, públicas en un módulo, accesibles desde los métodos y funciones contenidas en un módulo de código, o privadas, accesibles tan sólo en el ámbito en que se ha declarado. Es una práctica común que todas las variables que se utilizan en métodos y funciones sean privadas, evitando así que puedan ser manipuladas desde cualquier código externo. Este tipo de variables son creadas automáticamente cada vez que se ejecuta el procedimiento o función, y destruirlas cuando este termine. Este hecho, por otra parte, reduce el consumo global de memoria, ya que la mayor parte de las variables existen tan sólo mientras se está ejecutando la porción de código en la que se declaran, y la memoria que ocupan se libera al salir. Una constante es una posición de memoria con nombre. El nombre de la posición es el identificador de la constante; el valor almacenado en la posición se llama contenido y no puede cambiar a lo largo de la ejecución de la aplicación. Las constantes también deben ser declaradas con la sentencia CONST, seguida del nombre de la constante, la palabra As y el tipo de constante, el signo = y el valor asignado. Ejemplo: Const MATERIA as String = “computación”

*disculpen que no puse imágenes que ayuden a entender algunos pasos, pero no cuento con Visual Basic en mi computadora en estos momentos..

Aprende a programar en Visual Basic (Aplicación 1)
Aprende a programar en Visual Basic (Aplicación 1)
Vamos a construir nuestra primera aplicación utilizando Visual Basic. Para ello vamos a: 1.Utilizar los controles de Visual Basic para crear la interfaz de usuario La creación del programa es muy sencilla, ya que la interfaz de usuario se dibuja como si fuera un grafico creado con cualquier graficador (Corel, PowerPoint, Paint, etc) 2.Determinar las propiedades de cada uno de los controles utilizados en la interfaz de usuario. Una vez colocados los controles dentro del formulario que servirá para la interfaz de usuario, podrá personalizarlos cambiándoles las propiedades, por ejemplo el tipo de letra, color de fondo, aspecto, etc. 3.Escribir el programa o código para los elementos de la interfaz de usuario. Finalizadas las dos etapas anteriores, deberá utilizar la ventana de código donde construirá el código de la interfaz de usuario. Aspecto de nuestro Formulario

Vamos a utilizar 2 Etiquetas (Label) 1 PictureBox para la imagen Un botón para culminar la aplicación

El Código de nuestro ejemplo:

Cuando se inicie nuestra aplicación nos pedirá el nombre de usuario.

Ingresamos el nombre y nos dará la bienvenida como se ve el la primer imagen

Espero que les haya sido útil.. pronto subiré mas ejemplos de programación en Visual Basic

Sign up to vote on this title
UsefulNot useful