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. 1 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) 2 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. 3 • 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) 4 • 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 5 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. 6 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] 7 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] 8 [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 9 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] 10 [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] VALOR[Author ID1: at CONSTANTE[Author Sat Apr DESCRIPCION[Author ID1: at Sat Apr 13 14:10:00 2002] ID1: at Sat Apr 13 13 14:09:00 2002] 14:09:00 2002] vbOKOn1y[Author ID1: at Muestra solamente el [Author ID1: at Sat Apr 13 14:10:00 0 Sat Apr 13 14:10:00 2002] 2002]botón Aceptar[Author ID1: at Sat Apr 13 14:10:00 2002] vbOKCancel[Author ID1: Muestra los botones Aceptar y Cancelar[Author ID1: at Sat Apr at Sat Apr 13 14:12:00 1 13 14:12:00 2002] 2002] 2[Author vbAbortRetryIgnore[AuthorID1: at Sat Muestra los botone[Author ID1: at Sat Apr 13 14:13:00 2002]s Anular, Reintentar e Ignorar[Author ID1: at Sat Apr 13 14:13:00 ID1: at Sat Apr 13 Apr 13 14:13:00 2002] 14:13:00 2002] 2002] 3[Author vbYesNoCancel[Author ID1: at Sat Muestra los botones Si, No y Cancelar[Author ID1: at Sat Apr 13 ID1: at Sat Apr 13 Apr 13 14:14:00 2002] 14:14:00 2002] 14:14:00 2002] vbYesNo[Author ID1: at Muestra los botones Si y No.[Author ID1: at Sat Apr 13 14:15:00 4 Sat Apr 13 14:15:00 2002] 2002] 11 5[Author ID1: at Sat Muestra los botones Reintentar y Cancelar.[Author ID1: at Sat Apr 13 Apr 13 14:16:00 2002] 14:16:00 2002] vbCritical[Author ID1: at Muestra el icono Mensaje [Author ID1: at Sat Apr 13 14:16:00 16 Sat Apr 13 14:16:00 2002] 2002]crítico.[Author ID1: at Sat Apr 13 14:16:00 2002] vbQuestion[Author ID1: at Muestra el icono Consulta de advertencia.[Author ID1: at Sat Apr 32 Sat Apr 13 14:17:00 2002] 13 14:17:00 2002] 48[Author vbExclamation[Author ID1: at Sat Muestra el icono Mensaje de advertencia.[Author ID1: at Sat Apr ID1: at Sat Apr 13 Apr 13 13 14:18:00 2002] 14:18:00 2002] 14:18:00 2002] vbInformation[Author ID1: Muestra el icono Mensaje de [Author ID1: at Sat Apr 13 14:19:00 at Sat Apr 13 14:19:00 64 2002]información[Author ID1: at Sat Apr 13 14:20:00 2002] 2002].[Author ID1: at Sat Apr 13 14:19:00 2002] vb[Author ID1: at Sat Apr 0[Author ID1: at Sat 13 14:20:00 El primer [Author ID1: at Sat Apr 13 14:23:00 2002]botón es el 2002]DefaultButton1[AuthorApr 13 predeterminado.[Author ID1: at Sat Apr 13 14:23:00 2002] 14:23:00 ID1: at Sat Apr 13 2002] 14:23:00 2002] 256[Author vbDefaultButton2[Author ID1: at Sat El segundo [Author ID1: at Sat Apr 13 14:24:00 2002]botón es el Apr 13 ID1: at Sat Apr 13 predeterminado.[Author ID1: at Sat Apr 13 14:24:00 2002] 14:24:00 14:24:00 2002] 2002] 512[Author vbDefaultButton3[Author ID1: at Sat El tercer [Author ID1: at Sat Apr 13 14:25:00 2002]botón es el Apr 13 ID1: at Sat Apr 13 predeterminado.[Author ID1: at Sat Apr 13 14:25:00 2002] 14:25:00 14:25:00 2002] 2002] 768[Author vbDefaultButton4[Author ID1: at Sat El cuarto [Author ID1: at Sat Apr 13 14:26:00 2002]botón es el ID1: at Sat Apr 13 Apr 13 predeterminado.[Author ID1: at Sat Apr 13 14:26:00 2002] 14:26:00 2002] 14:26:00 2002] Aplicación[Author ID1: at Sat Apr 13 14:27:00 2002] [Author 0[Author ID1: at Sat Apr 13 14:26:00 2002]modal; el usuario debe vbApplicatioonModal[Author ID1: at Sat responder al cuadro[Author ID1: at Sat Apr 13 14:27:00 2002] de ID1: at Sat Apr 13 Apr 13 mensajes antes de poder seguir trabajando en la [Author ID1: at 14:26:00 2002] 14:26:00 Sat Apr 13 14:28:00 2002]aplicación actual.[Author ID1: at Sat 2002] Apr 13 14:29:00 2002] 4096[Author Sistema modal; se suspenden todas las aplica[Author ID1: at Sat vbSystemModal[Author ID1: at Sat Apr 13 14:30:00 2002]ciones[Author ID1: at Sat Apr 13 14:32:00 ID1: at Sat Apr 13 Apr 13 2002] hasta que el usuario responda al cuadro de mensaje.[Author 14:30:00 2002] 14:30:00 ID1: at Sat Apr 13 14:32:00 2002] 2002] vbRetryCancel[Author ID1: at Sat Apr 13 14:16:00 2002] [Author ID0: at ] 12 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 13 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 14 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 Rango en Bytes Carácter de Ejemplo de declaración y declaración de tipo uso Dim numeromesa% −32,768 a 32,768 Integer (int) 2 % Dim numero mesa as integer no decimales Long Integer (lnt) 4 −2,147,486,648 a 2,147,486,648 Numero mesa% = 12 Dim pobnacional& & no decimales Single Precision (sng) 4 −3.042823E38 a −3.042823E38 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$ String (str) 1 por carácter 0 a 65,535 caracteres $ Dim Animal as string Aimal$ = perro Dim Activao as bolean Bolean (bln) 2 True o False, 0 o 1 Activao = falso 15 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 Definido por el usuario, conjunto de tipos y valores Usuario (udt) 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 Variant (vnt) 16 (con numero) 22+ 1 por carácter Todos los tipos de rango en datos de tipo texto) Dim Variable as variant Variable = 12 Variable = Perro Variable = 3.1416 [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] 16 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 [Author ID1: at Declaración explicita:[Author ID1: Sat Apr 13 19:50:00 at 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%[Author Integer[Author ID1: at Sat Apr ID1: at Sat Apr 13 19:51:00 13 19:50:00 2002] 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: 17 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 Cdbl Double Cdec Decimal 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. Para numeros con 28 decimales, el intervalo es +/− 7,9228162514264337593543950335 18 Cint Clng Integer Long Csng Single 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 Val Str String Variant Numero adecuado string El mismo intervalo de string para valores no numericos Depende del argumento expresionaconvertir 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 19 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) Verdadero SI Exp1 < Exp2 Falso SI Exp1 >= Exp2 Nulo SI Exp1 o Exp2 = Null Exp1 <=Exp2 Exp1 >Exp2 Exp1 o Exp2 = Null Exp1 > Exp2 Exp1 <= Exp2 Exp1 o Exp2 = Null Exp1 >= Exp2 Exp1 < Exp2 Exp1 o Exp2 = Null Exp1 =Exp2 Exp1 <> Exp2 Exp1 <> Exp2 Exp1 = Exp2 Exp1 o Exp2 = Null Exp1 o Exp2 = Null 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. La sintaxis de la instrucción y con elemento de la sintaxis es la siguiente (sintaxis 1): 20 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: 21 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 22 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 23