Vous êtes sur la page 1sur 29

Introduccin a Visual Basic 6.0 ________________________________________ Archivos del proyecto Formularios (*.frm) Mdulos estndar (*.

(*.bas) Mdulos de clase (*.cls) Controles El Depurador (Debugger) Es un lenguaje de programacin de alto nivel, que permite desarrollar aplicaciones Windows; este lenguaje utiliza el cdigo BASIC para las instrucciones y sentencia s de la aplicacin. Es un lenguaje basado en objetos, ya que tiene una interfaz grfica donde se coloc an los controles y luego se programan los eventos de cada objeto en cdigo BASIC y se ejecuta la aplicacin. Contiene todos los controles que se ven en el entorno W indows y stos se colocan sobre un elemento llamado Formulario, el cual ser la vent ana de la aplicacin. Con Visual Basic 6.0 es muy sencillo crear aplicaciones y es el lenguaje predile cto de los que recin principian en el campo de la programacin Los programas creados con Visual Basic 6.0 se podrn ejecutar en cualquier equipo, aunque no tengan instalado el lenguaje; slo basta con que est presente en el dire ctorio C:\Windows\System el archivo msvbvm60.dll (se puede copiar y pegar en dic ho directorio) para que las aplicaciones funcionen. Sin embargo, pueden ser nece sarios otros archivos, generalmente con extensin *.ocx y*.dll con informacin sobre los controles y libreras de objetos utilizados por el programa. Toda aplicacin que se est creando en Visual Basic 6.0 se denomina Proyecto y conti ene bsicamente dos archivos, uno con extensin *.vbp y otro con extensin *.frm. El a rchivo *.vbp contiene toda la informacin acerca del proyecto en cdigo ASCIi, o sea , editable por el Block de Notas; entre los datos que contiene, estn los archivos que lo componen (*.frm, *.bas, *.cls, etc) y los archivos que utiliza, como los ya mencionados con extensin *.ocx o *.dll. Para crear el ejecutable, en el men Archivo, Generar... exe, se desplegar un cuadr o de dilogo donde se elegir el lugar donde colocar el ejecutable, una vez hecho es to se compilar el proyecto y se crear el ejecutable. Al iniciar el programa aparecer una pantalla donde se elegir el tipo de programa q ue se crear: una aplicacin estndar, una aplicacin ActiveX, un control, etc. Si se selecciona una aplicacin estndar (EXE estndar) aparecer una pantalla donde se encuentra el Formulario, o sea, la futura ventana. Tambin se visualiza la caja de herramientas donde se encuentran los controles que se colocarn en el formulario. En la parte superior derecha se encuentra el Explorador de Proyecto, el cual es un cuadro donde se ven los formularios, mdulos y dems que pueda contener ese proy ecto. Debajo de ste se encuentra el cuadro Propiedades, el cual muestra las propi edades del objeto seleccionado. Debajo de ste se encuentra el cuadro Posicin, el c ual muestra la posicin del formulario en la pantalla, y permite ajustarla. Por ltimo, si alguna de estas pantallas no llega a visualizarse porque se cerraro n, se las hace aparecer desde el men Ver. Los formularios, mdulos, etc., tienen una pantalla propia que muestra su contenid o y que al haber ms de una abierta, se puede cambiar de ventana desde el men Venta na. Archivos del Proyecto. Ya se dijo que un proyecto est compuesto bsicamente por dos archivos con extensin * .vbp (Visual Basic Proyect) el cual contiene la informacin del proyecto y otro co n extensin *.frm (Form) el cual es el formulario en el que se desarrollar la aplic acin. Adems, pueden haber otros archivos *.frm en caso de tener ms de un formulario , mdulos estndar (*.bas) o mdulos de clase (*.cls); adems de otros como pginas de dat os, controles ActiveX (*.ocx), etc. Ahora se describir la funcin y utilidad de algunos de estos archivos: Formularios (*.frm) Estos archivos tienen la informacin acerca de la ventana que representa, los cont roles que tiene, sus propiedades y el cdigo escrito en l. Este archivo contiene la interfaz grfica de la ventana y tambin el cdigo en ella escrito. Por lo tanto, a l

a hora de editarlo, se tendrn dos ventanas, una que muestra su interfaz grfica la cual se puede ver seleccionando dicho formulario en el Explorador del Proyecto y en Ver Objeto en el men Ver; la otra mostrar el cdigo BASIC escrito en el archivo y se accede a ella seleccionando el formulario y en Ver Cdigo desde el men Ver. Este archivo est escrito en cdigo ASCII editable por el Block de Notas. Mdulos estndar (*.bas) Estos archivos slo contienen cdigo BASIC y por lo tanto no tiene interfaz grfica, s in embargo su utilidad es grande ya que permite a todo el proyecto utilizar las funciones y procedimientos en l escritos, y de esta forma se evita reescribir cdig o. El alcance del cdigo escrito aqu es mucho ms amplio que el escrito en los formulari os. Tambin se puede leer con el Block de Notas por contener caracteres ASCII. Mdulos de Clase (*.cls) Este tipo de mdulos, al igual que los mdulos estndar no tienen interfaz grfica y slo contienen cdigo BASIC, editable por el Block de Notas. La utilidad de stos es que permiten crear objetos diseados por el usuario, con propiedades, mtodos, funciones y eventos creados tambin por el usuario. Existen adems otros objetos como son los componentes ActiveX (otros controles), o los objetos Connection que son conexiones a bases de datos de otros servidores, etc. Para ingresar un nuevo formulario, mdulo estndar, mdulo de clase, etc., ir al men In sertar y elegir el componente a ingresar; tambin se puede ingresar alguno de esto s componentes ya existente haciendo clic con el botn derecho en el Explorador de Proyecto y elegir el comando importar archivo, entonces se despliega un cuadro d e dilogo en el cual se elegir el archivo a importar. Para quitar uno de estos componentes, seleccionarlo con el botn derecho y elegir Quitar, se pedir confirmacin y se quitar el archivo. Un objeto de estos tipos, una vez guardados, permanecen en su ubicacin, si se qui tan del Proyecto no se elimina el archivo del disco. Controles. Los controles son aquellos objetos de Visual Basic 6.0 que tienen una interfaz g rfica. Estos se encuentran en la caja de herramientas y son controles estndar; ent re ellos se encuentran los siguientes: Etiquetas (Label) Cajas de Texto (Textbox) Barras de Desplazamiento (Scrollbars) Marcos (Frame) Botones de Opcin (Option) Casillas de Verificacin (Checkbox) Cuadros de Lista (Listbox) Cuadros Combinados (Combobox) Botones de Comando (Commandbutton) Controles de archivos (Drive, Dirlist, Filelist) Controles grficos (Image, Picturebox) Control de tiempo (Timer) Control de Datos (Datacontrol) Si se agregan algunos componentes, desde el men Proyecto, Controles adicionales, se agregarn libreras y controles ActiveX (*.dll y *.ocx) los cuales contienen otro s tipos de controles que aparecern disponibles en la caja de herramientas, contro les como la barra de progreso (Progressbar), el control Listview, el control Ima gelist, el control de Fechas (DTPitch), etc. Cada control que se coloca en el formulario, y aun el mismo formulario tienen su s propios Eventos, Propiedades y Mtodos; stos se vern ms adelante. El Depurador (Debugger) Cuando se crea una aplicacin, se suelen cometer muchos errores hasta que, con muc has pruebas, se los va corrigiendo (depurando) hasta que responde de acuerdo a l o que se espera. Visual Basic 6.0 tiene una excelente herramienta para la depuracin de las aplicac iones. Para este fin se puede ejecutar la aplicacin en cualquier momento, desde el men Ej

ecutar, si se llega a un momento en el programa en el cual se introdujeron error es, el programa dar un mensaje de error y mostrar en la ventana de cdigo el lugar d onde se encuentra el error. Tambin se puede pausar o terminar la ejecucin del prog rama con los botones Interrumpir y Restablecer de este men. Estos tres botones se encuentran tambin en la barra de herramientas Estndar. El men Depuracin permite la ejecucin controlada del programa;ejecutar el programa p aso a paso, colocar puntos de interrupcin en el cdigo y al llegar a ese punto la e jecucin del programa se pausa y se muestra la lnea de cdigo resaltada. En este men hay un comando llamado Agregar Inspeccin, donde se escribe una expresin (variable, propiedad de un control, etc.), se le asigna un contexto (procedimie nto, funcin, etc.), un mdulo (un formulario, un mdulo estndar, todo el proyecto, etc .) y un tipo de inspeccin, la cual ser el criterio que se utilizar para examinarla y que interrumpir el programa cuando la condicin se cumpla. Tambin en el men Ver se encuentra la ventana Inmediato, en la cual se pueden visua lizar los resultados (cuando el programa est interrumpido o no est ejecutndose), es cribiendo la sentencia Print y luego la expresin. Se puede utilizar tambin llamndol a desde el cdigo con la sentencia Debug. Otra ventana es la ventana Locales, en la cual se visualizan los cambios ocurrid os en las variables locales de un procedimiento o funcin, es ideal para cuando se ejecuta un programa paso a paso, para examinar el comportamiento de las variabl es. Por ltimo, la ventana Inspecciones muestra las variables que se hallan agregado c on Agregar inspeccin. Personalizacin de Visual Basic 6.0 ________________________________________ La ventana de cdigo. Comentarios. Sentencias en la misma lnea y sentencias en ms de una lnea Agregando componentes Propiedades del Proyecto Visual Basic 6.0 se puede personalizar para una mayor facilidad al trabajar con l , de acuerdo a las preferencias del usuario. En la ventana de cdigo, el cdigo que se escribe aparece con determinados colores. El cdigo escrito aparece en negro, las palabras clave (Keywords) de Visual Basic 6.0 aparecen en azul, los errores en rojo y los comentarios en verde. Estos colo res aparecen por defecto, sin embargo se pueden personalizar. Para esto, ir al m en Herramientas y luego a Opciones. En la pestaa Formato del Editor aparece la opc in de cambiar los colores del cdigo, la fuente y tamao. En la ventana de cdigo, los procedimientos (las expresiones que comienzan con Pri vate Sub y finalizan con End Sub) aparecen separadas por una lnea. En la pestaa Ed itor, la casilla Separador de procedimientos, se activa y desactiva esta caracte rstica. Cuando se escribe un identificador (el nombre de un objeto por ejemplo) seguido de un punto, aparece una lista con las propiedades y mtodos de ese objeto. Esta c aracterstica se habilita o deshabilita desde la pestaa Editor, las casillas Lista de miembros automtica, Informacin rpida automtica y Sugerencias de datos automticas. Estas caractersticas se denominan Autocompletar. Los formularios poseen una cuadrcula en la vista diseo, la cual no se ve cuando se ejecuta el programa. Esta sirve como gua para el usuario a la hora de posicionar los controles en el formulario. Se personaliza, activa o desactiva esta caracte rstica desde la pestaa General, Opciones de Cuadrcula. Cuando se utilicen variables, puede elegirse que se obligue a declararlas todas a la hora de escribir cdigo, aparecer al inicio de la ventana una expresin que dir O ption Explicit; para activar o desactivar esta opcin, pestaa Editor, casilla Reque rir declaracin de variables. La ventana de cdigo. Con respecto a la ventana de cdigo, vale mencionar algunas caractersticas de sta a fin de utilizar mejor las posibilidades que brinda. Los cuadros combinados de la parte superior indican el control y el evento que i nvolucra el procedimiento a editar.

Los botones de la parte inferior izquierda sirven para mostrar un slo procedimien to a la vez en la ventana (se puede alternar con los cuadros combinados de la pa rte superior) o todos los procedimientos separados por una lnea. En la parte izquierda de esta ventana hay una barra vertical donde se cliquea pa ra agregar puntos de interrupcin (que aparecen como un crculo bord) para la ejecucin controlada de un programa. Comentarios. Los comentarios son frases explicativas acerca del cdigo que se est escribiendo, s e presentan por defecto de color verde y no son tomados en cuenta a la hora de e jecutar el programa (lo mismo que para las sentencias que utilicen Debug). Para escribir un comentario, se comienza con un carcter '(apstrofe) y luego se esc ribe lo que se desee. Sentencias en la misma lnea y sentencia en ms de una lnea. Las sentencias se pueden separar de dos formas: comenzando a escribir en otra lne a o en la misma lnea, separada por : (dos puntos). Tambin se puede escribir una sentencia en ms de una lnea, si se deja un espacio y s e coloca un carcter & antes de pasar a la lnea siguiente. Una limitacin de este tip o de escritura es que no se pueden comentar este tipo de lneas. Agregando componentes. Puede que se desee utilizar controles adicionales (como los ya mencionados) o qu e se deseen utilizar libreras de objetos especiales, como DAO para el acceso a ba ses de datos (Access, dBase, Paradox, etc.). Estos componentes se pueden agregar desde el men Proyecto, Controles adicionales (o con Ctrol+T desde el teclado) para los controles y Proyecto, Referencias para las libreras. En ambos casos aparecer un cuadro para elegir los componentes deseados, o elimina r los que no se deseen utilizar. Propiedades del Proyecto. El proyecto que se est elaborando tiene sus propiedades: un nombre, descripcin, de rechos de autor, nmero de versin, etc. Estas propiedades son accesibles desde el men Proyecto, Propiedades de... . En es tas propiedades se basar un objeto denominado App. Trabajo con Visual Basic 6.0 ________________________________________ Eventos Ejemplo 1 Propiedades Ejemplo 2 Mtodos Ejemplo 3 Los objetos de Visual Basic 6.0 tienen (o pueden tener) eventos, propiedades y mt odos. Los eventos son las acciones que el usuario ejerce sobre un objeto; es un evento el hacer clic sobre un control, mover el ratn, etc. Las Propiedades son la s cualidades que presenta un objeto; por ejemplo su nombre, su color, su tamao, s u posicin, etc. Los Mtodos son las operaciones que un objeto puede hacer, por ejem plo un formulario posee el mtodo PrintForm, el cual enva un trabajo de impresin de s mismo. Eventos. Segn el tipo de objeto, se admitirn algunos eventos, ya que si bien hay eventos co munes a varios objetos, otros no los tienen, y algunos objetos no tienen eventos (por ejemplo los controles Line y Shape). En la ventana de de cdigo de un formulario hay dos cuadros combinados en la parte superior. El de la izquierda despliega todos los controles del formulario (y el propio formulario) que admiten eventos, si se selecciona uno, en el cuadro comb inado de la derecha aparecern todos los eventos que ese control soporta. Cuando un evento tiene lugar, el usuario programa lo que ese evento desencadenar. Esto se establece de la siguiente manera: Private Sub objeto_evento() Sentencias End Sub

Donde objeto es el nombre del objeto en que se genera el evento y evento es el n ombre del evento que se genera. Sentencias son las instrucciones que indican qu o currir al producirse este evento y End Sub finaliza este procedimiento. Antes de continuar, hay que aclarar los nombres de los controles. Un control pue de tener cualquier nombre, siempre que empiece con una letra, que no tenga carac teres comodines (como ? ; / \ < > # : *) y no sea una palabra reservada por el l enguaje; estas palabras reservadas aparecen en azul cuando se escribe el cdigo (F or, Private, End, If, Print, etc.). Por convencin, se establece que las tres prim eras letras del nombre del objeto lo describan y las restantes describan su func in; por ejemplo, una caja de texto donse se escriban edades, podra llamarse txtEda d, sin embargo es una convencin, no es regla. Algunos eventos tienen argumentos. Los argumentos son datos adicionales sobre el evento, los cuales lo hacen ms especfico; hay eventos que no utilizan argumentos y otros que s. Los argumentos se encierran entre parntesis a continuacin del nombre del evento. Ejemplo 1 Crea un nuevo proyecto estndar y coloca los siguientes controles, con sus propied ades: Control Propiedad Valor Form Name frmProg Commandbutton Name cmdBlanco " " Caption Blanco Commandbutton Name cmdAzul " " Caption Azul Textbox Name Text1 Escribe en la ventana de cdigo del formulario el siguiente cdigo: Private Sub cmdBlanco_Click() Text1.BackColor=vbWhite End Sub Private Sub cmdAzul_Click() Text1.BackColor=vbBlue End Sub Ejecute el programa como ya se ha visto anteriormente (men Ejecutar o F5). Cuando se hace clic sobre el botn de nombre cmdBlanco, se desencadena el evento C lick, el cual trae por resultado el cambio del color de fondo de la caja de text o, y lo mismo ocurre con el botn cmdAzul. Ahora un ejemplo de un evento que lleva argumentos: el evento KeyPress. Este eve nto ocurre cuando se oprime una tecla del teclado sobre un control. Lleva por ar gumento la expresin Keyascii as Integer, el cual especifica el botn del teclado qu e se puls. Crea un nuevo proyecto y coloca los siguientes controles: Control Propiedad Valor Form Name frmProg Commandbutton Name cmdPrueba " " Caption Convertir Textbox Name txtPrueba " " Text Escribe en la ventana de cdigo del formulario el siguiente cdigo: Private Sub cmdPrueba_Click() txtPrueba.Text=Chr(Keyascii) End Sub Private Sub txtPrueba_KeyPress(Keyascii as Integer) cmdPrueba.SetFocus End Sub Pulse F5 para probar esta aplicacin. Cada tecla del teclado tiene un carcter en cdi go ASCII que la representa y se puede saber oprimiendo la tecla Alt y un nmero en el teclado numrico. Por ejemplo, el carcter @ tiene nmero 64, o sea que Alt+64 dev olver el carcter @. A continuacin, una lista de los eventos ms usuales y su descripcin. Click: ocurre al hacer clic sobre un control (con el botn primario del mouse). No

lleva argumentos. Dblclick: ocurre al hacer doble click sobre un control (con el botn primario del mouse). No lleva argumentos. LostFocus: ocurre cuando un control pierde el Foco (cuando deja de estar activo) , no lleva argumentos GotFocus: ocurre cuando un control recibe el Foco (comienza a estar activo), no lleva argumentos Change: ocurre cuando algo cambia en un control. No lleva argumentos. KeyPress: ocurre cuando se presiona una tecla del teclado sobre un control. Llev a por argumento la expresin Keyascii as Integer, un nmero entero que representa el cdigo ASCII de la tecla presionada. MouseMove: ocurre cuando se mueve el mouse sobre un control. Tiene por argumento s ByVal Button as Integer, ByVal Shift as Integer, ByVal X as Single, ByVal Y as Single. Con respecto a estos argumentos, Button indica si hay algn botn presionad o, Shift indica si est presionadoa alguna de las teclas del teclado (Shift, Contr ol y/o Alt), X indica la coordenada X del puntero e Y indica la coordenada Y del puntero. MouseUp: ocurre al soltar un botn del mouse sobre un objeto. Tiene los mismos arg umentos que el evento MouseMove. MouseDown: ocurre al presionar un botn del mouse sobre un objeto. Tiene los mismo s argumentos que el evento MouseMove y MouseUp. DragOver: ocurre mientras se arrastra un objeto sobre otro. Vale decir que este evento no ocurre sobre el objeto arrastrado sino sobre el objeto sobre el que se arrastra. Los argumentos son X e y que son las coordenadas (como en los tres ev entos anteriores) y un argumento llamado Control el cual indica el control que s e arrastra. DragDrop: ocurre cuando finaliza una operacin de arrastre. Los argumentos son las coordenadas X e Y. Hay eventos que son propios de cada control, porque solamente se producirn en ese control. Un ejemplo es el evento Timer del control Timer (un control estndar que permite que determinadas acciones se ejecuten peridicamente), el evento Resize d el formulario, etc. Estos se vern cuando se vea cada control en particular. Ya se mencion que los eventos MouseUp, MouseDown, MouseMove tienen ciertos argume ntos como Button y Shift que indican qu obtones del mouse y del teclad estn presio nados. Estos valores son constantes de Visual Basic 6.0 que tienen un valor numri co y una constante literal. A continuacin dos tablas con los valores de estas con stantes: Tabla 1 - Constantes del argumento Button Botn Constante Valor Botn izquierdo presionado vbLeftButton 1 Botn derecho presionado vbRightButton 2 Botn central presionado vbMiddleButton 4 Botn izq + der 3 Tabla 2 - Constantes del argumento Shift Botn Constante Valor Tecla Shift vbShiftMask 1 Tecla Control vbCtrlMask 2 Tecla Alt vbAltMask 4 Tecla Shift + Ctrol 3 Propiedades. Las propiedades de los objetos varan segn el objeto. Hay propiedades comunes a var ios objetos y otras nicas, propias del objeto, debido a su funcin. Las propiedades se pueden definir en tiempo de diseo y en tiempo de ejecucin. Las propiedades se definen en tiempo de diseo mediante el cuadro Propiedades y en tie mpo de ejecucin mediante las sentencias en el cdigo. Las propiedades definidas en tiempo de diseo son las propiedades por defecto de los objetos y stas se presentarn al cargarse el formulario (a menos que se cambien con el evento Load del formul ario). Las propiedades pueden ser de slo lectura, de slo escritura o ambas. Las propiedad es de slo lectura se pueden consultar pero no cambiar directamente, si se intenta

cambiar el valor de una propiedad de lectura se producir un error en tiempo de e jecucin. Las propiedades de slo escritura no se pueden ver, solamente cambiar y so n poco frecuentes. Las propiedades de lectura y escritura son consultables y edi tables por el usuario. Una propiedad se define en tiempo de ejecucin de la siguiente manera: objeto.Propiedad=Valor Para obtener el valor de una propiedad en tiempo de ejecucin se utiliza la siguie nte sentencia: destino=objeto.Propiedad Destino es el lugar donde se mostrar el valor de la propiedad (en una variable, e n una caja de texto, etc). En el primer ejemplo, al ejecutarse los eventos Click de los botones de comando, lo que ocurra era un cambio en la propiedad BackColor de la caja d texto. En el ejemplo del evento KeyPress del botn de comando, lo que desencadena es un cambio en la propiedad Text de la caja de texto. Las propiedades ms usuales de los controles son las siguientes: Name: es el nombre interno del objeto. Con l se hace referencia a dicho objeto en el cdigo. Caption: es el texto que figurar en el control, un ttulo; no es el nombre del cont rol sino solamente una etiqueta. BackColor: es el color de fondo del control Align: especifica la alineacin del texto en un control que lleve texto (como las cajas de texto o las etiquetas). Puede ser izquierda, derecha o centrada. Left: indica la distancia entre el borde izquierdo del objeto y el borde superio r del objeto que lo contiene. Top: indica la distancia entre el borde superior del objeto y el borde superior del objeto que lo contiene. Height: es la altura del objeto Width: es el ancho del objeto Forecolor: es el color de la letra del objeto ToolTipText: es un texto que aparece al situar el cursor sobre un objeto Visible: indica si un objeto es visible (True) o invisible (False). Enabled: indica si el objeto puede recibir el foco (True) o no (False). TabStop: establece si un objeto puede recibir el foco mediante la tecla Tab (Tru e) o no (False). TabIndex: un nmero que ser progresivo y nico para cada control, el cual indica el rden en que irn recibiendo el foco con la tecla Tab. Value: indica el valor de un control, y ser variado el valor a asignarle segn el t ipo de objeto. Font: esta es una propiedad general que da acceso a otras subpropiedades, todas relacionadas con la fuente. Se accede a estas digitando un punto inmediatamente despus de la palabra Font. Estas propiedades son: o Bold: es la letra en negrita (True). o Italic: es la letra en cursiva (True). o Underline: es la letra subrayada (True). o Strike: es la letra tachada (True). o Size: es el tamao de la fuente. o Name: es el tipo de la fuente Text: es una propiedad de las cajas de texto, la cual es el texto que mostrar en su interior. Ejemplo 2 Crea un nuevo proyecto estndar y coloca los siguientes controles, con sus propied ades: Control Propiedad Valor Form Name frmProp Frame Name fraCont " " Caption Color de fondo Shape Name shpForma " " Shape Oval HScroll Name hsbMover

" " Min 0 " " Value 0 Option Name optAmarillo " " Caption Amarillo Option Name optRojo " " Caption Rojo Option Name optVerde " " Caption Verde Ahora escribe el siguiente cdigo en la ventana de cdigo: Private Sub Form_Load() hsbMover.Max=me.ScaleWidth-shpForma.Width shpForma.Left=0 End Sub Private Sub hsbMover_Change() shpForma.Left=hsbMover.Value End Sub Private Sub optAmarillo_Click() me.BackColor=vbYellow End Sub Private Sub optRojo_Click() me.BackColor=vbRed End Sub Private Sub optVerde_Click() me.BackColor=vbGreen End Sub Presione F5 para probar la aplicacin y ver cmo van cambiando las propiedades de lo s objetos. El evento Form_Load es un evento que ocurre mientras se carga el formulario y se lo puede utilizar para dar valor a las variables y propiedades. La instruccin me hace referencia al formulario en el cual se est escribiendo el cdigo. La propieda d ScaleWidth del formulario hace referencia al ancho del formulario. En el caso de la propiedad BackColor se han utilizado las constantes de color de Visual Bas ic 6.0. Mtodos. Los mtodos son aquellas que los objetos pueden realizar. Algunos mtodos llevan arg umentos y otros no y son, por lo general, especficos de un tipo de control. Un mtodo que ya se ha utilizado es el mtodo SetFocus, el cual mueve el foco al obj eto que lo ha llamado. Este es uno de los mtodos que no lleva argumentos. A modo de ejemplo, se vern los mtodos Additem y Clear, mtodos de los cuadros de lis ta y cuadros combinados. El primer mtodo ingresa valores en el control y el segun do los elimina todos, el primer mtodo lleva argumentos mientras que el segundo no . Ejemplo 3 Crea un nuevo proyecto estndar y coloca los siguientes controles: Control Propiedad Valor Form Name frmMetod Commandbutton Name cmdLimpiar Textbox Name txtTexto ListBox Name lstLista Escribe el siguiente cdigo en la ventana de cdigo del formulario: Private Sub cmdLimpiar_Click() lstLista.Clear End Sub Private Sub txtTexto_KeyPress(Keyascii as Integer) If Keyascii=13 Then lstLista.Additem txtTexto.Text txtTexto.Text="" End If End Sub La sentencia If... Then... End If es una sentencia de control la cual, en este c

aso, sirve para que se ejecute el mtodo Additem cuando se presione la tecla Enter (Keyascii=13), esta sentencia se ver ms adelante. Pulsar F5 para probar el programa. Otro mtodo de ejemplo puede ser el mtodo PrintForm del formulario, el cual imprime el formulario con sus controles, todo excepto la barra de ttulo. Para verlo funcionarr, agregue al ejemplo anterior un nuevo botn de comando y su propiedad Name: cmdPrint; su Caption: Imprimir. Aadir el siguiente cdigo: Private Sub cmdPrint_Click() me.PrintForm End Sub Pulse F5 para probar Las Variables ________________________________________ Alcance de las variables Ejemplo 1 Constantes Tipos definidos por el usuario Arrays Ejemplo 2 Redimensionar un array Arrays de controles Ejemplo 3 Las variables son espacios en la memoria donde el programa guarda datos. A este lugar en la memoria se hace referencia mediante un identificador: el nombre de l a variable. Un nombre de variable tiene que cumplir con las mismas reglas que co n los nombres de los objetos. La variable almacenar un determinado tipo de dato, y de esto depender la cantidad de memoria que ocupe. Las variables, por tanto, sern de distinto tipo y en el cdig o se puede declarar (crear) una variable del tipo que se especifique. La sentenc ia para declarar una variable ser: Alcance nVariable as tDato Donde Alcance ser el alcance de la variable (Private o Public); nVariable ser el n ombre de la variable y tDato ser el tipo de dato que almacenar. Los tipos de datos son los siguientes: Tabla 3 - Tipos de Datos Tipo Dato Descripcin Rango Espacio (en bytes) Boolean Valores binarios True o False (1 o 0) 2 Byte Nmeros naturales 0 a 255 1 Integer Enteros cortos -32.768 a 32.767 2 Long Enteros largos -2.147.483.648 a 2.147.483.647 4 Single Reales Precisin Simple -3,40x1038 a -3,40x1038 4 Double Reales Precisin Doble 1,79x10308 a 1.79x10308, es ms preciso que el Sin gle 8 Date Fechas y Horas 1/01/100 a 31/12/9999; 0:00:00 a 23:59:59 8 String Cadena de caracteres Hasta 65.500 caracteres 1 por c/caracter Variant Cualquier tipo de dato 16 (+1 por c/caracter en caso de ser texto) Hay otro tipo de dato, que son los tipos definidos por el usuario. Tambin llamado s Estructuras se vern en el item Tipos definidos por el usuario. Las variables que se utilicen pueden estar declaradas explcita o implcitamente. Un a variable est declarada en forma explcita cuando se la declara con una sentencia, o implcitamente cuando se la utiliza sin la sentencia de declaracin. El inconveni ente de las variables de este tipo es que son de tipo Variant y ocupan mucho esp acio; conviene declarar todas las variables que se utilicen. Para dar valor a una variable se utiliza la siguiente sentencia: nVariable.Valor Supngase una variable de tipo Integer llamada nmero a la cual se quiere dar el val or -3.790; la declaracin de la variable podra ser:

Dim nmero as Integer Para asignarle el valor -3.790 se escribe la siguente sentencia: nmero=-3790 Si se quisiera consultar el valor de una variable se podra utilizar alguna senten cia donde se le asigne, por ejemplo, su valor a la propiedad Caption de una etiq ueta, imprimirla en la ventana Inmediato, etc: lblResu.Caption=nmero Debug.Print nmero Alcance de las variables. Se denomina alcance de una variable a los lugares desde donde sta puede ser acces ible, o sea, desde donde se la puede utilizar. Este alcance depender del lugar do nde haya sido declarada (formulario, mdulo estndar, etc) y la forma en que haya si do declarada (Private o Public). Vale decir que una variable declarada con Dim e quivale a Private. Una variable declarada en un mdulo estndar como Public es accesible desde todo el proyecto; declarada como Private es accesible slo dentro de ese mdulo. Una variable declarada en un formulario como Public es accesible en todo ese for mulario y en otros, siempre que est precedida por el nombre del formulario. Decla rada como private es accesible en todo ese formulario. Una variable declarada dentro de un procedimiento o funcin slo ser accesible dentro de ese procedimiento o funcin y ser declarada con Dim. Ejemplo 1 Crea un nuevo proyecto estndar y coloca en el formulario los siguientes controles : Control Propiedad Valor Form Name frmProg Textbox Name txtValor " " Text Frame Name fraCont " " Caption Variables Option Name optBool " " Caption Boolean Option Name optInte " " Caption Integer Option Name optStri " " Caption String Option Name optDate " " Caption Date Label Name lblValor " " Caption Commandbutton Name cmdAsignar " " Caption Asignar Commandbutton Name cmdMostrar " " Caption Mostrar Escriba el siguiente cdigo en la ventana de cdigo del formulario: Option Explicit Dim bool as Boolean, inte as Integer, stri as String, fech as Date Private Sub cmdAsignar_Click() If optBool.Value=True Then bool=txtValor.Text:lblValor.Caption=bool End If If optInte.Value=True Then inte=txtValor.Text:lblCaption=inte End If If optStri.Value=True Then stri=txtValor.Text:lblCaption=stri End If If optDate.Value=True Then fech=txtValor.Text:lblCaption=fech End If

End Sub Private Sub cmdMostrar_Click() Debug.Print "El valor de bool es"& bool Debug.Print "El valor de inte es"& inte Debug.Print "El valor de stri es"& stri Debug.Print "El valor de fech es"& fech End Sub Private Sub optBool_Click() lblValor.Caption=bool End Sub Private Sub optInte_Click() lblValor.Caption=inte End Sub Private Sub optStri_Click() lblValor.Caption=stri End Sub Private Sub optFech_Click() lblValor.Caption=fech End Sub Pulse F5 para probar la aplicacin. Si se asigna, por ejemplo, a la variable bool el valor 17, la aplicacin enviar un mensaje en tiempo de ejecucin (Desbordamiento). Para el correcto de la aplicacin, debe darse a las variables valores adecuados a ellas. Constantes. Las constantes son como las variables, con la excepcin de que su valor es asignad o una nica vez y luego no puede ser cambiado. Su valor es asignado en la misma de claracin y si luego se intenta cambiar su valor se producir un error. Las constant es son privadas por defecto y si se desea que sean pblicas habr que declararlas co mo Public. A continuacin los ejemplos generales de una constante privada y otra pblica: Const nConst as tDato=Valor Public Const nConstante as tDato=Valor Donde nConstante es el nombre la constante, tDato es el tipo de dato que almacen ar (Integer, Single, Date, etc.) y valor es el valor que almacenar. La declaracin d e una constante que almacene velocidad de la luz, en forma privada y pblica, sera: Const velocidadluz as Long=300000 Public Const velocidadluz as Long=300000 El valor de una constante se utiliza de la misma forma que el valor de una varia ble y cumple con los mismos criterios de alcance. Tipos definidos por el usuario. Hay otro tipo de dato para asignar a una variable, el cual es un tipo de dato cr eado por el usuario, ya que los existentes pueden no adaptarse plenamente a lo q ue el usuario quiere almacenar en la variable. Los tipos de datos definidos por el usuario no son ms que agrupaciones de variabl es de distintos tipos reunidas bajo el nombre de una variable comn. Estos tipos d e datos se denominan tambin estructuras y se construyen en un mdulo estndar (*.bas) . La forma de la sentencia a utilizar es la siguiente: Public Type ntDato nvDato1 as tDato nvDato2 as tDato ... nvDato as tDato End Type Donde ntDato es el nombre del tipo de dato que se crear, nvDato son los nombres d e las variables que compondrn la estructura y tDato es el tipo de dato de de dich as subvariables, y que podr ser de cualquier tipo, incluso de otro tipo definido por el usuario. Suponga un tipo de dato denominado Paciente, en el cual figure su nmero de ficha, su apellido, su nombre, su edad y su fecha de ingreso. La estructura podra ser l a siguiente:

Public Type Paciente ficha as Long apellido as String*15 nombre as String*10 edad as Byte ingreso as Date End Type Slo en las variables de tipo String se coloc un asterisco seguido de un nmero. Este indica la cantidad mxima de caracteres que almacenar la variable y de esta forma se sabr con exactitud cuntos bytes ocupar la variable y, por consecuencia, el nuevo tipo creado. En este caso el tipo creado ocupar 44 bytes porque: ficha as Integer 2 bytes apellido as String*15 15 bytes nombre as String*10 10 bytes edad as Byte 1 byte ingreso as Date 8 bytes TOTAL 36 bytes Para declarar una variable de este tipo se procede como para declarar cualquier variable. Con respecto al acceso a la misma, a continuacin del nombre de la varia ble se digita un punto y se escribe la subvariable de este tipo, para recuperar o para dar valor. En el caso del tipo Paciente: Dim pac as Paciente pac.ficha=12037 pac.nombre="Claudio" lblApellido.Caption=pac.apellido Los tipos definidos por el usuario son muy tiles a la hora de guardar la informac in en ficheros (archivos) y recuperarla luego. Arrays. Un array es una variable que almacena varios datos del mismo tipo; estos datos o cupan posiciones contiguas en la memoria y cada dato particular del array tiene un indice que lo identifica. Un array se declara como una variable pero luego de escribir el nombre de sta, se pone entre parntesis la cantidad de elementos que l o conformarn. Por ejemplo: Private unarray(5) as Integer Es la declaracin de un array de 6 elementos, numerados de 0 a 5. Para entenderlo ms fcilmente, en forma grfica se representara as: 0 1 2 3 4 5 Cada elemento del array almacena un Integer, por lo que todo el array ocupar 12 b ytes (2 bytes x 6 elementos). Todos los arrays comienzan a ser numerados por cero, a menos que se declare el a rray de la siguiente forma: Private unarray(1 To 5) as Integer En este caso se est declarando un array de 5 elementos, numerados de 1 a 5 (1 To 5), por tanto ocupar 10 bytes (2 bytes x 5 elementos), grficamente este array se r epresentara as: 1 2 3 4 5 Estos tipos de array tienen una sola dimensin y se denominan Vectoriales. Supngase ahora el siguiente array: Private otroarray(4) as Byte Este es un array de 5 elementos numerados de 0 a 4, donde cada elemento almacena un dato de tipo Byte y ocupar 5 bytes (1 byte x 5 elementos). Si se quiere dar valor a cualquier elemento del array, se procede como se ha vis to para dar valor a una variable, pero seguido al nombre de la variable se escri be entre parntesis el ndice del elemento. Para dar el valor 87 al primer elemento de este array, se escribe la siguiente sentencia: otroarray(0)=87 87 otroarray(3)=207 87 207 Para recuperar el elemento de ndice 3 de otroarray y presentar su valor en una ca

ja de texto llamada txtVarray, se escribe la siguiente sentencia: txtVarray.Text=otroarray(3) Los arrays no solamente pueden tener una dimensin (vectoriales o unidimensionales ) sino varias, a estos arrays se los denomina multidimensionales o matrices. Se declaran como los arrays vectoriales, pero se especifica tambin la cantidad de dimensiones que tiene a continuacin de la cantidad de elementos y separada por u na coma (,). Un array de nombre matrz, que conste de 5 elementos por cada dimensin y 3 dimensiones, que almacene datos Byte, se declara as: Private matriz(4,2) as Byte Cada elemento del array estar identificado por una coordenada que representa el nd ice que tiene y su dimensin; grficamente se representa as: 0,0 1,0 2,0 3,0 4,0 0,1 1,1 2,1 3,1 4,1 0,2 1,2 2,2 3,2 4,2 Este array ocupar 15 bytes (1 byte x 5 elementos x 3 dimensiones). Para este caso , si se desea asignar el valor 9 al tercer elemento de la primera dimensin, el va lor 18 al quinto elemento de la segunda dimensin y el valor 100 al primer element o de la tercera dimensin se escriben las siguientes sentencias: matriz(2,0)=9 matriz(4,1)=18 matriz(0,2)=100 9 18 100 Tambin puede declararse una matriz de 5 elementos por dimensin y 3 dimensiones de la siguiente manera: Dim otramatriz(1 To 5, 1 To 3) as Byte En este caso, la matriz contendr tambin 15 elementos por dimensin y ocupar 15 bytes, pero los elementos y las dimensiones no comenzarn a numerarse por cero, sino por uno. En esta matriz, para dar el valor 18 al quinto elemento de la sengunda dim ensin la sentencia ser: otramatriz(5,2)=18 Ejemplo 2 Crea un nuevo proyecto estndar y coloca en l los siguientes elementos: Control Propiedad Valor Form Name frmArray Textbox Name txtVarray " " Text HScroll Name hsbElem " " Min 0 " " Max 7 " " Value 0 VScroll Name vsbDimen " " Min 0 " " Max 3 " " Value 0 Commandbutton Name cmdCambio " " Caption Cambiar Escribe el siguiente cdigo en la ventana de cdigo del formulario: Option Explicit Dim matriz(7,3) as Integer Private Sub hsbElem_Change() txtVarray.Text=matriz(hsbElem.Value,vsbDimen.Value) End Sub Private Sub vsbDimen_Change() txtVarray.Text=matriz(hsbElem.Value,vsbDimen.Value) End Sub Private Sub cmdCambio_Click() matriz(hsbElem.Value,vsbDimen.Value)=txtVarray.Text End Sub

Pulse F5 para probar la aplicacin. El array matriz declarado almacena datos Integer; 8 elementos por dimensin y tien e 4 dimensiones, por tanto ocupa 64 bytes (2 bytes x 8 elementos x 4 dimensiones ). Los ndices de los elementos de la matriz a ser consultados o cambiados estn det erminados por las propiedades Value de las barras de desplazamiento. Si el tipo de dato ingresado no es un Integer, se generar un error en tiempo de ejecucin. Redimensionar un array. Antes de explicar cmo se redimensiona un array se explicar qu es un array dinmico. Un array dinmico es un array en el cual no se especifica cuntos elementos tendr. Si se quiere declarar un array dinmico de nombre dinarray que almacene datos de tip o Double se utiliza la siguiente sentencia: Dim dinarray() as Double Redimensionar un array significa cambiar el nmero de elemetos, pero no se puede c ambiar sus dimensiones. Esto implica que no se puede transformar, por ejemplo, u n vector en una matriz. Solamente se puede redimensionar un array una vez por pr ocedimiento o funcin. Esta operacin se realiza con la sentencia Redim, y su sintax is es la siguiente: Redim nArray(nValor) Se redimensiona el array dinarray para que almacene 12 elementos: Redim dinarray(11) Al redimensionar un array se borran todos los elementos que contuviera: si los d atos son numricos se ponen a 0, si son texto se ponen a cadena vaca, si son Varian t se ponen a Empty, etc. Si se quiere redimensionar un array y conservar los valores ya almacenados se ut iliza la palabra Preserve luego de la palabra Redim, de la siguiente forma: Redim Preserve nArray(nValor) Arrays de controles. Los arrays de controles son un conjunto de controles del mismo tipo que tienen e l mismo nombre, pero cada uno se individualiza de los dems por su propiedad Index . La ventaja de utilizar array de controles es que si los controles responden de f orma similar a un evento, bastara con escribir el cdigo del evento por el que resp ondern todos los controles que conformen el array. Para crear un array de controles basta con colocar un control, copiarlo y pegarl o. Se preguntar si se desea crear una matriz de controles, a lo que se responde q ue s. Cuando se escribe el cdigo de un evento que involucra un array de controles, apar ecer un argumento denominado Index as Integer, el cual permite identificar a cada control en particular. Ejemplo 3 Crea un nuevo proyecto estndar y coloca un Commandbutton de propiedad Name: cmdAr ray. Copiarlo y pegarlo 5 veces, hasta que se forme un array de 6 botones. Escribir el siguiente cdigo en la ventana de cdigo del formulario: Private Sub cmdArray_Click(index as Integer) Debug.Print "Ha presionado el botn de ndice"& index End Sub Pulse F5 para probar la aplicacin Procedimientos ________________________________________ Procedimientos y funciones recursivos. Los procedimientos y funciones son porciones de cdigo que realizan una determinad a tarea. Tienen un ambito que cumple con las mismas reglas que las variables. Los procedimientos comienzan con Private Sub o Public Sub, segn se establezcan co mo privados o pblicos, y finalizan con End Sub. Estas porciones de cdigo realizan mltiples tareas, pero no tienen valor de retorno (a diferencia de las funciones), o sea, no devuelven explcitamente un resultado. Un ejemplo de procedimientos son los eventos. Si bien comienzan con Private o Public Sub y finalizan con End Sub, se puede esc apar en cualquier momento con la instruccin Exit Sub. Puede llevar o no parmetros, los cuales irn entre parntesis.

Las funciones tienen por cometido brindar directamente un resultado al cual se p odr acceder directamente a travs del nombre de la funcin y el resultado ser de un de terminado tipo (Integer, Single, String, etc.). Comienzan con Private Function o Public Function y se puede escapar en cualquier momento con la instruccin Exit F unction; tambin puede o no llevar parmetros. Dentro de la misma funcin, se utilizar su nombre como variable y se le dar un valor ; este valor ser el valor de retorno de la funcin. La forma general de un procedimiento es la siguiente: Private/Public Sub nProcedimiento(argumentos) sentencias 'se puede utilizar la instruccin Exit Sub si se desea End Sub La forma general de una funcin es la siguiente: Private/Public Function nFuncin(argumentos) as tDato sentencias 'se puede utilizar la instruccin Exit Function si se desea nFuncin=sentencias End Function Cuando se quiere que un procedimiento o funcin llame a otro procedimiento se util iza la instruccin Call seguida del nombre del procedimiento y los argumentos si l os llevase. Call nProcedimiento argumentos Al hacer esta llamada se ejecuta el procedimiento indicado y finalizado ste se re torna a la siguiente instruccin luego de la llamada. Un ejemplo: Private Sub proceso1() (1) sentencias (2) Call proceso2 argumento (3) sentencias (7) End Sub (8) Private Sub proceso2() (4) sentencias (5) sentencias:Exit Sub (6) sentencias End Sub (6) Los nmeros indican el curso del programa. La salida de proceso2 puede darse tanto con Exit Sub como con End Sub. Una funcin devuelve un valor, por lo tanto se utiliza el nombre de dicha funcin pa ra llamarla y utilizar el valor que retorna, ya sea para almacenarlo en una vari able, utilizarlo en un clculo, etc. Por ejemplo: Private Function inverso(numero as Integer, ndecim as Byte)as Double inverso=round(numero,ndecim) End Function Private Sub usarfuncion() Dim var as Double var=inverso(17,3) End Sub Procedimientos y funciones recursivos. Una funcin o procedimiento es recursivo cuando se llama a s mismo, por ejemplo, un procedimiento se llama a s mismo hasta que se cumple una determinada condicin. Private Sub proceso() sentencias If condicin Then Call proceso End If End Sub Este es slo un ejemplo general de una funcin recursiva. Se puso una funcin condicio nal para salir de la recursividad pues si no se generara un bucle interminable qu e terminara por bloquear el sistema. Sentencias de Control. ________________________________________ If... Then... Else... End If For... Step... Next Ejemplo 1

Select Case... Case... End Select While... Wend Do... Loop... Las sentencias de control permiten controlar el flujo del programa, tomando deci siones a partir de comparaciones y generando bucles mientras o hasta que se cump lan ciertas condiciones. Son muy utilizadas y es importante conocer su correcta utilizacin. If... Then... Else... End If Esta sentencia permite ejecutar determinadas acciones segn evaluaciones que haga de una comparacin lgica. La estructura de esta sentencia es: If comparacin Then sentencias si la condicin es verdadera Else sentencias si la condicin es falsa End If No obstante, primero habr que conocer los signos y comparaciones matemticas y lgica s para escribir sentencias efectivas: Tabla 4 - Operadores Lgicos. Signo Concepto = Igual que > Menor que < Mayor que <> Distinto >= Menor o Igual que <= Mayor o Igual que Like Igual que (para texto) Un ejemplo de esta funcin: Dim var as Boolean, vars as String var=False If var=True Then vars="Verdadero" Else:vars="Falso" End If En este caso la variable vars ser Falso ya que se ejecuta la sentencia a continua cin de Else. Se puede anidar una funcin If con otra para que una condicin pueda derivar en otra condicin. Por ejemplo: Dim x as Integer, y as Integer x=78:y=2028 If 26*x Then x=y-26*x Else If 26*x>y Then x=x*26-y Else:x=y End If End If Al salir de esta sentencia x e y tendrn el mismo valor, ya que se ejecutar la sent encia a continuacin de Else de la segunda sentencia If. En la condicin de la sentencia If se puede especificar ms de una condicin si se con catenan con algunos operadores lgicos como and, or, xor, etc., los cuales son los siguientes: And: devuelve Verdadero si todas las comparaciones son verdaderas. Or: devuelve Verdadero si alguna de las comparaciones es verdadera. Xor: devuelve Verdadero si una comparacin es verdadera y otra es falsa. Eqv: devuelve Verdadero si ambas comparaciones son verdaderas. Imp: devuelve Verdadero siempre y cuando no sea verdadera la primera condicin y f alsa la segunda. Sea por ejemplo:

Dim x as Boolean, y as Byte x=True:y=61 If x=False Or y<70 Then Debug.Print "Se cumpli una de las condiciones" Else:Debug.Print "No se cumpli ninguna condicin" End If Puede crearse un nuevo proyecto estndar y asociar este procedimiento con algn even to para probarlo. For... Step... Next Esta sentencia permite ejecutar un bucle con un valor inicial y final, en el cua l puede especificar el intervalo y si es creciente o decreciente. La sintaxis de esta sentencia es: For var=a To b Step interval sentencias Next x Donde var es una variable que crece o decrece, segn sea el bucle, a y b son los v alores de comienzo y final del bucle, intervalo es el intervalo con que crece o decrece el bucle, si se omite Step intervalo se considera 1. Sentencias son las sentencias que se ejecutarn en el bucle; Next var indica dnde terminan las sentenc ias del bucle. Se puede salir de este bucle en cualquier momento con la instruccin Exit For. Si se desea que el bucle sea decreciente, el valor de a deber ser mayor que el valor de b y se deber utilizar la instruccin Step donde el intervalo ser negativo. Mediante esta sentencia se puede calcular el factorial de un nmero. El factorial de un nmero se halla multiplicando todos los nmeros naturales hasta dicho nmero; po r ejemplo, el factorial de 5 es 120 porque 5x4x3x2x1 es 120. Ejemplo 1 Crea un nuevo proyecto estndar y aade al formulario los siguientes controles: Control Propiedad Valor Form Name frmProg Textbox Name txtNumero Label Name lblFact Escribe el siguiente cdigo en la ventana de cdigo del formulario: Private Sub txtNumero_KeyPress(Keyascii as Integer) If Keyascii=13 Then lblFact.Caption=Factorial(txtNumero.Text) Else:Exit Sub End If End If End Sub Private Function Factorial(numero as Integer)as Long Dim x as Integer, f as Long numero=Int(Abs(numero)):f=1 If numero=0 Then Factorial=1:Exit Function Else: For x=1 To numero f=x*f Next x Factorial=f End If End Function Presione F5 para ejecutar la aplicacin. La funcin Int redondea un nmero a entero, la funcin Abs devuelve el valor absoluto de un nmero; con esto se asegura que el nmero sea un nmero natural. Esta sentencia utilizada en forma decreciente: Dim result as Integer, v as Byte result=100 For r=10 To 4 Step -2 result=result-r Next r

Al salir de este bucle, result valdr 72. Puede crearse un nuevo proyecto y asocia r este cdigo a algn evento para probarlo. Si en algn momento se desea escapar de este bucle se utiliza la sentencia Exit Fo r, por ejemplo: Dim sumar as Integer, x as Byte For x=10 To 30 sumar=sumar+2*x If sumar>121 Then Exit For End If Next x Se escapa del bucle mediante Exit For cuando x=15. Select Case... Case... End Select Esta sentencia permite realizar varias comparaciones (casos) y ejecutar sentenci as en aquellos que sean verdaderos. Esta sentencia comienza con Select Case seguido de la expresin a comparar. Luego se escriben tantas sentencias Case como se necesiten, donde se escribirn las comp araciones. Se finaliza con End Select. La forma general de la sentencia es la si guiente: Select Case expresin Case comparacin1 sentencias Case comparacin2 sentencias ... End Select Expresin es una variable, una propiedad de un objeto (por ejemplo la propiedad Te xt de una caja de texto o Caption de una etiqueta), etc. Comparacin1, comparacin2,... son las comparaciones lgicas. En cada Case el valor de expresin se representa con Is. Dim valor as Integer, caso as String valor=3619 Select Case valor Case 2748 caso="Case 1" Case Is >3630 caso="Case 2" Case Is<3621 caso="Case 3" Case Else caso="Case 4" End Select Cuando termina con End Select la variable caso valdr "Case 3", porque Case Is<362 1 es la nica que se cumple. Case Else es verdadero cuando ninguno de los anterior es casos fuese verdadero. Si se cumpliesen dos o ms condiciones se verificar solamente la primera condicin. While... Wend La sentencia While se ejecuta mientras se cumpla una condicin dada. Este bucle co mienza con While y termina con Wend. Su sintaxis es la siguiente: While condicin sentencias Wend Donde condicin es la condicin que se evaluar. Mientras esa condicin sea verdadera se ejecutarn las sentencias hasta Wend; cuando ya no se cumpla la condicin se saldr d el bucle. Un ejemplo: Dim var1 as Byte, var2 as Long var1=56:var2=1050 While var1>50 var2=var2+var1

var1=var1-1 Wend Al final del bucle, var1 valdr 50 y var2 valdr 1371. Do... Loop... La sentencia Do permite ejecutar bucles mientras o hasta que se cumpla una deter minada condicin (While o Until). La comprobacin se puede efectuar al principio del bucle (luego de Do) o al final del bucle (luego de Loop). Se puede escapar de e ste bucle en cualquier momento con la sentencia Exit Do. La forma general de este bucle es la siguiente: Do While/Until condicin sentencias 'puede escaparse del bucle con Exit Do Loop En el ejemplo anterior la comparacin lgica se hizo al principio del bucle, en la s iguiente la comprobacin se har al final del bucle. Do sentencias 'puede escaparse del bucle con Exit Do Loop While/Until condicin Un ejemplo prctico de este bucle: Dim var1 as Integer, var2 as Long var1=367 Do var1=var1+2:var2=var2-var1*2 Loop Until var2>-2301 Al salir del bucle var1 vale 375 y var2 vale -2976. Operadores y Funciones. ________________________________________ Ejemplo 1 Funciones Ejemplo 2 Los programas necesitarn efectuar clculos matemticos, de texto, trigonomtricos, etc. , segn el trabajo que el programa realizar. Para ello Visual Basic tiene operadore s matemticos y funciones precreadas para programar. Los operadores matemticos son los siguientes: Tabla 5 - Operadores matemticos. Signo Concepto + Suma Resta (o signo negativo) * Multiplicacin / Divisin \ Divisin entera ^ Potenciacin & Concatenacin Mod Resto de una divisin Ejemplo 1 Crea un nuevo proyecto estndar y coloca en el formulario los siguientes controles : Control Propiedad Valor Form Name frmCalc Textbox Name txtVisor Commandbutton Name cmdOper " " Index 0 a 6 " " Caption +, -, *, /, \, ^, Mod Commandbutton Name cmdIgual " " Caption = Escribe el siguiente cdigo en la ventana de cdigo del formulario: Option Explicit Dim numer as Double, oper as Byte Private Sub txtVisor_LostFocus() If isnumeric(txtVisor.Text)=False Then MsgBox("Introduzca un valor numrico"):txtVisor.SetFocus

End Sub Private Sub cmdIgual_Click() Select Case oper Case 0 numer=txtVisor.Text Case 1 txtVisor.Text=numer+txtVisor.Text numer=txtVisor.Text:oper=0 Case 2 txtVisor.Text=numer-txtVisor.Text numer=txtVisor.Text:oper=0 Case 3 txtVisor.Text=numer*txtVisor.Text numer=txtVisor.Text:oper=0 Case 4 txtVisor.Text=numer/txtVisor.Text numer=txtVisor.Text:oper=0 Case 5 txtVisor.Text=numer\txtVisor.Text numer=txtVisor.Text:oper=0 Case 6 txtVisor.Text=numer^txtVisor.Text numer=txtVisor.Text:oper=0 Case 7 txtVisor.Text=numer Mod txtVisor.Text numer=txtVisor.Text:oper=0 End Select End Sub Private Sub cmdOper_Click(index as Integer) oper=1+index End Sub Private Sub txtVisor_KeyPress(Keyascii as Integer) If Keyascii=13 Then Call cmdIgual_Click End If End Sub Pulse F5 para probar la aplicacin. Funciones. En esta parte se brindarn funciones matemticas, funciones de texto, etc., para uti lizar. Las siguientes son las funciones matemticas y trigonomtricas: Abs(numero): esta funcin devuelve el valor absoluto de un nmero; el valor absoluto de un nmero es ese nmero con signo positivo. Int(numero) o Fix(numero): estas dos funciones devuelven la parte entera de un nm ero. Round(numero,ndec): esta funcin permite redondear el argumento nmero con tantos lu gares decimales como lo especifique el argumento ndec. Sgn(numero): devuelve el signo del argumento nmero. -1 si numero es menor que 0, 1 si es mayor que 0 y 0 si nmero es 0. Sqr(numero): devuelve la raz cuadrada del argumento nmero. Sin(angulo): devuelve el seno del argumento ngulo. Cos(angulo): devuelve el coseno del argumento ngulo. Tan(angulo): devuelve la tangente del argumento ngulo. Atan(angulo): devuelve el arco tangente del argumento ngulo. Log(numero): devuelve el logaritmo de un nmero. Exp(numero): devuelve el nmero e (2.71828...), elevada al argumento nmero [enumero ]. Randomize(numero): inicia el generador de nmeros aleatorios. Rnd(numero): devuelve un nmero aleatorio entre 0 y 1, basado en el argumento nume ro (o en el generador de nmeros aleatorios).

Aclaracin: para las funciones trigonomtricas el sistema de medicin angular son radi anes. Las siguientes son las funciones de trabajo con texto: Lcase(texto): devuelve el texto en minsculas. Ucase(texto): devuelve el texto en maysculas. Len(texto): devuelve el nmero de caracteres que conforman una cadena de texto. Left(texto,largo): toma del argumento texto los caracteres especificados en el a rgumento largo, contados desde la izquierda. Right(texto,largo): toma del argumento texto los caracteres especificados en el argumento largo, contados desde la derecha. Mid(texto,inicio,largo): toma del argumento texto los caracteres especificados e n el argumento largo, contados desde el caracter inicio. Trim(texto): devuelve el argumento texto sin los espacios que pudiera tener al i nicio o al final. Like: es un operador que devuelve un valor booleano el cual compara dos cadenas de texto, devuelve False si las cadenas son diferentes y True si las cadenas de texto son iguales. Str(expresin): devuelve el argumento expresin como una cadena de caracteres. Instr(n,texto1,texto2): devuelve la posicin de texto2 dentro de texto1, buscando a partir de caracter n. Strcomp(texto1,texto2): devuelve -1, 0 o 1 segn sea texto1 <,= o > que texto2. Replace(texto,cadena,reemplazo): en un texto, reemplaza cadena con reemplazo. Las funciones para el trabajo con fechas son: Date(): devuelve la fecha actual. Time(): devuelve la hora actual. Day(fecha): devuelve el da del argumento fecha. Month(fecha): devuelve el mes del argumento fecha. Year(fecha): devuelve el ao del argumento fecha. Hour(hora): devuelve la hora del argumento hora. Minute(hora): devuelve los minutos del argumento hora. Second(hora): devuelve los segundos del argumento hora. Estas son las funciones de comparacin, las cuales devuelven valores booleanos (Tr ue o False): Isnumeric(expresin): devuelve True si expresin es un nmero. Isdate(expresin): devuelve True si expresin es una fecha. Isobject(expresin): devuelve True si expresin es un objeto. Iserr(expresin): devuelve True si expresin es un valor de error. Existen funciones de conversin de un tipo de dato en otro, y son las siguientes: Cbool(numero): devuelve el valor de nmero como un dato de tipo Boolean. Cbyte(numero): devuelve el valor de nmero como un dato de tipo Byte. Cint(numero): devuelve el valor de nmero como un dato de tipo Integer. Clng(numero): devuelve el valor de nmero como un dato de tipo Long. Csng(numero): devuelve el valor de nmero como un dato de tipo Single. Cdbl(numero): devuelve el valor de nmero como un dato de tipo Double. Cdate(numero): devuelve el valor de nmero como un dato de tipo Date o Time. Cstr(numero): devuelve el valor de nmero como un dato de tipo String. Cvar(numero): devuelve el valor de nmero como un dato de tipo Variant. Val(numero): devuelve el valor de nmero como un dato de tipo Double. Hay muchas ms funciones, de las cuales se mencionarn algunas ahora y otras en captu los posteriores. Format(expresin, presentacin): esta funcin devuelve el dato de expresin en un for o definido en presentacin. Expresin es un valor, presentacin es un texto que define el formato con que se devolver expresin, por ejemplo: Format(23/10/1963,"Long Date") devolver viernes 23 de octubre de 1963 Format(2437.1,"Currency") devolver 2,437.10 Pts (depende del formato monetario es pecificado en el Panel de Control-Configuracin Regional) Format(14732,"#,##0.00") devolver 14,732.00 Timer(): devuelve la cantidad de segundos pasados desde la medianoche. Asc(caracter): devuelve un nmero (Long) que representa el cdigo ASCII del argument o caracter.

Chr(nmero): devuelve un carcter que representa el cdigo ASCII del argumento nmero ong). Hex(numero): devuelve el valor de numero expresado en el sistema Hexagesimal. Oct(numero): devuelve el valor de numero expresado en el sistema Octagesimal. Bin(numero): devuelve el valor de numero expresado en el sistema Binario. Ejemplo 2 Crea un nuevo proyecto estndar y coloca en el formulario los siguientes controles : Control Propiedad Valor Form Name frmCalc Label Name lblResu " " Caption 0 Textbox Name txtValor " " Text 0 Frame Name fraFunc " " Caption Funciones Option Name optAbs " " Caption Abs Option Name optFix " " Caption Fix Option Name optRound " " Caption Round Option Name optSqr " " Caption Sqr Option Name optRnd " " Caption Rnd Option Name optSin " " Caption Sin Option Name optCos " " Caption Cos Option Name optTan " " Caption Tan Escribe el siguiente cdigo en la ventana de cdigo Private Sub txtValor_KeyPress(Keyascii as Integer) If isnumeric(txtValor.Text)=False Then txtValor.Text="" End If End Sub Private Sub optAbs_Click() lblResu.Caption=Abs(txtValor.Text) End SUB Private Sub optFix_Click() lblResu.Caption=Fix(txtValor.Text) End SUB Private Sub optRound_Click() Dim y as Byte y=InputBox("Ingrese la cantidad de dgitos decimales a redondear",0,"Funcin Round") lblResu.Caption=Round(txtValor.Text,y) End SUB Private Sub optSqr_Click() lblResu.Caption=Sqr(txtValor.Text) End SUB Private Sub optRnd_Click() lblResu.Caption=Rnd(txtValor.Text) End SUB Private Sub optSin_Click() lblResu.Caption=Sin(txtValor.Text) End SUB Private Sub optCos_Click() lblResu.Caption=Cos(txtValor.Text)

End SUB Private Sub optTan_Click() lblResu.Caption=Tan(txtValor.Text) End Sub Controles estndar de Visual Basic. ________________________________________ El Formulario o Eventos o Propiedades o Mtodos o Formularios MDI Etiquetas Cajas de Texto Botones de Comando Marcos Botones de Opcin Casillas de Verificacin Barras de Desplazamiento Cuadros de Lista y Cuadros Combinados o Propiedades o Mtodos Control Timer Drives Lista de Directorios Lista de Archivos Lneas Formas Datacontrol Ejemplo El Formulario (Form). El formulario es el elemento indispensable a la hora de construir la parte grfica de un programa. Sobre ste se colocarn los controles y ser la ventana de la aplicac in. El formulario tiene sus eventos, propiedades y mtodos propios. Para hacer referencia al formulario dentro de su ventana de cdigo se puede utiliz ar la instruccin Me. Eventos Los eventos ms notables del formulario son nueve: Initialize, Load, Activate, Pai nt, Resize, Deactivate, Unload, QueryUnload y Terminate. Los primeros cuatro eventos se suceden cuando se visualiza un formulario por pri mera vez; el evento Initialize sucede al iniciarse un formulario e inicializa la s variables a nivel de mdulo, el evento Load ocurre al cargarse el formulario y s e puede aqu cargar las propiedades de los controles y variables del formulario; e l evento Activate ocurre al convertirse el formulario en la ventana activa, este evento hace visible en la pantalla el formulario y puede utilizarse por ejemplo para dar el foco a un control; el evento Paint ocurre al dibujarse los mtodos grf icos del formulario y puede utilizarse para los mtodos grficos que se vern ms adelan te. El evento Resize ocurre al cambiar el tamao de un formulario, ya sea con los boto nes maximizar/restaurar o manualmente. Cuando se termina la ejecucin de un programa ocurren ciertos eventos, los cuales son la contrapartida de los eventos que lo inicializaron. El evento Deactivate e s el evento opuesto al evento Activate y ocurre cuando un formulario deja de ser la ventana activa; el evento Unload es la contrapartida del evento Load y ocurr e cuando se descarga el formulario; el evento QueryUnload ocurre antes que el ev ento Unload y permite confirmar si definitivamente se ocultar el formulario o se cancelar esa orden, tiene los parmetros (Cancel as Integer, Unloadme as Integer); el evento Terminate es la contrapartida del evento Initialize y elimina completa mente el formulario de la memoria. Propiedades Tambin tiene propiedades nicas. La propiedad WindowState permite definir si un for

mulario se iniciar maximizado, minimizado o normal. Las propiedades MinButton y M axButton especifican si tendrn habilitados los botones de minimizar y maximizar/r estaurar habilitados. La propiedad Appearance especifica cmo se comportar el formu lario: si podr cambiarse manualmente su tamao, por ejemplo. Mtodos El formulario tiene mtodos propios y mtodos grficos que comparte con otro control: las Cajas de Dibujo (Picturebox); estos mtodos se vern en otro captulo. Mtodo PrintForm: imprime el formulario, todo excepto la barra de ttulo y los mtodos grficos llamados desde el evento Paint. Es sencillo de utilizar pero no utiliza toda la resolucin de la impresora. Mtodo Hide: oculta el formulario y equivale a hacer su propiedad visible=False, s in embargo, el formulario slo desaparece de la pantalla, no de la memoria. Mtodo Show: muestra un formulario. Si se ocult con el mtodo Hide, solamente lo acti va (ocurren los eventos Activate y Paint); si no estaba cargado ocurren los even tos Initialize, Load, Activate y Paint. Tiene un argumento (vbModal o simplement e 1) el cual no permite acceder al formulario desde el que se lo llam (si es que as fuese) hasta que se cierre dicho formulario. Mtodo Unload: genera el evento Unload del formulario. Lleva como argumento el nom bre del formulario que se desea descargar. Formularios MDI Aplicaciones como Microsoft Word, Microsoft Excel, CorelDraw, etc., pueden tener varios documentos abiertos a la vez en la misma aplicacin. A esto se le llama Fo rmularios MDI (Multiple Document Interface). Para comenzar un formulario modal, ir al men Proyecto y agregar un formulario MDI (MDI Form); ste debe ser el formulario inicial. Para volverlo el formulario inic ial ir al men Proyecto-Propiedades del proyecto y elegir el en formulario inicial dicho formulario. Este ser el "Padre". Luego se podrn agregar otros formularios s imples y cambiar su propiedad MDIChild a True; de esta forma stos se convertirn en formularios "Hijos" del primero. Comparndolo con el ejemplo de Microsoft Word, la ventana Microsoft Word es el for mulario Padre y cada documento sern los formularios Hijos. Una de las ventajas de trabajar con este tipo de formularios es que todos los fo rmularios hijos pueden compartir la misma barra de herramientas, de estado, etc. que estarn en el formulario Padre. Etiquetas (Label). Las etiquetas son controles en los cuales slo se puede editar texto a travs de cdig o, o sea, a travs de instrucciones y sentencias. Su propiedad ms importante es la propiedad Caption que es el texto que habr en la etiqueta. Tambin al respecto sern t iles sus propiedades Font y Forecolor. La propiedad Border permite dar o no un e fecto de bajorrelieve a la etiqueta. La propiedad Autosize permite ajustar el ta mao de la etiqueta al texto contenido en ella, y la propiedad WordWrap permite el texto en mltiples lneas. Admiten eventos pero no es comn que se utilicen. Cajas de Texto (Textbox). Son los controles ms habituales para ingresar datos. Su propiedad ms importante es la propiedad Text, la cual es el texto que aparece en la caja y, por ende, las propiedades Font y Forecolor. La propiedad Multiline permite ingresar texto en ms de una lnea. La propiedad Alignment tiene tres valores para texto alineado a la izquierda (0), a la derecha (1) y centrado (2). La propiedad Locked determina si se bloquea la modificacin del texto de la caja de texto. Otras propiedades son P assword para que no se vean los caracteres que se digitan, sino solamente uno qu e se especifica en la propiedad; SelStart sirve para posicionar el cursor en algn lugar del texto, SelText SelLength indica el nmero de caracteres seleccionados y MaxLength se utiliza para determinar el nmero mximo de caracteres que puede conte ner. El mtodo ms importante es el mtodo SetFocus. Botones de Comando (CommandButton). La utilidad de estos controles es la de ejecutar acciones y su evento por excele ncia es el evento Click, aunque tambin soporta otros eventos KeyPress, LostFocus, etc.

Su propiedad ms importante es la propiedad Caption la cual establecer el ttulo que mostrar el botn. Si esta propiedad se aade el carcter & delante de otro, ste otro apa recer subrayado y mediante la combinacin de la tecla Alt + caracter se acceder al e vento click del botn. Esto es vlido para la propiedad Caption de varios controles. Si se establece su propiedad Style a Graphical y su propiedad Picture se le adju dica un cono, el botn aparecer con ese cono. Otras propiedades importantes de este c ontrol son sus propiedades Enabled y Visible. Marcos (Frame). El marco es un recuadro con un ttulo en su parte superior izquierda (el cual se c ambia cambiando su propiedad Caption) y sirve para agrupar controles. Su mayor u tilidad radica en agrupar botones de opcin, lo cual permite que slo uno est activo a la vez. Botones de Opcin (Option). Los botones de opcin permiten decidir acciones, eligiendo entre opciones. Para qu e esto ocurra deben estar colocados dentro de un Marco. Se selecciona el marco y luego se colocan los botones de opcin dentro. Sus propiedades ms importantes son la propiedad Value que tiene dos valores (True o False) que indica si el botn estar activo o no; dentro de un marco solamente un botn podr tener su propieda Value=True. La propiedad Caption especifica el texto que contendr el control. Casillas de Verificacin (CheckBox). Estos controles tambin sirven para decidir acciones, pero no se excluyen entre el los. Al igual que los botones de opcin sus propiedades ms importantes son las prop iedades Value y Caption. En el caso de la propiedad Value, esta podr tener los va lores Checked (tendr un signo de OK en su interior) y Unchecked (la casilla estar vaca). Su evento ms importante es el evento Click. Barras de Desplazamiento (Scroll Bar). Las Barras de Desplazamiento son horizontales o verticales, pero ambas son igual es en eventos, propiedades y mtodos. Los eventos por excelencia de estos controles son los eventos Change y Scroll. E stos eventos ocurren al mover una barra de desplazamiento (cambiar su propiedad Value), pero la diferencia est en que el evento Change ocurre cuando se termin de arrastrar la barra y el evento Scroll ocurre mientras se arrastra la barra. Tres propiedades importantes de este control son las propiedades Min, Max y Valu e. Las propiedades Min y Max son los valores mnimos y mximos que podr tener la barr a y la propiedad Value es el valor que tenga la barra en un momento dado y el qu e se cambia al mover la barra. La propiedad Value no podr ser entonces, mayor que la propiedad Max ni menor que la propiedad Min. Cuadros de Lista y Cuadros Combinados (ListBox y ComboBox). Los cuadros de lista son controles donde se pueden listar elementos, ya sean numr icos, alfanumricos o alfabticos. Los cuadros combinados combinan las cualidades de los cuadros de lista y las cajas de texto, sin embargo tienen las propiedades y mtodos de los cuadros de lista y se estudian en forma conjunta. Los eventos ms usuales son los eventos Click, DblClick y Change. Los elementos de una lista o un cuadro combinado tienen un ndice o sea, un nmero q ue los identifica (al igual que los arrays) dentro de la lista y se comienzan a numerar por 0 para el primer elemento, 1 para el segundo, etc... Las siguientes son las propiedades de estos controles: ListIndex: es el ndice del elemento actualmente seleccionado en el control. Si no hay ningn elemento activo el valor de Listindex es -1. List: esta propiedad devuelve el texto contenido en uno de los registros del con trol. Lleva por argumento el parmetro Indice el cual es el ndice del elemento a re cuperar. ListCount: esta propiedad de solo lectura indica la cantidad de elementos que co ntiene un control. MultiSelect: esta propiedad de los cuadros de lista especifica si se pueden sele ccionar ms de un elemento a la vez (True) o no (False). Sorted: ordena alfabticamente los elementos dentro del control. Selected(Indice): indica si un elemento est seleccionado o no. El argumento Indic

e es el ndice del elemento. Tambin pueden seleccionarse elementos a travs de cdigo m ediante esta propiedad. DropCombo: para los cuadros combinados esta propiedad indica la forma en que se presentar el cuadro combinado. Los mtodos de estos controles son: Additem(Elemento,Indice): este mtodo permite ingresar elementos al control. El ar gumento Elemento es obligatorio y es el elemento que se ingresar y el argumento I ndice es opcional y especifica el ndice que tendr el elemento. Si no se coloca est e argumento, el elementos se colocar al final de la lista. Removeitem(Indice): este mtodo permite quitar elementos del control. Lleva el arg umento Indice que es el ndice del elemento a quitar. Clear: elimina todos los elementos de un control. Control Timer (Timer). Este control sirve para realizar en forma peridica determinadas tareas. Admite un nico evento: el evento Timer el cual se produce cuando la propiedad Interval es mayor que 0 y cuando la propiedad Enabled est a True. Este control no tiene una i nterfaz grfica por lo tanto al ejecutar la aplicacin que lo utilice no visualizar e l control, solamente se vern sus efectos controlados por cdigo. Sus propiedades ms importantes son Enabled e Interval. La propiedad Enabled activ a o desactiva el evento Timer; asimismo la propiedad Interval=0 desactiva el eve nto Timer. La propiedad Interval es el intervalo en milisegundos en que ocurrir e l evento Timer una y otra vez. Drives (Drive). Este control es uno de los controles estndar para la gestin de archivos. Es un cuadro combinado con las unidades de disco existentes como elementos. El e vento ms sobresaliente de este control es el evento Change y su propiedad, la pro piedad Drive; ya que con este evento y esta propiedad se puede relacionar el con trol con los otros dos controles de ficheros. Lista de Directorios (DirList). Este control muestra los directorios de un disco y, haciendo doble clic en uno d e ellos, se muestran los subdirectorios, etc. Su evento ms importante es el event o Change y su propiedad, la propiedad Path. Con esto se relaciona este control c on los dems controles de fichero. La propiedad Path es una cadena de texto con la ruta a un directorio (por ejemplo C:\Windows\Media). Lista de Archivos (FileList). Este control es un cuadro de lista que muestra los archivos que hay en un direct orio. Para este control, los eventos ms importantes sern los eventos Click y DblClick. M ediante el cdigo correspondiente en estos eventos se podran abrir archivos, ejecut ar programas, etc. La propiedad Path es una cadena de texto que es la ruta del d irectorio que contiene los archivos mostrados; a travs de la propiedad Pattern se puede especificar qu tipos de archivo se mostrarn en este control. Si la propieda d Pattern es *.* (por defecto) se mostrarn todos los archivos, si se le da por va lor *.doc, se mostrarn solamente los archivos con extensin doc; si tiene por valor *.doc;*.txt se mostrarn slo los archivos con extensin txt y doc. Lneas (Line). Este control es meramente decorativo y no tiene eventos ni mtodos. Las propiedade s X1, Y1, X2 e Y2 son las coordenadas de sus extremos, las que pueden cambiarse a travs de cdigo. La propiedad BorderWidth permite definir el grosor de la lnea. Formas (Shape). Al igual que las lneas, las formas no tienen ni eventos ni mtodos, pero tienen ms p ropiedades que las lneas. La propiedad Shape permite definir qu figura geomtrica tendr (crculo, rectngulo, rectn gulo ovalado, elipse, etc.). La propiedad BackColor define el color de fondo de la forma, BackStyle tiene dos valores: Opaque y Transparent. Si la propiedad est en Transparent no se ver el color de fondo. La propiedad FillStyle permite determ inar el relleno de la figura (con lneas diagonales, cuadriculado, etc.) y FillCol or determina el color de dichas lneas de relleno. BorderStyle determina el tipo d e lnea que conformar el borde y BorderColor determinar el color del borde. DataControl (Data).

Este control Data permite tener un acceso sencillo a bases de datos. Pueden ser bases de datos de Access (*.mdb) o dBase (*.dbf), Paradox (*.db), etc. a travs de un ISAM instalable. Visual Basic tiene una herramienta para crear bases de datos de cualquiera de lo s tipos ya mencionados (y ms), llamada VisData. Este tema se tratar ms adelante. Ejemplo Crea un nuevo proyecto estndar. Este proyecto tendr 3 formularios: Control Propiedad Valor Form Name frmPrin " " Caption Inicio Commandbutton Name cmdFtime " " Caption Control &Timer Commandbutton Name cmdFfich " " Caption &Ficheros Commandbutton Name cmdFcont " " Caption &Controles Commandbutton Name cmdExit " " Caption &Salir Label Name lblFech " " Autosize True " " Caption Escribe el siguiente cdigo en la ventana de cdigo del formulario: Private Sub cmdFtime_Click() frmTime.Show 1 End Sub Private Sub cmdFfich_Click() frmFich.Show 1 End Sub Private Sub cmdFcont_Click() frmContr.Show 1 End Sub Private Sub cmdExit_Click() End End Sub Private Sub Form_Load() lblFech.Caption=Format(Date,"Long Date") &" - "& Time End Sub Control Propiedad Valor Form Name frmTime " " Caption Control Timer Shape Name shpCont " " Height 500 " " Width 3000 " " Left 80 " " Top 80 Shape Name shpMovil " " Shape Circle " " Height 420 " " Width 420 " " Top 120 " " Left 90 Timer Name tmrMover " " Enabled False " " Interval 2 Scroll Bar Name hsbInter " " Min 0 " " Max 100 " " Value 2 Commandbutton Name cmdMover

" " Caption Comenzar Escribe el siguiente cdigo en este formulario: Option Explicit Dim direccion as Boolean Private Sub hsbInter_Change() tmrMover.Interval=hsbInter.Value End Sub Private Sub cmdMover_Click() If cmdMover.Caption="Comenzar" Then tmrMover.Enabled=True:cmdMover.Caption="Detener" Else:tmrMover.Enabled=False:cmdMover.Caption="Comenzar" End If End Sub Private Sub tmrMover_Timer() Select Case direccion Case Is=False While shpMovil.Left<2570 shpMovil.Left=shpMovil.Left+1 Wend direccion=True Case Is=True While shpMovil.Left>90 shpMovil.Left=shpMovil.Left-1 Wend direccion=False End Select End Sub Control Propiedad Valor Form Name frmFich " " Caption Ficheros Image Name imgFoto Drive Name drvDisco DirList Name dirCarp FileList Name filArch " " Pattern *.bmp;*.jpg;*.gif Label Name lblNomb " " Caption Label Name lblTipo " " Caption " " Autosize True Escribe el siguiente cdigo en el formulario: Private Sub drvDisco_Change() dirCarp.Path=drvDisco.Drive End Sub Private Sub dirCarp_Change() filArch.Path=dirCarp.Path End Sub Private Sub filArch_Click() Dim nomb as String, longit as Byte nomb=filArch.List(filArch.ListIndex) longit=Len(nomb)-4 lblNomb.Caption=Left(nomb,longit) Select Case Lcase(Right(nomb,3)) Case "bmp" lblTipo.Caption="Mapa de Bits" Case "jpg" lblTipo.Caption="Imagen JPEG" Case "gif" lblTipo.Caption="Imagen GIF" End Select

imgFoto.Picture=LoadPicture(filArch.Path &"\"& nomb) End Sub Control Propiedad Valor Form Name frmCont " " Caption Controles TextBox Name txtEscr " " Text " " Multiline True Label Name lblFormat " " Caption " " WordWrap True Frame Name fraColor " " Caption Colores Option Name optColor " " Caption Negro, Blanco. Azul, Rojo, Verde, Amarillo " 2 Index 0 a 5 CheckBox Name chkBold " " Caption Negrita CheckBox Name chkItalic " " Caption Cursiva CheckBox Name chkUnderline " " Caption Subrayado Commandbutton Name Dar Formato Escribe el siguiente cdigo en el formulario: Option Explicit Dim constcolor as ColorConstants Private Sub optColor_Click(index as Integer) Select Case index Case 0 constcolor=vbBlack Case 1 constcolor=vbWhite Case 2 constcolor=vbBlue Case 3 constcolor=vbRed Case 4 constcolor=vbGreen Case 5 constcolor=vbYellow End Select End Sub Private Sub Form_Load() constcolor=vbBlack optColor(0).Value=True End Sub Private Sub cmdFormat_Click() lblFormat.Caption=txtEscr.Text lblFormat.Forecolor=constcolor chkBold.Value=lblFormat.Font.Bold chkItalic.Value=lblFormat.Font.Italic chkUnderline.Value=lblFormat.Font.Underline End Sub Pulse F5 para probar la aplicacin

Vous aimerez peut-être aussi