GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS A.- ASPECTOS FUNDAMENTALES DEL CÓDIGO ORIENTADO A OBJETOS MÓDULOS DE CÓDIGO: El código en Visual Basic se almacena en módulos. Hay tres tipos de módulos: de formulario, estándar y de clase. Las aplicaciones sencillas pueden consistir en un único formulario y todo el código de la aplicación reside en ese módulo de formulario. A medida que sus aplicaciones vayan creciendo y siendo más sofisticadas, agregará formularios adicionales. A veces tendrá código común que deseará ejecutar en varios formularios. No querrá duplicar el código en ambos formularios, por lo que creará un módulo independiente que contenga un procedimiento que ejecuta el código común. Este módulo independiente debe ser un módulo estándar. Con el tiempo, puede construir una biblioteca de módulos que contenga los procedimientos compartidos. Cada módulo estándar, de clase y de formulario puede contener lo siguiente: *Declaraciones: Puede colocar declaraciones de constantes, tipos, variables y procedimientos de bibliotecas de vínculos dinámicos (DLL) al nivel de módulo de formulario, de clase o estándar. *Procedimientos: Un procedimiento Sub, Function o Property contiene partes de código que se pueden ejecutar como una unidad. Módulos de formulario: Los módulos de formulario (extensión de nombre de archivo .frm) son la base de la mayoría de las aplicaciones de Visual Basic. Pueden contener procedimientos que controlen eventos, procedimientos generales y declaraciones a nivel de formulario de variables, constantes, tipos y procedimientos externos. Si examina un módulo de formulario con un editor de textos, podrá ver las descripciones del formulario y sus controles, así como los valores de sus propiedades. El código que se escribe en un módulo de formulario es específico de la aplicación a la que pertenece el formulario y puede hacer referencia a otros formularios u objetos de la aplicación. Módulos Estándar: Los módulos estándar (extensión de nombre de archivo .bas) son contenedores de los procedimientos y declaraciones a los que tienen acceso otros módulos de la aplicación. Pueden contener declaraciones globales (disponibles para toda la aplicación) o a nivel de módulo de variables, constantes, tipos, procedimientos externos y procedimientos globales. El código que se escribe en un módulo estándar no está ligado necesariamente a una aplicación determinada; si tiene cuidado de no hacer referencia a controles o formularios por su nombre, puede reusar un módulo estándar en distintas aplicaciones. Módulos de clase: Los módulos de clase (extensión de nombre de archivo .cls) son la base de la programación orientada a objetos en Visual Basic. Puede escribir código en módulos de clase para crear nuevos objetos. Estos objetos nuevos pueden incluir propiedades y métodos personalizados. En realidad, los formularios sólo son módulos de clase que pueden tener controles y que pueden mostrar ventanas de formulario. EDITOR DE CÓDIGO El editor de código o Code Editor de Visual Basic es la ventana en la cual se escriben las sentencias del programa. Cada formulario, cada módulo de clase y cada módulo estándar tienen su propia ventana de código. La siguiente figura muestra es aspecto típico de la ventana de código que, Aunque el aspecto de dicha ventana no tiene nada de particular, ofrece muchas ayudas al usuario. En primer lugar, el Code Editor utiliza un código de colores (accesible y modificable en (Tools/Options/Editor Format) para destacar cada elemento del programa. Así, el código escrito por el usuario aparece en negro, las palabras clave de Basic en azul, los comentarios en verde, los errores en rojo, etc. Esta simple ayuda visual permite detectar y corregir problemas con más facilidad. En la parte superior de esta ventana aparecen dos listas desplegables. La de la izquierda corresponde a los distintos elementos del formulario (la parte General, que es común a todo el formulario; el propio formulario y los distintos controles que están incluidos en él). La lista desplegable de la derecha muestra los distintos procedimientos que se corresponden con el elemento seleccionado en la lista de la izquierda. Por ejemplo, si en la izquierda está seleccionado un botón de comando, en la lista de la derecha aparecerá la lista de todos los posibles procedimientos Sub que pueden generar sus posibles eventos. Estas dos listas permiten localizar fácilmente el código que se desee programar o modificar. USO DE VARIABLES, CONSTANTES Y TIPOS DE DATOS: Variables: Una variable es una ubicación temporal de almacenamiento de datos dentro de un programa. La utilidad de las variables radica en que permiten asignar un nombre corto y fácil de recordar a los datos con los que pensamos trabajar. Las variables son herramientas que podemos utilizar para manejar cualquier tipo de información. Visual Basic no requiere declarar una variable para poder usarla, tampoco requiere definir el tipo de datos que manejará la variable. Aunque realmente, esto no es tan maravilloso, pues, con una filosofía como ésta, un programa serio podría llegar a convertirse en un dolor de cabeza para el programador si se comete algún error ortográfico a la hora de hacer referencia a alguna variable cuyo valor no esté definido. Visual Basic cuenta con la instrucción Dim para declarar explícitamente una variable antes de utilizarla. La instrucción Dim reserva espacio en memoria para la variable cuando se ejecute el programa. Por ejemplo, la siguiente instrucción reserva espacio para una variable llamada Nombre en un programa: Dim Nombre Al realizar cálculos con Visual Basic, con frecuencia es necesario almacenar valores. Por ejemplo, puede que necesite calcular varios valores, compararlos y realizar distintas operaciones con ellos, en función del resultado de la comparación. Si desea compararlos, es necesario conservar los valores. Visual Basic, al igual que la mayoría de los lenguajes de programación, utiliza variables para almacenar valores. Una variable tiene un nombre (la palabra que se utiliza para referirse al valor que contiene la variable) y un tipo de datos (que determina la clase de datos que puede almacenar la variable). Una variable puede representar una matriz, si es necesario que almacene un conjunto indizado de elementos de datos estrechamente relacionados entre sí. Para efectuar cálculos y asignar el resultado a una variable, se utilizan instrucciones de asignación, como se muestra en el ejemplo siguiente. '--------------'VB ' The following statement assigns the value 10 to the variable. applesSold = 10 ' The following statement increments the variable. applesSold = applesSold + 1 ' The variable now holds the value 11. '-------------- Constantes: Una constante es un nombre significativo que ocupa el lugar de un número o una cadena de texto que no cambia. Se declaran con la palabra clave Const, tal como se muestra en el siguiente ejemplo: Const Pi=3.14159265 Para crear una constante que esté disponible para todos los objetos y procedimientos manejados por un formulario se deberá crear en la sección Declaración del formulario (la línea superior de la ventana Código). Si deseas que la constante pueda ser utilizada por todos los formularios y módulos de un programa (no solo por el Form1) se debe crear dicha constante en un módulo estándar, colocándole delante la palabra Public. Tipos de datos Para declarar una variable como perteneciente a un tipo de datos debes usar la palabra clave As. A continuación se muestran los principales tipos de datos fundamentales existentes en Visual Basic: Tipo de datos Integer (entero) Long (entero largo) Tamaño 2 bytes 4 bytes Single (coma flotante de precisión simple) Double (coma flotante de precisión doble) 4 bytes 8 bytes Rango -32.786 a 32.767 -2.147.483.648 a 2.147.483.647 -3,402823E+38 a 3,402823E+38 1,79769313486232E+308 String (cadena) Variant Boolean (Buleano) 1 byte por caracter 16 bytes (con números) 22 bytes + 1 byte por carácter (con cadenas) 2 bytes a 1,79769313486232E+308 0 a 65.535 caracteres Todo tipo de rangos True o False Las variables pueden ser públicas o globales, es decir, estarán disponibles (ser públicas) para todos los procedimientos y módulos de un programa. Para que una variable tenga este rango o alcance tiene que haber sido declarada en un módulo estándar. MANEJO DE OPERADORES: Una formula es una sentencia que combina números, variables, operadores y palabras clave, o varios de estos elementos, para crear un nuevo valor. Visual Basic cuenta con bastantes elementos de lenguaje diseñados para ser utilizados en fórmulas. Visual Basic proporciona los siguientes operadores: Operador + * / \ Mod ^ & Operación matemática Suma (números o cadenas de caracteres) Sustracción Multiplicación División División entera Resto de la división entera Exponenciación Concatenación de cadenas Prioridad de los operadores: Visual Basic establece un orden de prioridad específico para las operaciones matemáticas. En la siguiente tabla se muestran los operadores matemáticos listados en orden de prioridad (los operadores de igual nivel en esta tabla se evalúan de izquierda a derecha, según aparecen en la expresión): Operador(es) () ^ - Orden de prioridad Los valores entre paréntesis se evalúan siempre de primeros. La exponenciación es siempre el segundo. La negación (creación de un número negativo) es el tercero. * / La multiplicación y la división comparten el cuarto lugar. División entera es el quinto operador. El Resto es el sexto. Los últimos son la suma y la resta. \ Mod + - ESTRUCTURAS DE CONTROL Las estructuras de control permiten controlar el flujo de ejecución del programa. Tenemos dos tipos de estructuras de control: *Estructuras de decisión. *Estructuras de bucle. Estructuras de decisión: Lo procedimientos de Visual Basic pueden probar condiciones y, dependiendo de los resultados, realizar diferentes operaciones. Entre las estructuras de decisión que acepta Visual Basic se incluyen las siguientes: If… Then If… Then… Else Select Case Select Case: Visual Basic proporciona esta estructura como alternativa a If… Then… Else para ejecutar selectivamente un bloque de sentencias entre varios bloques. La sentencia Select Case ofrece posibilidades similares a la instrucción If… Then… Else. Esta estructura funciona con una única expresión de prueba que se avalúa una vez solamente, al principio de la estructura. Visual Basic compara el resultado de esta expresión con los valores de cada Case de la estructura. Si hay una coincidencia, ejecuta el bloque de sentencias asociado a ese Case: Select Case Expresion_Prueba Case [lista_expresiones1] [Bloque de sentencias 1] Case [lista_expresiones2] [Bloque de sentencias 2] . . . [Case else [Bloque de sentencias n]] End Select Estructuras de Repetición o Bucle: Permiten ejecutar una o más líneas de código repetidamente. Las estructuras de repetición que acepta Visual Basic son: Do… Loop For… Next For Each… Next Do Loop: utiliza el bucle Do para ejecutar un bloque de sentencias un número indefinido de veces. Hay algunas variantes en la sentencia Do… Loop, pero cada una evalúa una condición numérica para determinar si continúa la ejecución. Como ocurre con If… Then, la conición debe ser un valor o una expresión que dé como resultado False (cero) o True (distinto de cero).