hectortomas
Usuario (Argentina)

PROGRAMACION VISUAL BASIC INTRODUCION IDE VISUAL BASIC FORMULARIOS CONTROLES METODOS – PROPIEDADES EVENTOS CARTILLA DE ESTUDIO Nº 1 INTRODUCCIÓN HISTÓRICA AL ENTORNO WINDOWS. Las interfaces gráficos de usuario (GUI) han revolucionado el mundo informático. Quizá más importante a largo plazo es el hecho de que las aplicaciones Windows tienen una interfaz de usuario consistente, es decir, los usuarios tienen más tiempo para dominar la aplicación sin tener que preocuparse de las teclas que deben pulsarse dentro de los menús y cuadros de diálogo. Todo esto tiene un precio; antes de la existencia de Visual Basic, el desarrollo de aplicaciones para Windows era mucho más complicado que desarrollar aplicaciones para DOS. Los programadores tenían que preocuparse más de lo que estaba haciendo el ratón, de dónde estaba el usuario dentro de un menú y de si estaba realizando un clic o un doble clic en un punto determinado. Desarrollar aplicaciones para Windows requería expertos programadores en C, e incluso éstos tenían problemas. Visual Basic ha cambiado esta situación. Se pueden desarrollar aplicaciones para Windows más rápidamente. Los errores de programación no se generan tan frecuentemente y, si lo hacen, son más sencillos de depurar. Además incluye dos conceptos importantes: Un método visual de creación de aplicaciones, incluyendo formularios (ventanas), controles y, componentes del formulario. La habilidad de asociar código directamente a cada evento de cada elemento del diseño visual. LA PROGRAMACIÓN VISUAL Y GUIADA POR EVENTOS. • Un programa realizado en DOS es un conjunto de sentencias que se ejecutan de arriba a abajo más o menos, en el orden que el programador ha diseñado. • Una aplicación en Windows presenta todas las opciones posibles en uno o más formularios para que el usuario elija entre ellas. • La secuencia en la que se ejecutarán las sentencias no puede ser prevista por el programador. Esto da lugar a la Programación Orientada a Eventos. • Para programar una aplicación en Windows hay que escribir código separado para cada objeto en general, quedando la aplicación dividida en pequeños procedimientos, conducido cada uno de ellos por un suceso. • Un suceso es una acción reconocida por un objeto (formulario o control) el suceso puede ser causado por el usuario o, indirectamente por el código. Para desarrollar una aplicación en Visual Basic, los pasos que se seguirán son: • Crear la interfaz de usuario. • Modificar las propiedades de cada objeto. • Escribir el código asociado a los eventos de cada objeto. VISUAL Basic ESTA ORIENTADO A OBJETOS Visual Basic cumple con los tres requisitos necesarios para decir que el lenguaje VB es orientado a objeto Encapsulación: La utiliza de manera diferente a C++. Los objetos Visual Basic tienen propiedades como color, tamaño, tipo de letra y, además incorporan unos métodos que responden a mensaje como clics de ratón, pulsación de teclas, etc. En los que se puede integrar código. Polimorfismo: Capacidad de reaccionar de manera distinta ante un mensaje idéntico, dependiendo del objeto que lo reciba, p.e. un clic del ratón recibido por un botón de comando o por una caja de texto. Herencia: Capacidad de derivarse a partir de otro objeto. EL ENTORNO VISUAL BASIC. Los elementos que componen la pantalla de Visual Basic son: 1 Barra de menús. Visualiza las órdenes que se utilizan para desarrollar, probar y archivar una aplicación. Los menús que nos encontramos son: • Archivo contiene las órdenes para trabajar con archivos. • Edición contiene las herramientas que ayudan a escribir el código. • Ver da acceso rápido a todas las partes del programa. • Insertar permite incluir nuevos módulos y formularios en la aplicación. • Ejecutar permite verificar la aplicación mientras se desarrolla. • Herramientas controla el aspecto y propiedades del entorno. • Complementos contiene las utilidades para el manejo de bases de datos. • Ayuda. 2 Barra de herramientas. Facilita el uso a las órdenes más comunes. De izquierda a derecha los iconos que aparecen permiten: • Formulario crear un nuevo formulario. • Modulo crear un nuevo módulo. Se utiliza para crear fragmentos de código independiente del formulario. • Abrir Project • Guardar Proyecto • Bloquear Controles impide que se muevan los controles del formulario involuntariamente. • Editor de Menús visualiza la ventana de diseño de menús. • Propiedades visualiza la ventana de propiedades de los distintos objetos. • Examinador de Objetos muestra las clases, métodos, propiedades, etc. de los objetos disponibles en la aplicación. • Proyecto visualiza la ventana de proyecto. • Inicio. • Interrumpir. • Terminar. • Alternar Puntos de Ruptura. • Inspección Instantánea visualiza el valor del elemento seleccionado en la ventana de código. • Llamadas visualiza la estructura de llamadas activas. • Paso a Paso por instrucciones. • Paso a Paso por procedimientos. 3 Caja de herramientas. Provee de un conjunto de herramientas que permiten colocar los controles en el formulario durante el diseño del proyecto. 4 Ventana de proyecto. En esta ventana están especificados los ficheros (formularios, módulos, etc.) que forman la aplicación y, dónde se seleccionarán para crearlos o modificarlos. Esto se debe a que hay ficheros que pueden utilizarse en más de una aplicación. Además contiene dos botones: Ver Formulario que visualiza el formulario seleccionado y; Ver Código que visualiza el código del fichero seleccionado. 5 Ventana del formulario. Es la ventana que da lugar a la interfaz de usuario. Es la ventana que se personalizará. Los puntos que aparecen sobre el formulario, forman una rejilla que ayuda a la hora de alinear los controles que se sitúan sobre el mismo. Esta rejilla desaparece en tiempo de ejecución. Para eliminarla en tiempo de diseño se accederá a la opción Herramientas/Opciones/Ficha Entorno/Mostrar Cuadrícula. 6 Ventana de propiedades. Especifica las propiedades de cada uno de los objetos. En cada momento mostrará las propiedades del objeto seleccionado en el formulario. Está formada por dos partes: la lista desplegadle de objetos que visualiza el nombre del objeto seleccionado y, la lista de propiedades del objeto seleccionado. PROYECTO. Dado que es muy común en aplicaciones Visual Basic compartir código o formularios personalizados, Visual Basic organiza las aplicaciones en lo que denomina proyectos. Cada proyecto puede tener varios formularios y, el código que activa los controles de un formulario es archivado con el formulario en archivos separados. El código general compartido por todos los formularios de una aplicación puede ser dividido en varios módulos, que también se archivan separadamente. En Visual Basic un proyecto puede tener, además, módulos de clase y ficheros de recursos. Aunque Visual Basic almacena separadamente los archivos que forman un proyecto, hace un seguimiento de dónde están los archivos. Crea un archivo con la extensión .VBP de Visual Basic Program/Project. Visual Basic permite tener un solo proyecto abierto en un momento determinado. Los formularios se archivan con la extensión .FRM y contienen una imagen del formulario y, de todos los controles que pertenecen a él, incluidas sus propiedades. También pueden contener subrutinas de manejo de eventos, procedimientos generales, declaraciones de variables y de constantes a nivel de formulario y, procedimientos externos. Un módulo estándar contiene código Visual Basic que no está asociado a ningún formulario en particular. Los procedimientos que se encuentran en el módulo, pueden ser accedidos desde cualquier otro procedimiento de la aplicación. Se almacenan con la extensión .BAS. Los módulos de clase tienen la extensión .CLS y contienen código, incluido subrutinas, funciones, métodos y procedimientos para crear descripciones genéricas de objetos. Estos módulos contienen propiedades que describen el comportamiento de una clase, así como el código que define las propiedades y los métodos de la clase. Los archivos de recursos se almacenan con la extensión .RES y contienen bitmaps, cadenas de texto, o cualquier otra información que pueda ser cambiada sin tener que reeditar el código de la aplicación. Un proyecto solo puede contener un archivo de recursos FORMULARIOS Y CONTROLES. PROPIEDADES COMUNES Realizaremos el primer programa en Visual Basic. Para ello, una vez arrancado Visual Basic mostraremos la ventana de código, para lo que se hará doble clic en cualquier parte del formulario. En la ventana que aparece se escribirá el código Visual Basic. Esta ventana está formada por las siguientes partes: • En la parte superior encontramos a la izquierda una lista desplegadle correspondiente a los objetos del formulario (en este caso ninguno) y, precedido por Objeto. A la derecha la lista desplegable que aparece corresponde a la lista de procedimientos y viene precedido por Procedimiento. Esta lista muestra todos los procedimientos que puede reconocer el objeto Visual Basic que se encuentra en la lista Objeto. • En la parte inferior y, con fondo blanco, se encuentra la zona de escritura de código donde se escribirá el código. En este momento aparece la plantilla de procedimiento para un suceso. Private Sub Form_Load() End Sub Supongamos que queremos escribir un mensaje cada vez que se haga clic en el formulario. Para ello cambiaremos el procedimiento seleccionando, para el objeto Form, el suceso Clic. Una vez seleccionado, se escribirá: Private Sub Form_Click() Print "Has hecho un clic con el ratón" End Sub Para ejecutar la aplicación pulsaremos F5 y, cuando se haga clic sobre el formulario, aparecerá el mensaje. Para detener la aplicación, pulsaremos el botón de Parada o, Ejecutar/Terminar. Por lo general, los procedimientos de suceso asociados a un formulario empiezan por: Private Sub Form_NombreDelSuceso() EJEMPLO: La aplicación que vamos a realizar estará formada por una caja de texto y un botón de comando. Para ello los pasos a seguir son: • De la caja de herramientas seleccionamos el control Caja de texto, indicado por ab| y, lo situamos en la esquina superior izquierda del formulario. • Ahora seleccionamos el botón de comando (2ª fila, control más a la derecha) y lo situamos a la derecha de la caja de texto. • Modificaremos las propiedades de los controles. El botón debe visualizar "Presióname", para lo cual modificaremos las propiedades del botón. Una vez visualizada la ventana de propiedades del botón (con el icono, con F4 o desde Ver/Propiedades) seleccionaremos la propiedad Caption y cambiaremos el texto por "Presióname". Como valor de la propiedad Name asignaremos cmdPrimerBoton. A la caja de texto cambiaremos el valor de la propiedad Name para que muestre txtPrimeraCaja. La propiedad Text la dejaremos vacía. Supongamos que queremos escribir en la caja de texto un mensaje de bienvenida. Para ello cambiaremos el procedimiento seleccionando, para el objeto cmdPrimerBoton, el suceso Clic. Una vez seleccionado, se escribirá: Private Sub cmdPrimerBoton _Click() txtPrimeraCaja.Text = "Bienvenido a Visual Basic" End Sub GUARDAR FORMULARIOS, MÓDULOS Y PROYECTOS En el menú Archivo tenemos 4 opciones para guardar: • Guardar Proyecto Guarda todos los archivos asociados con el proyecto actual. • Guardar Proyecto Como... Se puede escoger un nuevo nombre para el proyecto actual y guarda todos los archivos asociados con el proyecto actual. • Guardar Archivo Guarda el formulario o módulo actual. • Guardar Archivo Como... Se puede escoger un nuevo nombre para el formulario/módulo actual. EJEMPLO: Modificaremos la aplicación para que, cuando el usuario escriba en la caja de texto, en el botón aparezca el mensaje "Restaurar mensaje". Para ello mostraremos la ventana de código asociada a la caja de texto haciendo doble clic sobre ella. El evento que se produce cuando el usuario escribe en una caja de texto es Change, por lo que el código a escribir será: Private Sub txtPrimeraCaja _Change() cmdPrimerBoton.Caption = "Restaurar mensaje" End Sub Como se ha podido apreciar, la forma de referirse a una propiedad es Objeto.Propiedad, donde Objeto es el nombre del formulario o del control (valor de la propiedad Name) y Propiedad es el nombre de la propiedad a la que se quiere acceder. PROPIEDADES MÁS COMUNES DE LOS FORMULARIOS AutoRedraw (Redibujado automático): Gestiona la manera de redibujar las imágenes en pantalla. Puede tomar los valores True/False. BackColor (Color de fondo): Determina el color de fondo. BorderStyle (Estilo del borde): Solo se puede determinar en modo de diseño. Modifica el borde del formulario en el momento de ejecución. Puede tomar los siguientes valores: • 0 - None La ventana del formulario no tiene borde • 1 - Fixed Single Tamaño fijo con borde no dimensionable. Puede incluir menú de control, barra de título, botón de maximizar y botón de minimizar. • 2 - Sizeable Valor por defecto. • 3 - Fixed Dialog Tamaño fijo del borde, no dimensionable. Puede incluir menú de control, barra de título. No puede incluir botón de maximizar y botón de minimizar. • 4.- Fixed ToolWindow Bajo aplicaciones de 16 bits o Windows NT 3.51 o anteriores funciona como Fixed Single, sin visualizar los botones de maximizar y minimizar. Con Windows 95 visualiza el botón de cerrar y, no aparece en la barra de tareas. • 5.- Sizeable ToolWindow Bajo aplicaciones de 16 bits o Windows NT 3.51 o anteriores funciona como Sizeable, sin visualizar los botones de maximizar y minimizar. Con Windows 95 visualiza el botón de cerrar y, no aparece en la barra de tareas. Caption (Leyenda): Establece el texto de la barra de título de la ventana del formulario. Esta propiedad indica lo que el usuario visualiza. No confundir con la propiedad Name. Propiedad común a muchos controles. ControlBox (Cuadro de control) :Tiene efecto en tiempo de ejecución. Puede tomar los valores True/False. Permite visualizar o no tanto el menú de control como el botón de cerrar en Windows 95. Enabled (Habilitado): El valor False hace que el formulario no responda a eventos. Font (Fuente): Determina el tipo de letra, atributos, etc. para impresión. El texto ya escrito no se verá afectado por un cambio en estas propiedades, pero sí el texto impreso posteriormente. Height, Width (Ancho y Alto): Determinan la anchura y altura del formulario. Se miden en Twips (1/20 punto o lo que es lo mismo, 567 twips en 1 centímetro) Determinan el tamaño del formulario cuando se imprima, no cuando sea visualizado en pantalla. A menos que el usuario modifique el borde cambiando la propiedad BordeStyle, el usuario podrá modificar el tamaño y la forma de los diversos formularios de la aplicación sin tener en cuenta esta propiedad. Icon (Icono) :Representa al formulario cuando esté minimizado o cuando se convierta en una aplicación independiente en el escritorio de Windows. Left, Top (Izquierda, Arriba) eterminan la posición del formulario dentro de la pantalla. Funcionan de manera idéntica a las propiedades Height y Width descritas anteriormente. Se miden en twips. MaxButton, MinButton (Botones de maximizar y minimizar respectivamente) :El valor de esta propiedad (True/False) será ignorado si se ha establecido la propiedad BorderStyle a 0 - None. Solo es visible en tiempo de ejecución. MousePointer (Puntero del ratón) etermina la forma en que se mostrará el puntero del ratón. Name (Nombre) ropiedad MUY importante y común a todos los objetos de Visual Basic. Define el nombre del objeto en el código del programa. Para poder acceder a un control habrá que hacerlo a partir de su nombre. No disponible en tiempo de ejecución. Picture (Dibujo) ibuja una imagen en el formulario (bitmap) Visible etermina si un formulario estará visible o no en tiempo de ejecución. WindowState (Estado de la ventana) etermina la forma en la que aparece el formulario durante la ejecución. ScaleMode (Modo de la escala) ermite cambiar las unidades de medida empleadas en el sistema de coordenadas interno del formulario. ScaleHeight, ScaleWidth (Escala de la Altura y la Anchura) :Sirven para establecer una escala propia para la altura y anchura del formulario. Tiene efecto colateral sobre la propiedad ScaleMode, que se establece a 0. ScaleLeft, ScaleRight (Escala de Izquierda y Derecha) :Sirven para establecer una escala propia para los márgenes izquierdo y superior del formulario. El valor original de estas propiedades es 0. PROPIEDADES COMUNES DE LOS CONTROLES Los controles que se pueden incluir en el formulario aparecen en la caja de herramientas. No es necesario recordar la posición o forma de cada control. En Visual Basic, cuando el cursor se sitúa sobre un control de la caja de herramientas, aparece una pista recordando el control que permite crear. Todos los controles tienen algunas propiedades comunes como pueden ser: Caption (Leyenda) :Establece el texto que el usuario visualizará. No confundir con la propiedad Name. Text (Texto) :Actúa igual que la propiedad Caption para aquellos controles que no dispongan de dicha propiedad, p.e. las cajas de texto. Muestra el contenido del control y, por tanto, también contiene los caracteres introducidos por el usuario. No confundir con la propiedad Name. Name (Nombre) ropiedad MUY importante. Define el nombre del control en el código del programa. No confundir con las propiedades Caption o Text que es lo que el usuario visualiza. TabStop (Punto de Tabulación) :Si el valor es True, el control será susceptible de recibir el foco durante la ejecución de la aplicación. TabIndex (Índice de tabulación) :Indica el número de orden en el que el control recibirá el foco cuando el usuario, en tiempo de ejecución, pulse la tecla Tab para recorrer los controles. A medida que se van situando controles en el formulario, Visual Basic incrementa en una unidad, el valor de esta propiedad para el nuevo control y, lo decrementa en caso de eliminar algún control. El valor para el primer control es 0. BOTONES DE COMANDO Se utiliza para ejecutar la acción asociada a la pulsación de dicho botón. Enabled (Habilitado) :El valor False hace que el botón aparezca atenuado y, no responda a eventos. Cancel (Cancelar) :Establecer el valor de esta propiedad a True, hace que el botón responda a la pulsación de la tecla ESC como si se hubiera hecho clic sobre él. En un formulario solo puede haber un botón con esta propiedad establecida a True. Default (Defecto) :Establecer el valor de esta propiedad a True, hace que el botón responda a la pulsación de la tecla INTRO como si se hubiera hecho clic sobre él. Al igual como antes, en un formulario solo puede haber un botón con esta propiedad establecida a True. CUADROS DE TEXTO Es un área dentro del formulario donde el usuario puede escribir texto o visualizarlo. MaxLength (Tamaño máximo) etermina el número máximo de caracteres que puede aceptar la caja de texto. MultiLine (Líneas Múltiples) ermite que la caja de texto admita varias líneas con la pulsación de la tecla INTRO. Normalmente se combina con la propiedad ScrollBars. ScrollBars (Barras de desplazamiento) :Controla si en la caja de texto aparecerán las barras de desplazamiento o no. PasswordChar (Carácter clave) ermite mostrar un carácter clave en vez de los introducidos por el usuario. Locked (Bloqueada) ermite bloquear la caja de texto para que el usuario en tiempo de ejecución, no modifique el contenido de la caja. Esta propiedad es nueva en Visual Basic SelLength (Longitud del texto seleccionado) :Número de caracteres seleccionado actualmente. Accesible durante la ejecución. SelStart (Comienzo de la selección) :Indica dónde comienza el texto seleccionado (la posición del cursor). Si el valor es 0, el texto seleccionado empieza delante del primer carácter de la caja de texto. Si es igual a la longitud del texto de la caja, indica la posición detrás del último carácter del texto. Accesible en tiempo de ejecución. SelText (Texto seleccionado) :Contiene el texto seleccionado. Accesible en tiempo de ejecución. ETIQUETAS Es un área dentro del formulario donde el usuario puede visualizar texto sin modificarlo. Alignment (Alineación) etermina la situación del texto dentro de la etiqueta. AutoSize, WordWrap (Tamaño automático y enlace de textos) :La primera propiedad permite que la etiqueta crezca horizontalmente en función de su contenido. La segunda propiedad permite que el crecimiento sea vertical. FRAME (Recuadro) Un control Frame proporciona un agrupamiento identificable para controles. También puede utilizar un Frame para subdividir un formulario funcionalmente por ejemplo, para separar grupos de controles OptionButton. Para agrupar controles, en primer lugar trace el control Frame y, a continuación, meta los controles dentro de Frame. De este modo podrá mover al mismo tiempo el Frame y los controles que contiene. Si traza un control fuera del Frame y, a continuación, intenta moverlo dentro de éste, el control se colocará sobre el Frame, pero no pertenecerá a el. Es decir, si es un OptionButton este se comportará como si estuviese fuera del Frame, aunque físicamente esté dentro de el. Cuando un control Frame tiene dentro otros controles, y hacemos invisible al Frame, mediante su propiedad Visible = False, los controles interiores al Frame quedan también invisibles. PROPIEDADES Caption : Es el título que aparece en el borde del Frame. ClipControls : Si esta propiedad está a True, los métodos gráficos en eventos Paint vuelven a dibujar el objeto entero. Antes del evento Paint se crea una zona de recorte alrededor de los controles no gráficos del formulario. Si esta propiedad está a False dibujarán solamente las áreas últimamente expuestas. En tiempo de ejecución, esta propiedad es de sólo lectura. Enabled : Cuando esta propiedad está a False, tanto los procedimientos asociados al propio control Frame como todos los controles dentro del Frame estarán inhabilitados. Si esta propiedad está a True, todos ellos están habilitados. Font : En esta propiedad, el tipo de letra afecta solamente al título del Frame, no a los controles internos a el. ForeColor : Color de las letras del título del Frame. Visible : Cuando un Frame está con la propiedad Visible = False, tanto el propio Frame como todos los controles interiores a el serán invisibles. CHECK BUTTON (Botones eleccion) El control CheckBox, o casilla de verificación, permite elegir una opción (activada/desactivada, True/False) que el usuario puede establecer o anular haciendo click. Una X en una casilla de verificación indica que está seleccionada, activada, o con valor True. Cada casilla de verificación es independiente de las demás que puedan existir en el formulario, pudiendo tomar cada una de ellas el valor True o False, a voluntad del operador. OPTION BUTTON (Botones de opcion) Un control OptionButton muestra una opción que se puede activar o desactivar, pero con dependencia del estado de otros controles OptionButton que existan en el formulario. Generalmente, los controles OptionButton se utilizan en un grupo de opciones para mostrar opciones de las cuales el usuario sólo puede seleccionar una. Los controles OptionButton se agrupan dibujándolos dentro de un contenedor como un control Frame, un control PictureBox o un formulario. Para agrupar controles OptionButton en un Frame o PictureBox, dibuje en primer lugar el Frame o PictureBox y, a continuación, dibuje dentro los controles OptionButton. Todos los controles OptionButton que están dentro del mismo contenedor actúan como un solo grupo, e independientes de los controles OptionButton de otros grupos distintos. Aunque puede parecer que los controles OptionButton y CheckBox funcionan de forma similar, hay una diferencia importante: Cuando un usuario selecciona un OptionButton, los otros controles del mismo grupo OptionButton dejan de estas disponibles automáticamente. Por contraste, se puede seleccionar cualquier número de controles CheckBox. En el ejemplo de la figura, existen tres grupos de OptionButton, uno en un PictureBox, que actúa, al tiempo que como cuadro de imagen, como contenedor de controles OptionButton. Otro grupo está en el interior de un control Frame, y el otro grupo está en el formulario. Los tres grupos son independientes entre sí, pero interiormente al grupo solamente puede seleccionarse uno de los OptionButton que lo componen. En el formulario también existen tres CheckBox, que como puede verse, se pueden seleccionar los que se desee, sin ningún tipo de exclusión entre ellos. PROPIEDADES Alignment : Común a ambos controles. Admite los siguientes valores : 0 - Left Justify 1 - Right Justify Cuando se elige el valor 0, justificado a la izquierda, el título del control aparece a la derecha del botón, pegado a la figura del botón. Cuando se elige el valor 1, justificado a la derecha, el título (Caption) aparece a la izquierda del botón, comenzando en la parte izquierda del cuerpo total del control, es decir, no tiene porqué aparecer con su parte derecha pegado al botón, caso que el cuerpo total del control se haya hecho mas largo que la palabra del título. DataField DataSource ropiedades del CheckBox solamente. Establecen la base de datos y el campo donde están los datos (True / False) que se llevarán a la propiedad Value . Al igual que en los controles Label y TextBox esta propiedad nos permite visualizar datos de una base de datos de una forma muy sencilla. En este caso, el CheckBox solamente permite presentar (logicamente) datos de tipo Booleano. Height : Común a ambos controles, La altura del control solamente afecta a la colocación del Titulo (Puede ponerse un título largo en varias líneas), no al tamaño del botón, que es invariable. Value : Común a ambos controles, El valor de esta propiedad indica si el control está seleccionado (Value = 1) o no seleccionado (Value = 0 ó Value = False). Esta propiedad puede cambiarse en tiempo de ejecución. Mediante esta propiedad, podemos tanto forzar el valor como leerlo. Atención. Presenta una diferencia entre uno y otro control respecto a la forma de expresarse respecto a su valor cuando está seleccionado. Para forzar que el control NO esté seleccionado, o para leer el Value cuando no está seleccionado, podemos utilizar tanto Value = 0 como Value = False. Sin embargo, cuando lo que se quiere es poner la propiedad a True hay una diferencia entre ambos controles. Para el OptionButton podemos utilizar indistintamente las siguiente formas : Option1.Value = True Option1.Value = 1 Con cualquiera de ellas seleccionaremos ese control por programa. Para el CheckBox solamente se podrá usar para este propósito la instrucción : Check1.value = 1 El poner como Value el valor True nos dará en este control un error. Para la lectura del Value, existe una diferencia entre el valor devuelto por el CheckBox y el devuelto por el OptionButton. Para leer el dato existente en un CheckBox es necesario utilizar la forma : variable = Check1.Value donde variable tomará el valor 1 (no True) Para el control OptionButton emplearemos una instrucción igual : variable = Option1.Value donde variable tomará el valor True (no 1) PROCEDIMIENTOS EVENTOS • Click • DblClick (Solo OptionButton) RESUMEN Las propiedades de las que dispone el control son las siguientes: Text: Aqui indicamos el texto que aparecerá en el control. Podemos asignarle cualquier texto en tiempo de diseño o ejecución. También podemos tomar el texto que haya introducido el usuario para tratarlo durante la ejecución. Name: Esta propiedad la tienen todos los controles, el nombre que viene por defecto en este caso Text1 y es el nombre con el que se conocerá el control cuando lo utilicemos en el codigo. En un mismo formulario no puede haber 2 controles con el mismo nombre. Conviene poner un nombre que represente la funcion que tiene el control en la aplicacion para que el codigo quede más claro. Ejemplo, si en el textbox vamos a introducir la dirección de una persona podemos asignale a esta propiedad el valor Direccion. MultiLine: Permite que introduzcamos varias lineas de texto en el control en lugar de sólo una. Alignment: Alineacion que tendrá el texto dentro del control: izquierda, centro o derecha. Para que funcione la propiedad MultiLine debe estar con el valor true. Locked: Si esta con valor true bloquea el control, es decir, el usuario no puede introducir ni modificar el texto que contenga. Nos puede servir para utilizar el control como salida de datos sin que el usuario pueda modificarlos por error. Caption: contenido de las etiquetas y botones Otras propiedades que son comunes a la mayoria de los controles: Backcolor: color de fondo. Forecolor: color de letra. Font: tipo y tamaño de letra. METODOS Los métodos son los procedimientos o funciones asociados a un control los cuales realizan una accion en el control: Ej. ordenar sus elementos, buscar un dato, etc. EVENTOS Los eventos son acciones que activan al control se dan en forma externa: click, doble click, movimiento del ratón. A estos eventos se les puede asociar código para que se ejecute al producir el evento. MouseMove: al mover el raton por encima del control. Mousedown: al pulsar cualquier boton del raton Change: al cambiar el contenido del control Click: al hacer click con el botón izquierdo del ratón sobre el control Doubleclick: al hacer doble click con el con el botón izquierdo del ratón sobre el control Getfocus: este evento se activa cuando el control recibe el enfoque, es decir, cuando se activa el control en tiempo de ejecución para introducir datos en él o realizar alguna operación. Lostfocus: Es el contrario del anterior evento, se activa cuando el control pierde el enfoque, es decir, se pasa a otro control para seguir introduciendo datos. FUNDAMENTOS DE PROGRAMACION VARIABLES Declaración La forma de declarar las variables es la siguiente: Dim| Public| Static nombre_variable As tipo Dim: Al declarar una variable con esta palabra estamos diciendo que la variable sea local al ámbito en que se declara. Puede ser dentro de un procedimiento o dentro de un formulario, de esta forma no sería accesible desde los demás procedimientos o formularios. Public: Las variables declaradas serán publicas y podrán estar accesibles desde todos los formularios de la aplicación. Para conseguirlo tendremos que declararlas en un módulo de código, no en la sección declarations de cualquier formulario de los que conste la aplicación.Para crear un módulo de código en el menú principal de Visual Basic marcamos en INSERT/MODULE y aparecerá junto a los demás formularios de la ventana de proyecto aunque con un icono distinto indicando que se trata de un módulo de código. Static: Con esta forma de declarar variables conseguiremos que las variables locales no se creen y se destruyan al entrar y salir de los procedimientos donde fueron declaradas sino que se mantenga su valor durante todo el periodo de ejecución de la aplicación. De esta forma a entrar en algún procedimiento las variables recuerdan el valor que tenían cuando se salió de él. TIPOS DE VARIABLES TIPO COMENTARIO BOOLEAN Sólo admite 2 valores TRUE o FALSE BYTE admite valores entre 0 y 255 INTEGER admite valores entre -32768 y 32767 LONG admite valores entre -2.147.483.648 y 2.147.483.647 SINGLE admite valores decimales con precisión simple DOUBLE admite valores decimales de doble precisión CURRENCY válido para valores de tipo moneda STRING cadenas de caracteres DATE fechas, permite operar con ellas Es importante declarar la sentencia Option Explicit al inicio del formulario para evitar posibles errores con los nombre als variables durante el desarrollo del codigo. ESTRUCTURAS DE SELECCIÓN Disponemos de 2 tipos de sentencias para realizar selecciones dependiendo del valor de una expresión o una sola variable: Sentencia If Then Else La primera es la sentencia If Then Else que no debe tener secretos puesto que es muy similar en todos los lenguajes La estructura general es la siguiente: If condición then <bloque de sentencias> Else <bloque de sentencias> End If Se pueden colocar todas las sentencias de código que queramos en cada uno de los bloques de sentencias, siempre que cada sentencia vaya en una línea distinta. Si los bloques de sentencias están formados por una sola instrucción podemos utilizar la versión reducida que ocupa una sola línea: If <condición> then <sentencia> else <sentencia> Estructura SELECT CASE Esta sentencia permite realizar operaciones diferentes dependiendo del valor de una variable: Estructura General: Select Case dato Case valor1 bloque de sentencias case valor2 bloque de sentencias Case valor3 bloque de sentencias case else bloque de sentencias, se ejecutan si no se cumple ninguno de los valores anteriores End Select En esta construcción, dependiendo del valor de la variable dato se ejecutará un bloque de sentencias diferente. Los valores que podemos colocar en lugar de valor1, valor2, valor3 no sólo se limitan a valores constantes como números y cadenas de texto.