Escolar Documentos
Profissional Documentos
Cultura Documentos
Visual Basic, es el lenguaje de programacin que nos permite crear y desarrollar Aplicaciones para Microsoft Windows de una manera fcil y sencilla. Visual Basic ha evolucionado a partir del lenguaje BASIC original y ahora contiene centenares de instrucciones, funciones y palabras clave, muchas de las cuales estn directamente relacionadas con la interfaz grfica de Windows. El lenguaje de programacin Visual Basic no es exclusivo de Visual Basic. La Edicin para aplicaciones del sistema de programacin de Visual Basic, incluida en Microsoft Excel, Microsoft Access y muchas otras aplicaciones Windows, utilizan el mismo lenguaje
c) La Edicin Empresarial permite a los profesionales crear slidas aplicaciones distribuidas en un entorno de equipo. Incluye todas las caractersticas de la Edicin Profesional, as como herramientas de Back Office como SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, etc.
Cuestionario Preguntas: 1. 2. 3. 4. 5. Cual es la utilidad o funcin de Visual Basic? Qu significa la palabra Visual? Qu significa la palabra Basic? Mencione dos caractersticas de Visual Basic? Cules son las ediciones disponibles de Visual Basic?
Respuestas:
Presenta los comandos que se usan para trabajar con Visual Basic. Adems de los mens estndar Archivo, Edicin, Ver, Ventana y Ayuda, se proporcionan otros mens para tener acceso a funciones especficas de programacin como Proyecto, Formato o Depuracin. k) Barras de herramientas Proporcionan un rpido acceso a los comandos usados normalmente en el entorno de programacin. Haga clic en un botn de la barra de herramientas para llevar a cabo la accin que representa ese botn. Es posible activar o desactivar otras barras de herramientas adicionales desde el comando Barras de herramientas del men Ver. l) Cuadro de herramientas
Proporciona un conjunto de herramientas que puede usar durante el diseo para colocar controles en un formulario. Adems del diseo del cuadro de herramientas predeterminado, puede crear su propio diseo personalizado si selecciona Agregar ficha en el men contextual y despus se agregan controles a la ficha resultante. m) Ventana Explorador de proyectos Enumera los formularios y mdulos del proyecto actual. Un proyecto es la coleccin de archivos que se utilizan para generar una aplicacin. n) Ventana Propiedades Enumera los valores de las propiedades del control o formulario seleccionado. Una propiedad es una caracterstica de un objeto, como su tamao, ttulo o color. Otros de los elementos que se pueden encontrar en Visual Basic son:
o) Examinador de objetos Enumera los objetos disponibles que puede usar en su proyecto y le proporciona una manera rpida de desplazarse a travs del cdigo. Puede usar el Examinador de objetos para explorar objetos en Visual Basic y otras aplicaciones, ver qu mtodos y propiedades estn disponibles para esos objetos, y pegar cdigo de procedimientos en su aplicacin. p) Diseador de formularios Funciona como una ventana en la que se personaliza el diseo de la interfaz de su aplicacin. Agregue controles, grficos e imgenes a un formulario para crear la apariencia que desee. Cada formulario de la aplicacin tiene su propia ventana diseador de formulario. q) Ventana Editor de cdigo
4
Funciona como un editor para escribir el cdigo de la aplicacin. Se crea una ventana editor de cdigo diferente para cada formulario o mdulo del cdigo de la aplicacin. r) Ventana Posicin del formulario La ventana Posicin del formulario le permite colocar los formularios de su aplicacin utilizando una pequea representacin grfica de la pantalla. Ventana Posicin del formulario
s) Ventanas Inmediato, Locales e Inspeccin Estas ventanas adicionales se proporcionan para la depuracin de la aplicacin. Slo estn disponibles cuando ejecuta la aplicacin dentro del IDE.
OPCIONES DE ENTORNO
Visual Basic proporciona un alto grado de flexibilidad, permitindole configurar el entorno de trabajo que mejor se adapte a su propio estilo. Puede elegir entre una interfaz de documentos simple o mltiple, y puede ajustar el tamao y la posicin de varios elementos del Entorno integrado de desarrollo (IDE).
q
Con el IDE de Visual Basic hay disponibles dos estilos diferentes: la interfaz de documento simple (SDI) o la interfaz de documentos mltiples (MDI). Con la opcin SDI todas las ventanas del IDE se pueden mover libremente por cualquier lugar de la pantalla; siempre y cuando Visual Basic sea la aplicacin actual, permanecern encima de las dems aplicaciones. Con la opcin MDI, todas las ventanas del IDE estn contenidas en una nica ventana primaria de tamao ajustable. Para cambiar entre los modos SDI y MDI t) En el men Herramientas, seleccione Opciones. u) Aparecer el cuadro de dilogo Opciones. v) Seleccione la ficha Avanzado. w) Active o desactive la casilla de verificacin Entorno de desarrollo SDI. x) El IDE comenzar en el modo seleccionado la prxima vez que inicie Visual Basic. o bien Ejecute Visual Basic desde la lnea de comandos con el parmetro /sdi o /mdi.
q
Acoplar ventanas
Muchas de las ventanas del IDE se pueden acoplar o conectar a otra o al borde de la pantalla. Entre estas ventanas se incluyen el cuadro de herramientas, la ventana Posicin del formulario, el
5
Explorador de proyectos, la ventana Propiedades, la Paleta de colores y las ventanas Inmediato, Locales e Inspeccin. Con la opcin MDI las ventanas pueden acoplarse en cualquier lado de la ventana primaria, mientras que con SDI slo se pueden acoplar debajo de la barra de mens. Las capacidades de acoplado se pueden activar o desactivar para una ventana dada si activa la casilla de verificacin apropiada de la ficha Acople del cuadro de dilogo Opciones, disponible desde el comando Opciones del men Herramientas. Para acoplar o desacoplar una ventana. y) Seleccione la ventana que desee acoplar o desacoplar. z) Arrastre la ventana a la ubicacin deseada manteniendo presionado el botn primario del mouse. aa) El contorno de la ventana se mostrar al arrastrar la ventana. bb) Suelte el botn del mouse. Cuestionario Preguntas: 6. 7. 8. 9. 10. 11. 12. 13. Qu es el IDE de Visual Basic? Escriba tres elementos del IDE Qu funcin tienen el cuadro de herramientas? Qu funcin tiene la ventana explorador de proyectos? Qu funcin tiene la ventana de propiedades? Qu funcin tiene el diseador de formularios? Qu funcin tiene la ventana editor de cdigo? Cules son las dos opciones en que se puede configurar el entorno integrado de desarrollo?
Respuestas:
Controles
Propiedades
Mtodo Evento
Propiedad Caption
Evento click
Mtodo Move
DISEAR UN FORMULARIO
Los objetos de un formulario son los elementos de desarrollo bsicos de una aplicacin de Visual Basic. Los formularios tienen sus propios eventos, propiedades y mtodos con los que se puede controlar su apariencia y comportamiento. El primer paso para disear un formulario consiste en establecer sus propiedades. Puede establecer las propiedades de un formulario en tiempo de diseo en la ventana Propiedades o en tiempo de ejecucin, escribiendo cdigo.
Nota: Tiempo de diseo: es cualquier momento mientras est desarrollando una aplicacin en el entorno de Visual Basic, se trabaja con formularios y controles, se establecen propiedades y se escribe cdigo para los eventos. Tiempo de ejecucin es cualquier momento mientras se ejecuta realmente la aplicacin y se interacta con ella como lo hara un usuario.
Ventana Propiedades
El evento Activate se produce siempre que un formulario se convierte en el formulario activo; el evento Deactivate se produce cuando otro formulario u otra aplicacin se convierte en activo. Estos eventos son adecuados para iniciar o finalizar acciones del formulario. Por ejemplo, en el evento Activate podra escribir cdigo para resaltar el texto de un determinado cuadro de texto; con el evento Deactivate podra guardar los cambios efectuados en un archivo o en una base de datos. Para hacer visible un formulario se invoca el mtodo Show:
Form2.Show
El mtodo Show tiene el mismo efecto que asignar el valor True a la propiedad Visible del formulario. Muchos mtodos de un formulario implican texto o grficos. Los mtodos Print, Line, Circle y Refresh son tiles para imprimir o dibujar directamente en la superficie de un formulario.
FORMULARIOS Y CONTROLES
El primer paso para crear una aplicacin con Visual Basic es crear la interfaz, la parte visual de la aplicacin con la que va a interactuar el usuario. Los formularios y controles son los elementos de desarrollo bsicos que se usan para crear la interfaz. Los formularios son objetos que exponen las Propiedades que definen su apariencia, los Mtodos que definen su comportamiento y los Eventos que definen la forma en que interactan con el usuario. Mediante el establecimiento de las propiedades del formulario y la escritura de cdigo de Visual Basic para responder a sus eventos se personaliza el objeto para cubrir las necesidades de la aplicacin. Los controles son objetos que estn contenidos en los objetos de formularios. Cada tipo de control tiene su propio conjunto de propiedades, mtodos y eventos, que lo hacen adecuado para una finalidad determinada. Algunos de los controles que puede usar en las aplicaciones son ms adecuados para escribir o mostrar texto, mientras que otros controles permiten tener acceso a otras aplicaciones y procesan los datos como si la aplicacin remota formara parte del cdigo.
ControlBox
Font
Icon
StartUpPosition
Establece el tipo de borde que se usa para el Formulario Determina si el cuadro de control (contiene los mens Mover y Cerrar) esta visible cuando el programa esta ejecutndose Determina la fuente que se va a usar para mostrar texto en el formulario Determina el icono que se muestra en la barra de titulo del formulario y que aparece cuando el formulario esta minimizado Determina si va a aparecer el botn maximizar en el formulario cuando se ejecute el programa Determina si el formulario es un formulario secundario de una aplicacin MDI Determina si va a aparecer el botn minimizar en el formulario cuando se ejecute el programa Determina la posicin inicial de un formulario cuando aparece por primera vez
No
Si
Si
No No
No No
10
WindowState
Si
La propiedad BorderStyle tiene seis ajustes posibles que controlan un tipo de borde que aparece en el formulario. Estos ajustes controlan si el formulario puede ser cambiado de tamao mediante la pulsacin y arrastre del borde; controlan los botones que aparecen en el formulario e incluso controlan el alto de la barra de ttulo del formulario. Ajustes de la propiedad BorderStyle Efecto No aparece borde en el formulario. El 0 none (ninguno) formulario tampoco muestra la barra de ttulo ni botones de control. Se utiliza un borde de lnea individual. La barra de ttulo y los botones de control 1 Fixed Single (ajuste individual) aparecen en el formulario. El uso no puede cambiar el tamao del mismo. La apariencia del borde ndica que se puede cambiar el tamao del formulario. Aparecen la barra ttulo y los botones de control. El 2 Sizable (modificable de tamao) usuario puede cambiar el tamao del formulario pulsando y arrastrando del borde. Este ajuste es el predeterminado. El formulario muestra un borde fijo. La barra de ttulo, el cuadro de control y el botn cerrar aparecen en el formulario. No 3 Fixed Dialog (dialogo fijo) aparecen los botones de Minimizar y Maximizar. No se puede cambiar el tamao de formulario. El formulario posee de lnea individual y solo muestra la barra de ttulo y el botn de 4 Fixed ToolWindow (ventana de Cerrar. Aparecen en un tamao de reducido herramientas fija) de fuente (aproximadamente la mitad de su alto). Es la misma de la anterior, a excepcin de 5 Sizable ToolWndow (ventana de que el formulario tiene un borde modificable herramientas modificable de tamao) de tamao. Otra propiedad del formulario de importancia es la propiedad StartupPosition. Como habr podido imaginar, esta propiedad controla la ubicacin del formulario cuando se muestra por primera vez. La propiedad StartupPosition posee cuatro ajustes posibles, que se resumen en la tabla siguiente: Ajuste de la propiedad StartupPosition. Ajuste 0 Manual Efecto La posicin inicial la establecen las propiedades Top y left del formulario. El formulario esta centrando en el escritorio de Windows a menos que se trate de un formulario de MDI secundario, en cuyo caso se centrara dentro de su ventana primaria.
11
Ajuste
El formulario queda centrado en el escritorio de Windows. El formulario se coloca en una posicin de 3 Windows Default (predeterminado de que Windows determina, en base al numero windows) y posicin de otras ventanas que estn abiertas en ese momento.
Mostrar un formulario
Si escribe un programa que slo tiene un formulario, no tendr que preocuparse de mostrarlo u ocultarlo. Este proceso se realiza de forma automtica cuando el programa arranca y cuando se sale de l. El formulario nico se conoce como objeto Startup (inicio) o formulario Startup. Cuando se ejecuta el programa, Visual Basic carga su formulario Startup en la memoria y lo muestra. En tanto y cuando este formulario permanezca cargado, su programa seguir ejecutndose y respondiendo a los eventos. Cuando se pulse el botn Cerrar (o cuando se ejecute la instruccin End), el programa se detendr. Sin embargo, si posee formularios mltiples (como la mayora de programas tienen) deber comprender como manejarlos. El estado de un formulario lo controlan las instrucciones de load y unload de Visual Basic, ala vez los mtodos show y hide del formulario. La instruccin Load coloca un formulario en memoria, pero no lo muestra. La lnea de cdigo siguiente muestra como se usa la instruccin: Load frmApplication Mediante el uso de esta instruccin, lo que se esta haciendo es cargar explcitamente el formulario. Sin embargo, el formulario se carga de forma automtica si se accede a una propiedad, mtodo o control que este tenga. Dado que la operacin de carga se realiza de forma automtica, el uso de la instruccin Load con un formulario no es verdaderamente necesario. No obstante, resulta importante estar atento al momento en que se carga un formulario, ya que el cdigo del evento Form_load se ejecutara en ese momento. Para mostrar un formulario que no sea Startup, se deber usar un mtodo Show. Este mtodo funciona si haya cargado o no previamente el formulario en memoria. En caso de que no, el mtodo Show cargara implcitamente el formulario y luego mostrarlo. El mtodo Show se utiliza de la siguiente forma: FrmApplication.Show El mtodo Show tiene a su vez un argumento opcional que determina si el formulario aparece como modal o sin modo. Si un formulario se muestra modalmente (un formulario modal), el control del programa no volver al procedimiento que hubiera llamado al mtodo Show hasta que el formulario modal se cierre. Un ejemplo de formulario modal es la pantalla de cierre de Windows 95. No se puede poner el enfoque en otra ventana mientras que se esta mostrando este formulario de cierre de Windows. Si un formulario aparece sin modo, los usuarios de su programa se podrn mover a su gusto entre el formulario activo y los dems formularios del programa. La instruccin anterior desplegaba un formulario sin modo. Para crear un formulario modal, establezca el argumento opcional del mtodo Show a vbModal como se muestra a continuacin: FrApplication.Show vbModal
12
Una vez que aparece un formulario, dispone de dos opciones para desprenderse de el programaticamente. El mtodo Hide quitar el formulario de la pantalla pero no la memoria. Utilice Hide cuando tenga que quitar temporalmente el formulario de su vista, pero tenga todava necesidad de obtener informacin de l:
FrmAplicacion.hide SUnombreUsuario = frmaplicacion.txtNombre.Text Este ejemplo, la segunda lnea de cdigo puede acceder a la informacin que hay en un control de frmAplicacion, incluso s este formulario no esta visible en la pantalla. El mtodo Hide deja un formulario en la memoria. Si ha determinado con un formulario y con la informacin que este contiene, puede quitarlo de la pantalla y de la memoria por medio de la instruccin Unload. Esta instruccin bsicamente utiliza la misma sintaxis que la instruccin load, como se ve aqu: Unload frmAplicacion
Icono
Descripcin Presenta una opcin de tipo Verdadero o Falso, o S o No. Puede activar varias casillas de verificacin en un mismo formulario al mismo tiempo. Combina un cuadro de texto y un cuadro de lista. Permite que el usuario escriba una seleccin o seleccione un elemento de una lista desplegable. Ejecuta un comando o una accin cuando un usuario hace clic en l. Permite conectar con una base de datos existente y presentar informacin de ella en 13
Cuadro combinado
ComboBox
CommandButton Data
los formularios. Cuadro de directorios lista de DirListBox DriveListBox FileListBox Frame Presenta directorios y rutas de acceso, y permite que el usuario los seleccione. Presenta unidades de disco vlidas y permite que el usuario las seleccione. Presenta una lista de archivos y permite que el usuario los seleccione. Proporciona un contenedor visual y funcional para otros controles. Permite que un usuario agregue barras de desplazamiento a controles que no las tienen de forma automtica. (No son las barras de desplazamiento incorporadas que se incluyen en muchos controles.) Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o GIF, y acta como un botn de comando cuando se hace clic en l. Presenta texto con el que el usuario no puede interactuar ni modificar. Agrega un segmento de lnea recta a un formulario. Presenta una lista de elementos entre los que el usuario puede elegir. Incrusta datos en una aplicacin de Visual Basic. El control OptionButton, como parte de un grupo de opciones con otros botones de opcin, presenta varias opciones entre las que el usuario slo puede elegir una. Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o GIF. Tambin presenta texto o acta como contenedor visual para otros controles. Agrega un rectngulo, un cuadrado, una elipse o un crculo a un formulario, marco o cuadro de imagen. Proporciona un presentar texto. rea para escribir o
Imagen
Image
PictureBox
PictureBox
Forma
Forma
TextBox Timer
14
le asigna automticamente un nombre, por ejemplo si se agrega un CommandButton, Visual Basic lo llamar Command1, si se inserta un TextBox, lo llamara Text1. Sin embargo asignar nombres de esta forma puede resultar confuso, por ejemplo si se insertan seis CommandButton al formulario Visual Basic los llamar Command1, Command2, Command3, etc. Un nombre ms conveniente para el control es aqul que indica no slo el tipo de control del que se trate sino, tambin lo que hace en el programa. Existe una convencin para nombrar los controles que inserte en el formulario; esta convencin est compuesta por una abreviatura (generalmente de tres letras) que identifica el tipo de control del que se trata y un nombre mas largo que describe lo que hace el control en el programa. Prefijos comunes para asignar nombres a los controles Tipo de Objeto CheckBox ComboBox CommandButton CommandDialog Data Control DataBoundComboBox DataBoundGrid Data bound ListBox DirectoryListBox DriveListBox FileListBox Form Frame Grid frmMenu cmdActualizarRegistro lblMensaje txtNombreUsuario Prefijo Del nombre Chk Cbo Cmd Cdl Dat Dbc Dbg Dbl Dir Drv Fil Frm Fra Grd Tipo De objeto Horizontal ScrollBar Image Label Line ListBox Menu OLE Contanier Option Button Picture Box Shape TextBox Timer Vertical ScrollBar Prefijo De nombre hsb img lbl lin lst mnu ole opt pic shp txt tmr vsb
Hace referencia al formulario Men Hace referencia al botn comando Actualizar registro de
Hace referencia a la etiqueta Mensaje Hace referencia al cuadro de texto Nombre de usuario
15
Para acceder a la ventana editor de cdigo slo de doble clic sobre un objeto del formulario. En la ventana Lista desplegable de Objetos se muestran todos los nombres de los objetos que se insertaron en el formulario.
En la Lista desplegable de Procedimientos de Eventos, se muestran todos los eventos que contiene el objeto seleccionado.
16
La lista miembro es un cuadro de lista desplegable que contiene las propiedades y los mtodos disponibles para un objeto seleccionado.
Lista Miembro
Informacin de parmetros, muestra informacin acerca de los parmetros de la funcin o instruccin inicial.
Informacin parmetros
de
17
TIPOS DE OPERADORES
q
Operadores Aritmticos
Operador + / Nombre SUMA RESTA DIVISIN Descripcin Suma uno o mas valores Se utiliza para hallar la diferencia entre dos nmeros o para indicar el valor negativo de una expresin numrica. Se utiliza para dividir dos nmeros y obtener un resultado de signo flotante. Se utiliza para dividir dos nmeros y obtener un resultado entero.
Dim MiValor MiValor = 11 \ 4 MiValor = 9 \ 3 MiValor = 100 \ 3 ' Devuelve 2. ' Devuelve 3. ' Devuelve 33.
DIVISIN ENTERA
MULTIPLICACIN Se utiliza para multiplicar dos nmeros. Se utiliza para elevar un nmero a la potencia del exponente. EXPONENTE
Dim MiValor MiValor = 2 ^ 2 MiValor =(3 ^ 3) ^ 3 MiValor = (-5) ^ 3 'Devuelve 4. 'Devuelve 19683. 'Devuelve -125.
Operadores Lgicos
Descripcin
Operador
AND OR NOT EQV XOR IMP
q
Se utiliza para efectuar una conjuncin lgica de dos expresiones. Se utiliza para ejecutar una disyuncin lgica sobre dos expresiones. Se utiliza para ejecutar una negacin lgica sobre una expresin. Se utiliza para efectuar una equivalencia lgica de dos expresiones. Se utiliza para realizar una exclusin lgica entre dos expresiones. Se utiliza para efectuar una implicacin lgica de dos expresiones
Operadores Relacionales
Descripcin
Operador
= > < >= Asignacin o equivalente Mayor que Menor que Mayor igual
18
<= <>
q
Operador de Concatenacin
Operador & Descripcin Se utiliza para unir una o mas cadenas de texto. TEXO = ROCKY & BALBOA devuelve ROCKY BALBOA HORA = 12: & 00: & 20 devuelve 12:00:20
DECLARACIN DE VARIABLES
Se declara una variable mediante la instruccin DIM, proporcionado un nombre. DIM nombre de variable [AS tipo] Ejemplo: DIM PRESUPUESTO DIM SUELDO Puede declarar una variable indicando el alcance que esta tendr: PUBLIC INCREMENTO PRIVATE X STATIC NOMBRE Si conoce el tipo de dato que va almacenar una variable deber indicrselo con la opcin AS tipo: DIM DIRECCION AS STRING DIM IMPUESTO AS NUMERIC DM FECHAINGRESO AS DATE DIM SULEDO AS CURRENCY EL nombre de las variables debe respetar ciertas reglas de escritura: 14. 15. 16. 17. Debe comenzar con una letra. No puede incluir un punto o un carcter de declaracin de tipo. No debe exceder de 255 caracteres. Debe ser nica en el mismo alcance, que es el intervalo desde el que se puede hacer referencia a la variable: un procedimiento, formulario, etc.
Cuando la variable no es declarada con la instruccin DIM se dice que es de tipo VARIANT. Una variable de tipo VARIANT es aquella que puede almacenar cualquier tipo de dato.
CONSTANTES
Visual Basic maneja dos tipos de constantes, Constantes definidas por el usuario (simblicas) y constantes definidas por el sistema (intrnsecas). Las constantes intrnsecas vienen en las bibliotecas de Visual Basic y se agregan cuando se instala el programa en la computadora. Estas constantes tienen un formato que combinan minsculas y maysculas, con un prefijo que indica la biblioteca de objetos que define la constante. Las constantes
19
de las bibliotecas de objetos de Visual Basic y Visual Basic para aplicaciones, tienen el prefijo vb; por ejemplo, vbTileHorizontal, vbOKCancel, vbExclamation. Las constantes simblicas o definidas por el usuario se declaran mediante la instruccin Const. La sintaxis para declarar una variable es la siguiente: Sintaxis: [Public|Private] Const nombre_de_la_constante [As tipo] = expresin Ejemplo: Const PI = 3.1416 Const Impuesto = .10 Const Importe as Double
20
Cuestionario Preguntas: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Qu es un formulario? Qu es un control? Qu es un mtodo? Qu es un evento? Qu es un enfoque? Qu nos muestra la ventana Lista desplegable de objetos? Qu nos muestra la ventana Lista desplegable de procedimientos de evento? Qu operador se utiliza para la divisin entera? Qu operador se utiliza para elevar un nmero a la potencia del exponente? Qu operador se utiliza para dividir un nmero y obtener solo el resto de la divisin? Qu operador se utiliza para realizar una conjuncin lgica de dos expresiones? Qu operador se utiliza para unir una o ms cadenas de caracteres? Qu es una variable? Qu instruccin se utiliza para declarar una variable? Cules son las reglas para escribir los nombres de variables? Escriba la lnea que declare un variable llamada PRESUPUESTO de tipo Double. Qu es una constante? Cuales son constantes intrnsecas? Cul es el prefijo que se utiliza en las constantes Intrnsecas Qu instruccin se utiliza para definir una constante simblica? Escriba la lnea que declare la constante PORCENTAJE con un valor de .10 .
Respuestas:
21
DESARROLLO DE PRCTICAS
UTILIZAR LOS CONTROLES
v PRCTICA o o Entrar al programa de Visual Basic (Inicio\Programas\Microsoft Visual Basic 6.0). Seleccione la opcin .EXE Estndar.
Seleccione EXE estandar.
Seleccione con el mouse uno de los controles que agreg en la forma y presione la tecla F1; de esta forma obtendr ayuda referente al control seleccionado.
Nota:
Si no tiene instalado los archivos de ayuda (MSDN), no se mostrara la ventana con informacin del control seleccionado.
22
En el men Ejecutar seleccione la opcin Iniciar o desde la barra de herramientas de un clic sobre el botn Iniciar.
De un clic en el botn Iniciar
Si desea eliminar un control de la forma seleccinelo y presione la tecla Suprimir o presione el botn derecho del mouse y del men contextual seleccione Quitar.
1) De un clic con el botn derecho del mouse sobre el control que desee eliminar
Si desea eliminar ms de un control abra un rea tratando de abarcar los controles a eliminar y presione la tecla Suprimir.
Abra un rea
23
Nota:
Agregue mas controles y pruebe las dems opciones del men formato.(Igualar tamao, Espacio horizontal, Espacio Vertical, etc.
24
1) Seleccione etiqueta
la
Ejecute la aplicacin y observe el texto que aparece en los controles; escriba cualquier cosa sobre el control TexBox.
Entre las lneas del Sub y el End Sub escriba la siguiente lnea de cdigo. Private Sub Text1_Change() Label1.Caption = Text1.Text End Sub
Escriba cdigo esta lnea de
o o
Cierre la ventana del Editor de Cdigo y ejecute su programa. Escriba cualquier cosa sobre el control TextBox y observe que el valor de la etiqueta ser el mismo que este tecleando en el control TextBox.
25
Observe el resultado
SALVANDO EL PROYECTO
v PRCTICA o o o Seleccione la opcin Guardar Proyecto del men Archivo (cree una carpeta con el nombre LABORATORIOS en raz de C:\ y brala). En la ventana del nombre del archivo de clic en el botn Guardar seleccionando por defecto el nombre de archivo Form1. En la ventana del nombre del proyecto de un clic en Guardar seleccionando por defecto el nombre del proyecto Proyecto1 (en el mensaje de s desea agregar el proyecto al Surcesafe? seleccione No).
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub o Entre estas dos lneas teclee FILLCOLOR. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) FILLCOLOR End Sub o Marque con el mouse la palabra FILLCOLOR y presione la tecla F1
la
En la parte superior de la ventana de ayuda de un clic en l vnculo Ejemplo para ver el ejemplo, seleccione el cdigo de ejemplo y pguelo donde escribi la palabra FILLCOLOR. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) FillColor = QBColor(Int(Rnd * 15)) ' Elige un valor aleatorio de FillColor. FillStyle = Int(Rnd * 8) ' Elige un valor aleatorio de FillStyle. Circle (X, Y), 250 ' Dibuja un crculo. End Sub
Si no tiene los archivos de ayuda solo escriba el cdigo tal y como lo muestra el ejemplo anterior.
Nota:
Cierre la ventana del Editor de Cdigo y ejecute su programa, y mueva el mouse sobre la vena y observe el resultado.
27
En la ventana de propiedades asigne las propiedades a los controles de acuerdo a la siguiente tabla: Control Label1 Propiedad (Nombre) Caption (Nombre) Caption (Nombre) Caption (Nombre) Text (Nombre) Text PasswordChar (Nombre) Caption Default (Nombre) Caption Cancel (Nombre) Caption BorderStyle Nuevo valor LblInstrucion Teclee su nombre password LblUsername &User Name lblPassword &Password txtUsername (en blanco) txtPassword (en blanco) * CmdOk Ok True cmdCancel Cancel True frmForm Ventana Password 1 Fixed Single
Command1
Command2
Form1
o o
De doble clic sobre el control OK En el evento Click del control Ok teclee el siguiente cdigo: Private Sub cmdOK_Click() MsgBox "user Name = " & txtusername.Text & _ " , Password = " & txtPassword.Text End Sub
Deje un espacio antes y despus del signo & al igual en el guin bajo _
Nota:
Observe que en la primera lnea al final hay un carcter de subrayado ( _ ) esto indica continuacin de la instruccin en la siguiente lnea. Si lo desea puede escribir todo el cdigo en una sola lnea.
En el evento Click del control Cancel teclee el siguiente cdigo: Private Sub cmdCancel_Click() Unload frmForm
28
End Sub o Ejecute el programa, teclee el nombre de usuario y el password y de un clic en el botn OK; observar que s despliega el nombre y el password que acaba de teclear; de un clic en botn Cancel para cerrar el programa.
Salve su proyecto.
De doble clic sobre el control Text1 para abrir la Ventana del Editor de Cdigo.
29
Lista de objetos
Posicione su apuntador del mouse en el botn localizado arriba de la barra de desplazamiento vertical, y al cambiar el apuntador del mouse presione el botn izquierdo y arrastre el mouse hacia abajo para dividir el editor de cdigo en dos ventanas.
30
Divisin de ventana
Arrastre la divisin hacia arriba si desea dejar una sola ventana. Si desea slo ver un solo procedimiento de un clic en el botn Ver Procedimiento que se encuentra localizado en la esquina inferior izquierda de la ventana de cdigo.
Ver procedimiento
Si desea ver el cdigo de algn otro objeto slo tiene que seleccionarlo de la lista de objetos; si desea volver a ver todos los procedimientos de un clic en el botn Ver Modulo Completo que se encuentra en la esquina inferior izquierda. o Supongamos que se desea asignar una lnea de cdigo en el evento de procedimiento GotFocus del control Text1. Slo tiene que seleccionar el objeto Text1 de la lista de objeto y enseguida seleccionar el evento GotFocus de la lista de procedimientos
Seleccione el control
Seleccione el evento
31
Si desea ver el cdigo del evento Change solo tiene que seleccionarlo de la lista de Procedimiento de Eventos. Los Procedimientos de Eventos De los Controles se distinguen por que se encuentran en Negrita.
Nota: Si ejecuta el programa realmente no observara ningn resultado, la practica se vaso simplemente en conocer las opciones del editor de cdigo.
o o
De doble clic sobre el control command1( MSGBOX() ) para abrir la ventana de cdigo. En el evento Click del control Command1 agregue la siguiente lnea de cdigo. RES = MsgBox("ESTE ES UN MENSAJE MSGBOX()", vbQuestion + _ vbYesNoCancel , "VENTANA MENSAJE")
Utilice : vbQuestion, vbCritical, vbExclamation, vbInformation para desplegar un icono en la ventana. o Seleccione el objeto Command2 de la lista de objetos y en el evento clic teclee la siguiente lnea. MsgBox "MENSAJE, INSTRUCCION MSGBOX" o Seleccione el objeto Command3 de la lista de objetos y en el evento clic teclee la siguiente lnea.
32
MIDATO = InputBox("TECLEE SU NOMBRE", "VENTANA INPUTBOX", _ "JUAN", 1000, 1000) MsgBox MIDATO
Si existe algn otro procedimiento puede seleccionarlo y eliminarlo o Ejecute la forma y de un clic sobre cada uno de los botones
La diferencia entre la funcin MSGBOX() Y la instruccin MSGBOX es que la funcin muestra el cuadro de mensaje y devuelve un valor, mientras que la instruccin solo muestra el cuadro de mensaje.
33
o o o
Ejecute el programa y pruebe las opciones del botn MSGBOX(). Sin embargo es poco conveniente realizar este tipo de forma para realizar las condiciones, modifquela utilizando el formato If...Then...ElseIf o Select...Case. Agregue las siguientes lneas de cdigo que se sealan con las flechas en el objeto Commnad3.
Esto har que el cuadro de dialogo no se cierre hasta que teclee el nombre de Roberto o se presione el botn cancelar (la funcin Trim elimina los espacios en blanco de la variable).
o o o
Agregue un cuarto control CommandButton a la forma. Cambie la ropiedad Caption por Suma de 4 valores del control recin insertado. De doble clic para abrir la Ventana de cdigo y escriba el siguiente cdigo.
34
De doble clic en el control ENVIAR EL FOCO A TEXT1, y en el evento Click escriba la siguiente lnea. Private Sub Command1_Click() Text1.SetFocus End Sub
Seleccione el objeto Command2 de la ventana lista de objetos y teclee la siguiente lnea. Private Sub Command2_Click() Text2.SetFocus End Sub
Esto har que al dar clic en el control Command2 el foco se pase al control Text2. o Seleccione el objeto Text1 de la Ventana Lista de Objetos.
35
En la Ventana lista de Procedimientos busque el evento GotFocus, seleccinelo y escriba la siguiente lnea. Private Sub Text1_GotFocus() Label1.Caption = "TEXT1 HA RECIBIDO EL FOCO" End Sub
Esto har que al recibir el foco el control Text1 sea asignado un texto en el control Label1. o En la Ventana lista de Procedimientos busque el evento LostFocus, seleccinelo y escriba la siguiente lnea. Private Sub Text1_LostFocus() Label1.Caption = "TEXT1 HA PERDIDO EL FOCO" End Sub Esto har que al dar clic en otro objeto del formulario se pierda el foco del control Text1 y sea asignado al control Label1 un segundo mensaje. o o Seleccione el objeto Text2 de la ventana de lista de objetos. En la Ventana lista de Procedimientos busque el evento GotFocus, seleccinelo y escriba la siguiente lnea. Private Sub Text2_GotFocus() Label2.Caption = "TEXT2 HA RECIBIDO EL FOCO" End Sub o En la Ventana lista de Procedimientos busque el evento LostFocus, seleccinelo y escriba la siguiente lnea. Private Sub Text2_LostFocus() Label2.Caption = "TEXT2 HA PERDIDO EL FOCO" End Sub
o o o o
Cambie las propiedades Caption y Font (para el tipo de letra y el tamao) del control Label1. Cambie la propiedad Caption de los controles CommandButton como se muestra en la ventana. Cambie la propiedad (Nombre) de la forma y asgnele el nombre de FrmForma1. De doble clic sobre el control CommandButton (Ocultar y mostrar forma) y escriba el siguiente cdigo. Private Sub Command1_Click() Hide m =MsgBox("deseas volver a presentar la forma", vbQuestion + _ vbYesNo) If m = vbYes Then Show Else Unload FrmForma1 End If End Sub
En la lista de objetos seleccione Command2 y teclee el siguiente cdigo: Private Sub Command2_Click() Hide frmforma2.Show End Sub
Agregar formulario
o o
Seleccione Formulario y despus de un clic en el botn Abrir. Cambie la propiedad (Nombre) del nuevo formulario por frmForma2.
37
o o o o o
Agregue un control Label1 y un control CommandButton. Cambie la propiedad Caption del control Label por Estas en la forma Dos. Cambie las propiedad Font y la propiedad Forecolor del control Label1. Cambie la propiedad Caption del control CommandButon por Volver y Cerrar Forma. De doble clic sobre el control CommandButton y escriba el siguiente cdigo. Private Sub Command1_Click() Unload frmForma2 FrmForma1.Show End Sub
Label1 OptionButton
Frame
CommandButton Label2
Asigne las siguientes propiedades a los controles. Control Label1 Propiedad (Nombre) BorderStyle BackColor (Nombre) Caption Value (Nombre) Caption (Nombre) Caption (Nombre) Caption (Nombre) Caption Value (Nombre) Caption (Nombre) Valor lblMensaje FixedSingle (el que desee) opt486 &486 True optPentium &Pentium optPentiumpro &Pentium Pro fraSystem Sistema operativo optWin95 &Windows 95 True optWinNT Windows &NT lblTexto
38
Option1
Option5 Label2
Caption
Command1
(Nombre) Caption
En el evento Load de la forma llame o invoque a los eventos clic del control opt486 y optWin95. opt486_Click optWwin95_Click
Declare dos variables de cadena en el rea general. Dim strComputadora as String Dim strSistema as String
o o
En la lista de objetos seleccione el objeto cmdCerrar y teclee la orden para cerrar el formulario. Agregue un nuevo procedimiento (men Herramientas\Agregar Procedimiento), con el nombre de Desplegado tipo Publico y agregue las siguientes lneas de cdigo. Sub public Desplegado() LblMensaje.Caption = Ha seleccionado un & _ strComputadora & que ejecuta & strSistema End Sub
Recuerde dejar espacio antes y despus del signo &
Lista objetos
de
o o o o o
De la lista de objetos seleccione el objeto opt486 y asigne a la variable strComputer el valor 486 y llame al Procedimiento Desplegado. De la lista de objetos seleccione el objeto optPentium y asigne a la variable strComputer el valor Pentium y llame al Procedimiento Desplegado. De la lista de objetos seleccione el objeto optPentiumPro y asigne a la variable strComputer el valor PentiumPro y llame al Procedimiento Desplegado. De la lista de objetos seleccione el objeto optWin95 y asigne a la variable strSistema el valor Windows 95 y llame al Procedimiento Desplegado. De la lista de objetos seleccione el objeto optWinNT y asigne a la variable strSistema el valor Windows NT y llame al Procedimiento Desplegado.
39
o o
CONTROL CHECKBOX, PROPIEDADES FONTBOLD, FONTITALIC, WORDWRAP, MULTILINE, AUTOSIZE, SELSTART, SELLENGTH
v PRCTICA o o Cree un nuevo proyecto Exe Estndar. Agregue controles a la Forma segn la figura.
Label1
Frame1
Command1
Command2
o o o o o
Cambie la Propiedad Caption (y Text en los controles TextBox) de todos los controles de acuerdo a la ventana anterior. Cambie la propiedad MultiLine del control Text1 a False. Cambie la propiedad MultiLine del control Text2 a True. Cambie la propiedad Value del control Option1 a True. Asigne un nombre a todos sus controles segn la siguiente tabla.
40
Control Text1 Text2 Button1 Button2 Button3 Button4 Button5 Check1 Check2 Command1 Command2
Propiedad (Nombre) (Nombre) (Nombre) (Nombre) (Nombre) (Nombre) (Nombre) (Nombre) (Nombre) (Nombre) (Nombre)
Valor txtCuadro1 txtCuadro2 OptPrede OptPuntofin optPunto5 OptSeleccion OptInsertar ChkNegrita ChkCursiva cmdRestaura CmdCerrar
A continuacin se indicar que actividad desarrollara cada control (Evento Click) o o Control cmdCerrar: cierre la aplicacin. Control cmdRestaura. a. Asigne al control txtCuadro1 en su propiedad Text el valor de La propiedad Multiline es False en este ejemplo b. Asigne al control txtCuadro2 en su propiedad Text el valor de La propiedad Multiline es True en este cuadro. c. Al control optPrede asigne a su propiedad Value el valor de True. d. Al control chkNegrita asigne a su propiedad Value el valor de 0 (cero). e. Al control chkCursiva asigne a su propiedad Value el valor de 0 (cero). Control optPrede. a) Asigne a la propiedad SelectStart del control txtCuadro1 el valor de 0 (cero). b) Mande el foco al control txtCuadro1 (txtCuadro1.SetFocus). Control optPuntofin. cc) Asigne a la propiedad SelStart del control txtCuadro1 (txtCuadro.SelStart) el valor de la longitud del control txtCuadro1 ( len(txtCuadro1.Text) ). dd) Mande el foco al control txtCuadro1. Control optPunto5. ee) Asigne a la propiedad SelStart del control txtCuadro1 (txtCuadro.SelStart) el valor de 5. ff) Mande el foco al control txtCuadro1. Control optSeleccion. gg) Asigne a la propiedad SelStart del control txtCuadro1 (txtCuadro.SelStart) el valor de 0 (cero). hh) Asigne a la propiedad SelLength del control txtCuadro1 (txtCuadro.SelLength) el valor la longitud del control txtCuadro1 ( len(txtCuadro1.Text) ). ii) Mande el foco al control txtCuadro1. Control chkNegrita. jj) Haga una condicin si la propiedad Value del control chkNegrita es igual a 1 (uno) entonces asigne a la propiedad FontBold del control txtCuadro1 el valor True (verdadero), en caso contrario asigne el valor False (falso). Control chkCursiva.
41
kk) Haga una condicin (if) si la propiedad Value del control chkCursiva es igual a 1 (uno) entonces asigne a la propiedad FontItalic del control txtCuadro1 el valor True (verdadero), en caso contrario asigne el valor False (falso). o Ejecute el programa.
CONTROL COMBOBOX
v PRCTICA o o Cree un nuevo proyecto. Agregue los controles al formulario segn figura.
ComboBox
Label3 Linea
o o o
Al seleccionar un pas este deber ser agregado en la lista del control ComboBox y aparecer en el control Label2. Si se desactiva cualquier casilla el elemento seleccionado se deber quitar de la lista del control ComboBox. Si se selecciona el control Command1 (Limpiar) se debern eliminar todos los elementos de la lista del control ComboBox, se desactivarn las casillas y se limpiara el control Label2 (ver figura).
SOLUCIN:
Control : cmdLimpia
Dim ELEMENTOS As Integer -------------------------------------------Private Sub cboPaises_Click() lblSeleccion.Caption = cboPaises.Text End Sub -------------------------------------------Private Sub Command1_Click()
42
ELEMENTOS = cboPaises.ListCount - 1 For x = 0 To ELEMENTOS cboPaises.List(x) = " " Next chkNom1.Value = False chkNom2.Value = False chkNom3.Value = False chknom4.Value = False lblSeleccion.Caption = "" End Sub -------------------------------------------Private Sub chkNom1_Click() If chkNom1.Value Then cboPaises.AddItem "Mexico", 0 cboPaises.Text = "Mexico" cboPaises.RemoveItem 1 Else cboPaises.List(0) = " " End If End Sub -------------------------------------------Private Sub chkNom2_Click() If chkNom2.Value = 1 Then cboPaises.AddItem "Francia", 1 cboPaises.Text = "Francia" cboPaises.RemoveItem 2 Else cboPaises.List(1) = " " End If End Sub -------------------------------------------Private Sub chkNom3_Click() If chkNom3.Value = 1 Then cboPaises.AddItem "Espaa", 2 cboPaises.Text = "Espaa" cboPaises.RemoveItem 3 Else cboPaises.List(2) = " " End If End Sub -------------------------------------------Private Sub chkNom4_Click() If chknom4.Value = 1 Then cboPaises.AddItem "USA", 3 cboPaises.Text = "USA" cboPaises.RemoveItem 4 Else cboPaises.List(3) = " " End If End Sub -------------------------------------------43
Private Sub Form_Load() cboPaises.AddItem "", cboPaises.AddItem "", cboPaises.AddItem "", cboPaises.AddItem "", End Sub
0 1 2 3
44
Agregue los elementos al primer cuadro de lista y un grfico a los dos primeros botones de comando.
Cambie la propiedad Picture y la propiedad Style para asignar un icono de flecha a cada botn
De un clic en el primer botn, oprima la tecla Shift y de un clic en los dems botones para seleccionarlos
Una vez que se seleccionaron los botones, cambie su propiedad Enabled a False
Cambie la propiedad NOMBRE de todos los controles y asigne los nombres como se muestra en la figura.
cmdAGREGAUNO lstLISTA1
lstLISTA2
cmdREGRESAUNO
cmdAGREGATODOS cmdREGRESATODOS
Nota:
Es importante que sean escritos los nombres tal y como lo muestra la ventana anterior.
De doble clic sobre el control lstLISTA1 y en su evento Click teclee las siguientes lneas.
En la lista de objetos busque el control cmdAGREGAUNO y en su evento Click escriba las siguientes lneas de cdigo para que el elemento que sea seleccionado se borre del control lstLISTA1 y se agregue al control lstLISTA2. Private Sub cmdAGREGAUNO_Click() lstLISTA2.AddItem lstLISTA1.List(lstLISTA1.ListIndex) lstLISTA1.RemoveItem lstLISTA1.ListIndex End Sub En la lista de objetos seleccione el control lstLISTA2 y escriba las siguientes lneas de cdigo. Private Sub lstLISTA2_Click() cmdREGRESAUNO.Enabled = True cmdREGRESATODOS.Enabled = True cmdAGREGAUNO.Enabled = False cmdAGREGATODOS.Enabled = False End Sub Esto har que al momento de activar los elementos del control lstLISTA2, se deshabiliten los botones cmdAGREGAUNO y cmdAGREGATODOS.
46
En la lista de elementos seleccione el control cmdREGRESAUNO y escriba las siguientes lneas de cdigo. Private Sub cmdREGRESAUNO_Click() lstLISTA1.AddItem lstLISTA2.List(lstLISTA2.ListIndex) lstLISTA2.RemoveItem lstLISTA2.ListIndex End Sub Esto har que al seleccionar un elemento del control lstLISTA2 y dar un clic en el botn cmdREGRESAUNO, se agregue el elemento en el control lstLISTA1 y se borre del control cmdLISTA2.
En la lista de elementos seleccione el control cmdAGREGATODOS y escriba las siguientes lneas de cdigo. Private Sub cmdAGREGATODOS_Click() For X = 0 To lstLISTA1.ListCount - 1 lstLISTA2.AddItem lstLISTA1.List(X) Next lstLISTA1.Clear lstLISTA2_Click End Sub En estas lneas de cdigo se realizo un ciclo donde se contaron los elementos del control lstLISTA1 y se agregaron al control lstLISTA2, para posteriormente borrar todos los elementos del control lstLISTA1 y llamar al procedimiento de evento lstLISTA2_Click.
En la lista de elementos seleccione el control cmdREGRESATODOS y escriba las siguientes lneas de cdigo. Private Sub cmdREGRESATODOS_Click() For X = 0 To lstLISTA2.ListCount - 1 lstLISTA1.AddItem lstLISTA2.List(X) Next lstLISTA2.Clear lstLISTA1_Click End Sub
1) Seleccione un pas
47
1) De un clic en el pas que se agrego 2) De un clic en el segundo botn Observe que el pas regresa al primer cuadro
Observe que fueron agregados todos los elementos del primer cuadro
Observe que fue regresado el primer pas 3) Por ltimo de un clic en Regresar para devolver todos los elementos al primer cuadro
48
Grabe su proyecto.
Label1 Text1
Button1 Command1
Label2
Asigne el nombre a los controles de acuerdo a la siguiente tabla. Control Propiedad (Nombre) (Nombre) BorderStyle (Nombre) (Nombre) (Nombre) (Nombre) Valor lblMensaje lblVista 1 - Fixed Single txtMensaje optValorP optValorL cmdVer
De doble clic sobre el control txtMensaje para abrir la ventana del editor de cdigo y verifique que se posicione en su evento Change. Private Sub txtMensaje_Change() End sub
Teclee el siguiente cdigo en el evento Change. Declare una variable local con el nombre de strVarLocal tipo cadena. Haga una condicin de s la propiedad Value del control optValorP es igual a True (verdadero), si se cumple, asigne el valor de la propiedad Text del control txtMensaje a la variable publica strVarPublica y asigne a la propiedad Caption del control lblVista la cadena Texto Publico, en caso de cumplirse la condicin, asigne a la variable local el valor de la propiedad Text del control txtMensaje y asigne a la propiedad Caption del control lblVista la cadena Texto Local.
Private Sub txtMensaje_Change() Dim strVarLocal As String If optValorP.Value = True Then strVarPublica = txtMensaje.Text
49
lblVista.Caption = "Texto Publico" Else strVarLocal = txtMensaje.Text lblVista.Caption = "Texto Local " End If End Sub o En la seccin General (Seccin de Declaraciones) declare una variable pblica con el nombre strVarPublica de tipo cadena.
Seccin General
En la lista de objetos seleccione el control optValorP y haga lo siguiente. Mande el foco al control txtMensaje.
En la lista de objetos seleccione el control optValorL y haga lo siguiente. Mande el foco al control txtMensaje.
En la lista de objetos seleccione el control cmdVer y haga lo siguiente. Realice la siguiente condicin , si la propiedad Value del control optValorP es igual a True, si se cumple, asigne a la propiedad Caption del control lblVista el valor de la variable publica (strVarPublica), si no se cumple, asigne a la propiedad Caption del control lblVista el valor de la variable local (strVarLocal).
50
Condicin
o o o
De la lista de objetos seleccione el control txtMensaje. Busque en la lista de procedimientos el evento GotFocus y seleccinelo. Dentro del evento GotFocus agregue el siguiente cdigo. Private Sub txtMensaje_GotFocus() txtMensaje.SelStart = 0 txtMensaje.SelLength = Len(txtMensaje.Text) End Sub
Esto har que cada vez que reciba el foco el control txtMensaje se seleccione el mensaje que este contiene. Ejecute el programa, seleccione el tipo de valor (publico o local), escriba el valor en el cuadro de texto, de un clic en el botn ver contenido y observe el valor de la etiqueta de la parte inferior de la ventana. Observara que cuando el valor es pblico se muestra el contenido en la etiqueta de la parte inferior de la ventana, mientras que cuando el valor es local este no se muestra en la parte inferior de la ventana. Cuando el mensaje es valor pblico se almacena en la variable publica strVarPublica que fue declarada en la seccin General , por lo tanto esta variable puede verse o existir en cualquier evento Private o incluso en otro formulario, de tal manera que puede verse su contenido en cualquier momento; cuando el valor del mensaje es local, este se guarda en la variable Local strVarLocal, la cual solo puede existir o conservar su valor en el evento donde fue declarada (evento Change del control txtMensaje).
MANEJO DE ARREGLOS
v PRCTICA o Agregue los siguientes controles a la forma de acuerdo a la siguiente figura.
Realizar lo siguiente. Al seleccionar el botn Iniciar presentar una ventana donde solicite 5 nombres, los cuales debern ser almacenados en un arreglo.
51
InputBox
Al terminar de aceptar los cinco nombres estos debern aparecer en el cuadro de texto.
Antes de usar algunos de los controles comunes de Microsoft tiene que aadirlos al cuadro de herramientas. Para aadir los controles al cuadro de herramientas: a. Seleccione la opcin Componentes del men Proyectos o de un clic con el botn derecho del mouse sobre el cuadro de herramientas y seleccione Componentes. b. De la lista seleccione el grupo Microsoft Windows Common Controls 6.0 que desea instalar a. Microsoft Windows Common Controls 6.0 Todos los controles de la tabla anterior hasta el control ImageCombo (incluido) b. Microsoft Windows Common Controls-2 6.0 El resto de los controles de la tabla anterior excepto el control CoolBar. c. Microsoft Windows Common Controls-3 6.0 El control CoolBar.
53
o o
54
STATUSBAR (CONTROL)
Un control StatusBar es un marco que puede constar de varios paneles que informan al usuario acerca del estado de una aplicacin. El control puede contener hasta 16 panels. El control StatusBar puede colocarse en el borde superior, en el inferior o en los lados de una aplicacin. Opcionalmente, tambin puede "flotar" dentro del rea del formulario de la aplicacin. Aplicaciones posibles Informar al usuario de las medidas de una tabla de una base de datos, indicando por ejemplo el nmero de registros y la posicin actual en la base de datos. Ofrecer al usuario informacin acerca de las actividades que se estn realizando Indicar el estado de ciertas teclas (por ejemplo, bloq mays o bloq nm). El control statusbar se genera en torno a la coleccin panels. la coleccin panels puede contener hasta diecisis objetos panel, cada uno de los cuales puede mostrar una imagen y un texto, como se ilustra a continuacin:
v PRCTICA 1. De un clic en el cuadro de herramientas con el botn derecho del mouse y seleccione del men contextual la opcin componentes.
2. Agregue de la lista de componentes los controles comunes Microsoft Windows Common Controls 6.0
55
3. Una vez que agrego los controles busque el control StatusBar y agrguelo a su formulario.
4. Observe que al agregar la barra de estado se inserta automticamente el primer panel. 5. Ahora, de un clic con el botn derecho del mouse sobre el control statusbar, y del men contextual seleccione Propiedades.
Ficha Panels
56
o o
Seleccione la ficha Panels. La siguiente tabla muestra la funcin de las propiedades de la ventana Panels. Descripcin Nmero de ndice del panel. Muestra un texto dentro del panel. Muestra una leyenda o mensaje cuando se coloca el apuntador del mouse sobre el panel. Asigna un identificador o nombre al panel. Guarda datos adicionales para su programa. Justifica el contenido del panel hacia la izquierda, centrado o derecha.
Muestre uno de los elementos siguientes dentro del panel: constante valor sbrText sbrCaps 0 1 descripcin (Predeterminado). Texto o mapa de establezca el texto con la propiedad Text. bits.
Tecla bloq mays. muestra las letras mayus en negrita cuando est activada bloq mayus y atenuadas cuando esta desactivada. Tecla bloq num. muestra las letras num en negrita cuando la tecla bloq num est activada y atenuadas cuando esta desactivada. Tecla ins. muestra las letras ins en negrita cuando la tecla de insercion est activada y atenuadas cuando esta desactivada. Tecla bloq despl. muestra las letras desp en negrita cuando el bloqueo de desplazamiento est activado y atenuadas cuando est desactivado. Hora. muestra la hora actual con el formato del sistema. Fecha. muestra la fecha actual con el formato del sistema. Kana. muestra las letras kana en negrita cuando el bloqueo Kana est activado y atenuadas cuando est desactivado (solo en los sistemas operativos en japones).
sbrNum
5 6 7
Especifica si el objeto panel tendr un bisel para simular profundidad (el valor predeterminado), para simular relieve o si no tendr bisel. Bevel Constante Valor Descripcin sbrNoBevel 0 El objeto panel no muestra ningn bisel y el
57
texto aparece directamente sobre la barra de estado. sbrInset sbrRaised 1 2 El objeto panel aparece hundido en la barra de estado. El objeto panel aparece en relieve sobre la barra de estado.
Determina como el objeto panel ajustar su tamao cuando el usuario cambie el tamao del contenedor primario (ya sea un formulario o un control contenedor). constante sbrNoAutosize 0 AutoSize SbrSpring valor descripcin Ninguno. No hay ajuste de tamao. el ancho del panel es siempre el que especfica la propiedad width. Expansin. Cuando cambia el tamao del formulario primario y hay espacio adicional, todos los paneles con este valor se dividen ese espacio y crecen en consecuencia. sin embargo, el ancho de los paneles nunca ser inferior al especificado en la propiedad minwidth. Contenido. El tamao del panel se adapta a su contenido.
SbrContents Picture
Ahora comenzaremos a insertar los paneles a la barra de herramientas; en el primer panel asigne los siguientes valores para sus propiedades. Propiedad Text Tooltiptext Key Autosize Valor msg; Mensaje informativo PAN1 2- sbrContents
58
P r o p i e d a d e s
De un clic en el botn de insertar panel, para agregar otro panel a la barra de estado (para avanzar al panel 2) deber avanzar con los botones de direccin que se encuentran en la propiedad index), y asigne los siguientes valores a las siguientes propiedades:
imagen
Imagen
Inserte el tercer panel y cambie las propiedades: Text, ToolTipsText, Key, Alignment y AutoSize como lo muestra la figura.
59
PAN1
PAN2
PAN3
o o o
Puede ejecutar su programa y observar la barra de estado. Observe que en el panel de fecha, solo se muestra el texto FECHA y no la fecha del sistema; la fecha del sistema ser insertada en tiempo de ejecucin. Detenga el programa si se est ejecuntado; de doble clic en cualquier parte de su formulario, para invocar al evento load del formulario (observe la siguiente figura).
60
Teclee la siguiente lnea en el procedimiento de evento load del formulario. Private sub Form_Load() StatusBar1.Panels(3).Text = Format(Date, "DDDD MMMM YYYY") End Sub
Panel de fecha
Botn de comando 1
Botn de comando 2
De doble clic sobre el botn command1, para llamar a su evento Click y escriba la siguiente lnea de cdigo. Private Sub Command1_Click() StatusBar1.Panels(1).Text = "BOTN DE COMANDO UNO" End sub
61
En la lista de objetos de su ventana de cdigo, seleccione el objeto command2 y teclee la siguiente lnea de cdigo. Private sub command2_click() StatusBar1.Panels(1).Text = "BOTN DE COMANDO DOS End sub
Ejecute el formulario y de un clic en los botones command1 y command2, y observe el contenido del primer panel.
Ahora insertaremos un nuevo panel en tiempo de ejecucin; en el evento Load del formulario, agregue la siguiente lnea de cdigo. Private sub Form_Load() StatusBar1.Panels(3).Text = Format(Date, "DDDD MMMM YYYY") StatusBar1.Panels.Add 4, "PAN4", "PANEL AGREGADO" Agregue esta End sub lnea
Tambin podemos especificar algunas propiedades del panel 4 en tiempo de ejecucin, agregue las siguientes lneas en el evento load del formulario. Private sub Form_Load() StatusBar1.Panels(3).Text = Format(DATE, "DDDD MMMM YYYY") StatusBar1.Panels.Add 4, "pan4", "PANEL AGREGADO" StatusBar1.Panels(4).AutoSize = sbrContents Agregue estas dos lneas StatusBar1.Panels(4).ToolTipText = "panel 4" End Sub
Ejecute el formulario y acerque el apuntador del mouse al panel 4 y observe la leyenda que se despliega, y vea como el contenido se ajusto tambin al panel.
62
o o
Hasta aqu hemos visto como se agrega un panel y se asignan propiedades en tiempo de ejecucin y en tiempo de diseo; sin embargo tambin se puede programar eventos al hacer un clic sobre algn panel. Detenga su programa si lo esta ejecutando y cierre la ventana de cdigo, para estar en la vista formulario o vista objetos. De doble clic sobre la barra de estado de su formulario, para invocar el evento. Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel) End sub
En este evento vamos a teclear un bloque de condiciones como se muestra a continuacin. Private Sub StatusBar1_PanelClick(ByVal Panel as MSComctlLib.Panel) Select Case Panel.Index Case 1 MSGBOX "PANEL DE MENSAJES EMERGENTES" Case 2 MSGBOX "PANEL DE HORA DEL SISTEMA" Case 3 MSGBOX "PANEL DE FECHA DEL SISTEMA" Case 4 MSGBOX "PANEL AGREGADO EN TIEMPO DE EJECUCION" End Select End Sub
Ejecute el formulario y de un clic sobre cualquiera de los paneles de la barra de estado y observe el mensaje.
Cuadro de mensaje
63
Grabe su proyecto
64
v PRACTICA 1. De un clic en el cuadro de herramientas con el botn derecho del mouse y seleccione del men contextual la opcin componentes. 2. Agregue de la lista de componentes los controles comunes MICROSOFT WINDOWS COMMON CONTROLS 6.0 3. Una vez que agrego los controles busque el control IMAGELIST y agrguelo a su formulario. este control almacenar las imgenes que contendrn los botones de la barra de herramientas.
4.
De un clic con el botn derecho del mouse sobre el control IMAGELIST recin insertado y del men contextual seleccione Propiedades.
65
Control ImageList
5.
Tamao de la imagen
6. 7.
De la ficha general seleccione el tamao (16 * 16) que es el tamao de las imgenes a insertar y seleccione la ficha IMAGENES. De la ficha imgenes seleccione INSERTAR IMAGEN y busque en la carpeta: C:\ARCHIVOS DE PROGRAMAS\MICROSOFT VISUAL ESTUDIO\COMMON\GRAPHICS\ICONS\MISC la imagen a insertar
Puede asignar un nombre a su imagen en la propiedad key (recomendable)
8. 9.
Una vez insertadas las imgenes de un clic en el botn aceptar para retornar al diseo del formulario. Ahora inserte un control TOOLBAR en el diseo del formulario y observe que este se presenta en la parte superior del mismo.
66
Control ToolBar
Si desea mover el control TOOLBAR a otra ubicacin cambie la propiedad ALING a la opcin cero. 10. De un clic con el botn derecho del mouse sobre el control TOOLBAR y del men contextual seleccione propiedades (vea la siguiente figura).
Ficha General
Propiedad ImageList
11. En la ficha general busque la propiedad IMAGELIST y seleccione IMAGELIST1 que es el nombre del control que guardo las imgenes y cambie las propiedades BORDERSTYLE y STYLE. 12. Pase ahora a la ficha Botones y observe las siguientes propiedades.
67
1 3 2 7 4 5 6 8
DESCRIPCION Nmero de ndice del botn (consecutivo) Mensaje o ttulo del botn Nombre o identificador del botn Tipo de botn que ser creado 0 tbrDefault 1 tbrCheck 2 tbrButtonGroup 3 tbrSeparator Botn estndar Indica por su estado si una opcin esta activada o desactivada Indica que este botn forma parte de un grupo de botones Se utiliza para proporcionar espacio entre otros botones Se usa para contener un espacio en la barra de herramientas para otros controles (como un cuadro combinado) Se usa con un buttonmenu para crear un men desplegable en el botn de la barra de herramientas
4-Style 4 tbrPlaceHolder
5 tbrDropDrow
8-Image
Muestra una leyenda o mensaje cuando se sita el apuntador del mouse sobre el botn Devuelve o establece una expresin que almacena cualquier dato adicional necesario para su programa. Establece o devuelve el estado actual del botn. el valor de 0 (tbrUnpressed) ndica que el botn no ha sido pulsado, mientras que el valor de 1 (tbrPressed) ndica que ha sido pulsado Seala el ndice de la imagen que ser mostrada en el botn
68
13. Observe los valores asignados a las propiedades del primer botn, en la siguiente figura.
Nmero de ndice del botn. Nombre del botn. Nmero de la imagen asignada al botn.
Leyenda o mensaje del botn, al acercar el apuntador del mouse. Seleccione aplicar para ver el botn
14. Cree una barra de herramientas tal y como lo muestra la siguiente figura (puede crear sus imgenes o utilizar cualquiera).
3 tbrSeparator
0 tbrDefault
1 tbrCheck
2 tbrButtonGroup
5 tbrDropDrow
15. Una vez que se creo la barra de Herramientas, se proceder a programar las actividades que har cada botn. Para este ejercicio, se desplegara un mensaje para cada botn, indicando la actividad que este realiza. 16. Estando ubicado en el diseo del formulario, de doble clic sobre la barra de herramientas y observar que se desplegar la ventana de editor de cdigo, en el evento: Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) End Sub 17. Entre estas dos lneas realice un bloque de condiciones para cada botn como se muestra a continuacin.
69
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 MsgBox "BOTON GUARDAR ARCHIVO" Case 2 MsgBox "BOTON ABRIR ARCHIVO" Case 4 If Toolbar1.Buttons(4).Value = tbrPressed Then MsgBox "BOTON NEGRITA ACTIVADO" Else MsgBox "BOTON NEGRITA DESACTIVADO" End If Case 5 If Toolbar1.Buttons(5).Value = tbrPressed Then MsgBox "BOTON CURSIVA ACTIVADO" Else MsgBox "BOTON CURSIVA DESACTIVADO" End If Case 6 If Toolbar1.Buttons(6).Value = tbrPressed Then MsgBox "BOTON SUBRAYADO ACTIVADO" Else MsgBox "BOTON SUBRAYADO DESACTIVADO" End If Case 8 MsgBox "BOTON ALINEAR IZQUIERDA ACTIVADO" Case 9 MsgBox "BOTON ALINEAR CENTRADO ACTIVADO" Case 10 MsgBox "BOTON ALINEAR DERECHA ACTIVADO" Case 12 MsgBox "BOTON ZOOM" End Select End Sub 18. En el cdigo anterior observe que dentro el bloque de condiciones, no se condiciono a los botones 3, 7 y 11, ya que estos son botones de separacin o separadores. 19. En el caso de los botones de Negrita, Cursiva y Subrayado, se realiz una condicin para saber por medio de la propiedad Value, si este se encontraba seleccionada o no. If Toolbar1.Buttons(4).Value = tbrPressed Then Tambin puede comparar MsgBox "BOTON NEGRITA ACTIVADO" el valor de 0 y 1, en lugar Else de tbrPressed (1 activado y 0 desactivado) MsgBox "BOTON NEGRITA DESACTIVADO" End If 20. Ejecute su programa y de un clic en cada botn de la barra de tareas. 21. Habr notado, que las opciones del botn de men no realizan ninguna tarea al ser seleccionados; esto se debe a que no se ha especificado que tarea realizarn; esto se realizar en el siguiente evento.
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) End Sub 70
22. Para llamar a este evento, primero debe estar dentro de la ventana de editor de cdigo; en la ventana de eventos, busque de la lista, el evento ButtonMenuClick y seleccinelo. 23. Ahora realizaremos un bloque de condiciones para las opciones del botn de men, tal como se muestra a continuacin. Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) Select Case ButtonMenu.Index Case 1 MsgBox "ZOOM A 75%" Case 2 MsgBox "ZOOM A 50%" Case 3 MsgBox "ZOOM A 25%" Case 4 MsgBox "ZOOM A 10%" End Select End Sub 24. Ahora ejecute el programa y seleccione cualquiera de las opciones del botn de men. 25. Grabe su proyecto.
Nota: Si va a utilizar mas de un botn de men, deber realizar las condiciones por su propiedad Key, y no por su ndice, tal y como se muestra en el siguiente ejemplo.
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) Select Case UCASE(ButtonMenu.Key) Se condiciona el Key de los botones Case BOT75 MsgBox "ZOOM A 75%" Identificador o nombre del botn Case BOT50 MsgBox "ZOOM A 50%" Case BOT25 La funcin Ucase devuelve MsgBox "ZOOM A 25%" una cadena convertida a Case BOT10
maysculas
71
EDITOR DE MENS
Utilice el comando Editor de Mens para la creacin de mens personalizados en la aplicacin y para la definicin de algunas de las propiedades. Slo esta disponible en tiempo de diseo. Para crear un men personalizado realice lo siguiente. 1. Seleccione el icono del la barra de Herramientas Estndar o seleccione del men Herramientas, Editor de Mens y observe la ventana Editor de mens.
La siguiente tabla muestra la funcin de las propiedades de la ventana editor de mens. Propiedad Caption Name Index Descripcin Ttulo del men Nombre o identificador del men Le permite asignar un valor numrico que determina la posicin del control en una matriz de controles. Esta posicin no tiene ninguna relacin con la ubicacin del control en la pantalla. Shortcut Le permite seleccionar una tecla de mtodo abreviado para cada comando. HelpContextIndex Le permite asignar un valor numrico nico para el Id. de contexto. Este valor se utiliza para encontrar el tema de ayuda apropiado en el archivo de ayuda identificado mediante la propiedad HelpFile. NegotiatePosition Le permite seleccionar la propiedad NegotiatePosition del men. Esta propiedad determina si el men aparece o no en un formulario contenedor y como aparece. Checked Le permite hacer que aparezca inicialmente una marca de verificacin a la izquierda de un elemento del men. Se utiliza normalmente para indicar si una opcin de alternar esta activada o no. Enabled Le permite seleccionar si el elemento del men debe responder a eventos. Desactive esta opcin si desea que el elemento del men no este disponible y aparezca atenuado. Visible Le permite hacer que un elemento aparezca en el men. WindowList Determina si el control del men contiene una lista de formularios
72
Secundarios mdi abiertos en una aplicacin mdi. Pasa el men seleccionado a un nivel inferior cada vez que hace clic en el botn. Puede crear hasta cuatro niveles de submens. Pasa el men seleccionado a un nivel superior cada vez que hace clic en el botn. Puede crear hasta cuatro niveles de submens. Cada vez que se hace clic en este botn, el elemento seleccionado del men se mueve hacia arriba una posicin dentro del mismo nivel de men. Cada vez que se hace clic en este botn, el elemento seleccionado del men se mueve hacia abajo una posicin dentro del mismo nivel de men. Selecciona la lnea siguiente. Inserta una lnea en el cuadro de lista, inmediatamente encima de la lnea actualmente seleccionada. Elimina borra la lnea actualmente seleccionada. Cierra el editor de mens y aplica todos los cambios efectuados en el ltimo formulario seleccionado.
Para dar al usuario acceso a travs del teclado a un elemento del men, escriba el signo & antes de una letra. En tiempo de ejecucin, esta letra aparecer subrayada (el signo & no ser visible) y el usuario tendr acceso al men o al comando si presiona las teclas Alt y la correspondiente a la letra subrayada. Si desea crear una barra separadora en el men, escriba un nico guin (-) en el cuadro Caption. 2. Comience a crear la barra de mens de acuerdo a los siguientes valores de la tabla (seleccione el botn siguiente despus de agregar los valores a cada men). Men ARCHIVO Propiedad Caption Name ABRIR Caption Name CERRAR Caption Name (SEPARADOR) Caption Name IMPRIMIR Caption Name IMPORTAR Caption Name EDICIN Caption Name COPIAR Caption Name Shortcut CORTAR Caption Name Shortcut PEGAR Caption Name Shortcut SALIR Caption Valor &ARCHIVO MNUARCHIVO ABRIR MNUABRIR CERRAR MNUCERRAR (GUION) MNUSEPARADOR IMPRIMIR MNUIMPRIMIR IMPORTAR MNUIMPORTAR &EDICIN MNUEDICION COPIAR MNUCOPIAR CTRL+C CORTAR MNUCORTAR CTRL+X PEGAR MNUPEGAR CTRL.+V &SALIR
73
Name
3. Hasta aqu hemos creado nuestra estructura de mens. de un clic en el botn aceptar para generar el men.
De un clic en el men Archivo para ver sus opciones
Barra separadora
4. Ejecute su formulario y abra las opciones del men archivo y edicin. 5. Ahora vamos a programar cada opcin de los mens de archivo y edicin, detenga su programa si lo esta ejecutando, de un clic en el men archivo para ver sus opciones, y de un clic en la opcin Abrir para invocar al siguiente evento. Private Sub MNUABRIR_Click() End Sub
74
6. Escriba la siguiente lnea. Private Sub MNUABRIR_Click() MsgBox "OPCION ABRIR ARCHIVO" End Sub
Escriba lnea esta
7. Ejecute su programa, abra el men archivo y seleccione la opcin abrir y observe el mensaje que se despliega.
Programe las dems opciones del men archivo y del men edicin, desplegando un mensaje informativo, que indique la activad que estos realizan. 8. Ejecute su programa pruebe todas las opciones de los mens, utilizando tambin las teclas rpidas Ctrl + C, Ctrl + X y Ctrl + V, de las opciones Copiar, Cortar y Pegar del men edicin. 9. Grabe su proyecto.
MENU CONTEXTUAL
Si desea crear un men contextual deber agregarlo en la lista de mens junto con las opciones que este contiene, deber ocultarlo y despus mandar llamarlo en el evento v PRCTICA o Agregue las opciones para el men contextual que se desea desplegar y desactive la casilla Visible como lo muestra la siguiente figura.
75
La casilla Visible ser desactivada solo en el nombre del men contextual sus opciones debern tener la casilla activada. Cierre la ventana del editor de men una vez que haya agregado el nombre del men contextual y sus opciones. o Abra la ventana editor de cdigo en el procedimiento de evento MouseUp del formulario y escriba el siguiente cdigo.
Ejecute el programa y de un clic con el botn derecho en cualquier parte del formulario.
Men contextual
76
MANEJO DE MENS
v PRCTICA 1. Cree un men de acuerdo a la siguiente forma.
Los procedimientos a realizar son los siguientes. Opcin Calculadora Llamar a la forma Calculadora. Opcin Calendario llamar a la forma Calendario. Opcin Imgenes llamar a la forma Imgenes. La forma calculadora deber contener los botones para la realizacin de las operaciones mas comunes (suma, resta, divisin y multiplicacin) como se muestra en la forma siguiente.
Los nmeros (0-9) debern estar contenidos en una matriz El punto, el signo de igual y el botn limpiar no estn dentro de ninguna matriz Los cuatro operadores debern estar dentro de una segunda matriz
Month View
Timer
77
Label1: Almacena la hora del sistema en combinacin con el control Timer. Label2: Almacena La Propiedad Caption Fecha:. Label3: Almacena la Fecha actual y cambia a la fecha que seleccione el usuario del calendario. Month View: Se tomar del componente Microsoft Windows Common controls2 6.0. Timer: Especificar un intervalo de tiempo de 500 y en su evento Timer asignar al control Label1.Caption la hora del sistema. Command1: Cambiar la propiedad Monthcolumns del control MonthView para que muestre dos meses. Command2: Volver a visualizar el calendario a un solo mes y dejar la fecha actual al control Label3.
Label1
Label2
FileListBox1
FileListBox2
Image1
Picture1
a) Asignar a la propiedad Caption del control Label1 y Label2 segn se muestra en la figura. b) En el evento Load de la forma se deber asignar las rutas donde se localizan los archivos *.BMP y *.JPEG a los controles FileListBox1 y FileListBox2. c) En el evento Click del control FileListBox1 almacene la ruta y el nombre del archivo que se seleccione dentro de una variable y cargue el archivo seleccionado (almacenado en la variable) en la propiedad Picture del control Image1. d) En el evento Click del control FileListBox2 almacene la ruta y el nombre del archivo que se seleccione dentro de una variable y cargue el archivo seleccionado (almacenado en la variable) en la propiedad Picture del control Picture1.
SOLUCINES:
(Solucin Calculadora) Dim num1, num2 Dim bandera, Banpunto As Integer Dim operando As String * 1 Dim limpiar As Boolean 'inicia con valor False -------------------------------------------------------------------------------Private Sub cmdPunto_Click() If Banpunto = 0 Then
78
If bandera = 0 Then num1 = num1 + "." vista.Caption = num1 Else num2 = num2 + "." vista.Caption = num2 End If End If Banpunto = 1 End Sub -------------------------------------------------------------------------------Private Sub cmdIgual_Click() If num2 <> "" Then Select Case operando Case "+" vista.Caption = CDbl(num1) + CDbl(num2) Case "-" vista.Caption = CDbl(num1) - CDbl(num2) Case "*" vista.Caption = CDbl(num1) * CDbl(num2) Case "/" If num2 <> 0 Then vista.Caption = CDbl(num1) / CDbl(num2) Else MsgBox "no se puede dividir por 0 (cero)" End If End Select limpiar = True End If End Sub -------------------------------------------------------------------------------Private Sub Limpia_Click() bandera = 0 Banpunto = 0 num1 = "" num2 = "" operando = "" vista.Caption = Format(0, "0.") limpiar = False End Sub -------------------------------------------------------------------------------Private Sub numeros_Click(Index As Integer) If limpiar = True Then Limpia_Click End If If bandera = 0 Then num1 = num1 + numeros(Index).Caption vista.Caption = num1 Else num2 = num2 + numeros(Index).Caption vista.Caption = num2 End If
79
End Sub Private Sub operador_Click(Index As Integer) bandera = 1 Banpunto = 0 operando = operador(Index).Caption Refresh End Sub (Solucin Calendario) Private Sub cmdRestaura_Click() mthCalendario.MonthColumns = 1 lblFecha.Caption = Format(Date, "dd-mmmm-yyyy") End Sub -------------------------------------------Private Sub cmdVista_Click() mthCalendario.MonthColumns = 2 End Sub -------------------------------------------Private Sub Form_Load() lblFecha.Caption = Format(Date, "dd-mmmm-yyyy") End Sub -------------------------------------------Private Sub mthCalendario_DateClick(ByVal DateClicked As Date) lblFecha.Caption = Format(mthCalendario.Value, "dd-mmmm-yyyy") End Sub -------------------------------------------Private Sub Timer1_Timer() Label1.Caption = Time End Sub (Solucin Grficos) Private Sub filJpeg_Click() s = UCase(filJpeg.Path) + "\" + filJpeg.FileName picUno.Picture = LoadPicture(s) End Sub -------------------------------------------Private Sub filLista_Click() s = UCase(filLista.Path) + "\" + filLista.FileName imgUno.Picture = LoadPicture(s) End Sub -------------------------------------------Private Sub Form_Load() filLista.Path = "c:\windows" filJpeg.Path = "c:\dibujos" End Sub
80
o o
Se requiere que al seleccionar cualquier opcin del men y dar clic en el control Command1 (Iniciar) el circulo se desplace a partir de su posicin original hacia la derecha, hacia arriba o hacia abajo. Al desplazarse el circulo en cualquier direccin se deber mostrar el tiempo progresivo del recorrido en control ProgressBar. En el control StatusBar se mostrar la hora, la fecha, si se encuentra activada o no la tecla numrica y se desplegara un mensaje que seale el recorrido que hace el circulo.
SOLUCIN:
Private Sub iniciar_Click() ProgressBar1.Min = 1 ProgressBar1.Visible = True If subderecha.Checked = True Then StatusBar1.Panels("msg").Text = "Circulo hacia la derecha..." ProgressBar1.Max = Form1.ScaleWidth zz = Form1.ScaleWidth - 100 For x = 2280 To zz circulo.Left = x ProgressBar1.Value = x Next ElseIf subarriba.Checked = True Then StatusBar1.Panels("msg").Text = "Circulo hacia arriba..."
81
ProgressBar1.Max = 1700 For x = 1 To 1700 circulo.Top = 1080 - x ProgressBar1.Value = x Next ElseIf subabajo.Checked = True Then StatusBar1.Panels("msg").Text = "Circulo hacia abajo..." ProgressBar1.Max = 1700 For x = 1 To 1700 circulo.Top = 1080 + x ProgressBar1.Value = x Next End If ProgressBar1.Visible = False circulo.Left = 2280 circulo.Top = 1080 End Sub -------------------------------------------Private Sub Form_Load() StatusBar1.Panels("fecha").Text = Format(Date, "dd-mmmm-yyyy") ProgressBar1.Align = vbAlignBottom ProgressBar1.Visible = False circulo.Left = 2280 circulo.Top = 1080 End Sub -------------------------------------------Private Sub mnusalir_Click() End End Sub -------------------------------------------Private Sub subabajo_Click() subderecha.Checked = False subarriba.Checked = False subabajo.Checked = True End Sub -------------------------------------------Private Sub subarriba_Click() subderecha.Checked = False subarriba.Checked = True subabajo.Checked = False End Sub -------------------------------------------Private Sub subderecha_Click() subderecha.Checked = True subarriba.Checked = False subabajo.Checked = False End Sub -------------------------------------------Private Sub Timer1_Timer() StatusBar1.Panels("hora").Text = Time End Sub
82
Picture1
Frame1
Picture2
o o o o o
Los controles Command1 e Image1 podrn arrastrase sobre la forma. El control Picture1 deber aparecer cuando el control Image1 se arrastre sobre el formulario (vbEnter). El control Picture2 deber aparecer cuando el control Image1 se arrastre sobre (encima vbLeave) de cualquier otro control de la forma. Los controles Picture1 y Picture2 debern ser archivos tipo .ICO y la propiedad Visible deber ser False. Ejecute su forma y arrastre los controles Command1 e Image1 sobre el rectngulo o sobre el control Frame1.
SOLUCIN:
Option Explicit Dim dragx As Single Dim dragy As Single -------------------------------------------Private Sub Command1_MouseDown(Button As Integer, Shift As _ Integer, X As Single, Y As Single) dragx = X dragy = Y Command1.Drag vbBeginDrag End Sub -------------------------------------------Private Sub ImageN_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) dragx = X dragy = Y ImageN.Drag vbBeginDrag End Sub -------------------------------------------Private Sub Form_DragDrop(Source As Control, X As Single, Y As _ Single) Source.Move (X - dragx), (Y - dragy) End Sub --------------------------------------------
83
Private Sub Form_DragOver(Source As Control, X As Single, Y As _ Single, State As Integer) Select Case State Case vbEnter ImageN.DragIcon = Picture1.Picture Case vbLeave ImageN.DragIcon = Picture2.Picture End Select End Sub
84
Inserte un control Image y abra un rea a partir de la esquina superior abarcando todo el formulario
A continuacin agregaremos el cdigo que permitir mostrar las imgenes para el protector de pantalla. Abra su ventana editor de cdigo y agregue las siguientes tres lneas de cdigo en la seccin general. Dim CONTADOR As Integer Dim NUMEROIMAGEN As Integer Dim ARREGLO(4) El contador ser utilizado para que el programa no finalice en el primer movimiento del mouse. Este contador es necesario puesto que Windows enva un par de eventos MouseMove al programa cuando este inicia.
85
La variable NUMEROIMAGEN almacenar el nmero de imanen que ser desplegada en pantalla. La variable ARREGLO almacenar las imgenes que sern desplegadas. o En la lista de procedimientos de eventos Busque el evento KeyPress y escriba la siguiente orden. Private Sub Form_KeyPress(KeyAscii As Integer) End End Sub o En la lista de procedimientos de eventos Busque el evento MouseMove y escriba las siguientes lneas de cdigo. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) CONTADOR = CONTADOR + 1 If CONTADOR > 5 Then End End Sub o En la lista de procedimientos de eventos Busque el evento Load y escriba las siguientes lneas de cdigo. Private Sub Form_Load() ARREGLO(1) = "C:\MISFOTOS\TALIA1.JPG" ARREGLO(2) = "C:\MISFOTOS\BILLAR.JPG" ARREGLO(3) = "C:\MISFOTOS\MUJER.JPG" ARREGLO(4) = "C:\MISFOTOS\LUISYVIANEY.JPG" End Sub En estas lneas se agregan las imgenes dentro del arreglo. Observe que en las lneas anteriores se agregaron las imgenes al arreglo de una carpeta llamada MISFOTOS, es importante que Ud. escriba la direccin correcta de la carpeta de su disco duro y tambin el nombre de las imgenes que tenga. Si no cuenta con imgenes puede cambiar la ruta por algn mensaje. o En la lista de objetos seleccione Timer1 y escriba las siguientes lneas de cdigo. Private Sub Timer1_Timer() Image1.Picture = LoadPicture(ARREGLO(NUMEROIMAGEN)) CALL CONTAR End Sub Se agregan las imgenes del arreglo al control Image1 y se manda llamar el procedimiento CONTAR. o Cree un nuevo procedimiento llamado CONTAR y escriba las siguientes lneas de cdigo. Private Sub CONTAR() NUMEROIMAGEN = NUMEROIMAGEN + 1 If NUMEROIMAGEN > 4 Then NUMEROIMAGEN = 1 End Sub
86
En este procedimiento se incrementa el contador de imagen y se condiciona si es mayor que 4 se vuelve a iniciar con el valor de 1 ya que solo son cuatro las imgenes que sern desplegadas. En la siguiente ventana se muestran como quedaron los procedimientos del programa.
Cierre la ventana de editor de cdigo y en la vista diseo (vista de objetos) de un clic en el control Timer y cambie su propiedad Interval.
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) CONTADOR = CONTADOR + 1 If CONTADOR > 5 Then End End Sub o Ejecute su programa y observe el resultado.
87
ANIMACIONES Y MULTIMEDIA
v PRCTICA o Inicie un nuevo proyecto y agregue los siguientes controles comunes en la barra de herramientas. o MICROSOFT COMMON DIALOG CONTROL 6.0 MICROSOFT MULTIMEDIA CONTROL 6.0 MICROSFT WINDOWS COMMON CONTROLS-2 6.0
Ahora insertaremos el cdigo para poder trabajar con multimedia y animaciones. En el evento Load del formulario escriba el siguiente cdigo. Private Sub Form_Load() MMControl1.DeviceType = "CDAUDIO" MMControl1.Command = "OPEN" End Sub
Estas lneas de cdigo asignan el tipo de dispositivo a utilizar y se abre el dispositivo. o En la lista de objetos seleccione el nombre del men que se creo MnuAbrir y escriba las siguientes lneas de cdigo. Private Sub MNUABRIR_Click() On Error Resume Next With CommonDialog1 .Filter = "avi (*.avi)|*.avi" .ShowOpen End With With Animation1 .AutoPlay = True .Open CommonDialog1.FileName End With End Sub
88
La orden On Error, captura el error que se pueda generar al cargar un archivo. El control CommonDialog junto con la propiedad Filter, realizan un filtro para mostrar solo los archivos que tengas extensin AVI. El mtodo ShowOpen permite mostrar la ventana con la carpeta y la lista de archivos localizados. El control Animation junto con su propiedad Autoplay muestran la animacin. El mtodo Open abrir el archivo que fue seleccionado al utilizar el control CommonDialog. La instruccin With ejecuta una serie de instrucciones sobre un nico objeto o sobre un tipo definido por el usuario; es decir al utilizar esta instruccin solo se escribe una sola vez el nombre del objeto y directamente se asignan las propiedades o mtodos que sern utilizadas junto con el control. Si no se hubiese utilizado la instruccin With se tendra que haber escrito de la siguiente manera: CommonDialog1.Filter = "avi (*.avi)|*.avi" CommonDialog1.ShowOpen La ventana de cdigo deber verse como lo muestra la siguiente figura.
Ejecute su programa.
2) Seleccione un archivo
3) De un clic en Abrir
Observe animacin
la
Si tiene a la mano un CD de msica insrtelo en la unidad de CD ROM de su computadora y deje abierta la compuerta, posteriormente de un clic en el botn Eject para cerrar la compuerta automticamente.
Grabe su proyecto.
90
Para iniciar a crear la base de datos realice lo siguiente. 22. Elija Archivo, Nuevo para acceder a un submen que le permite especificar el tipo de base de datos que se va a crear. 23. Elija el elemento Microsoft Access. Con esta accin se abre otro submen en el que se puede elegir la versin de la base de Access que se va a crear. 24. Si va a compartir los datos con usuarios de un sistema Windows 3.1, deber elegir la versin 2.0, si no, elija la versin 7.0 la figura muestra los distintos niveles de men para crear una base de datos.
91
Tras elegir el tipo de base de datos, se le presentara el cuadro de dialogo; este cuadro de dialogo le permite elegir un nombre y una carpeta para la base de datos a crear. Seleccione la carpeta y escriba el nombre de la base de datos, y luego pulse el botn de Guardar. Esta opcin le lleva el modo de diseo, que vemos en la siguiente figura.
El administrador visual de datos presenta la informacin de la base de datos en la vista de rbol. Este tipo de vista le permite ver las tablas y consultas rpidamente en la base de datos. Tambin le permite abrir la vista aun ms para ver los campos e ndices de una tabla, adems de sus propiedades de los campos individuales.
92
Este cuadro de dialogo le muestra informacin sobre la propia tabla, adems de una lista de los campos e ndices de la tabla. Tambin se pueden ver botones en el cuadro de dialogo que sirven para agregar y quitar campos e ndices. Para agregar campos a la tabla, pulse el botn Agregar campo para acceder al cuadro de dialogo Agregar campo. Luego siga estos pasos para cada campo que desee agregar: 25. 26. 27. 28. 29. Pulse el botn Agregar campo en el cuadro de dialogo Estructura de la tabla. Seleccione el tipo de campo en la lista desplegable Tipo. Introduzca el tamao del campo (s lo cree necesario) Introduzca cualquier parmetro adicional, como reglas de validacin. Pulse el botn Aceptar para agregar el campo a la tabla.
Asigne el nombre al campo Tipo de campo Tamao Pulse aceptar para agregar el campo a la tabla
Una vez que haya aadido todos los campos a la tabla, pulse el botn Cerrar del cuadro de dialogo Agregar campo para volver al cuadro de dialogo estructura de la tabla.
93
Si desea quitar un campo de la tabla, seleccione el nombre del campo en la lista de campos del cuadro de dialogo y pulse el botn Eliminar campo. Cuando haya terminado de introducir los campos de la tabla, pulse el botn Generar la tabla para crearla.
Hasta aqu s a creado la base de datos y una de sus tablas, puede cerrar la ventana y regresar al formulario o realizar algunos cambios si lo desea.
94
Despus de definir los campos del ndice, podr elegir que el ndice sea nico o que sea el ndice primario o principal (asumiendo que todava no tiene un ndice primario) mediante la seleccin de la casilla de verificacin apropiada en la ventana. Cuando el ndice este terminado, gurdelo pulsando Aceptar. El ndice que acaba de crear se agregar a la lista ndices del cuadro de dialogo Estructura de la tabla. Para eliminar un ndice, sencillamente seleccione el cuadro de lista y pulse Quitar ndice.
Lista de ndices
95
Estructura de la tabla
Puede introducir datos desde la ventana de base de datos siempre y cuando este en modo Dynaset.
Un Dynaset es una agrupacin de informacin de una o ms tablas de una base de datos. Los dynaset son recordset actualizables, de forma que todo cambio realizado por los usuarios quedara almacenado en la base de datos. Los cambios realizados en la informacin del Dynaset quedan reflejados en las tablas de la base de las que se derive la informacin, aparte de en el mismo Dynaset. Estos cambios incluyen adiciones, modificaciones y eliminacin de registros. Para agregar campos slo de un clic con el botn derecho sobre la tabla y del men contextual seleccione abrir.
96
97
98
La referencia titulada Microsoft Activex Data Objects 2.0 Library contiene los objetos ADO
31. Haga doble clic en el icono ODBC y seleccione la hoja de propiedades DSN de Usuario.
99
Botn Agregar
32. De un clic en Agregar y seleccione el controlador a utilizar (en este ejemplo seleccione Microsoft Access Driver *.mdb) .
Seleccione Finalizar
33. Seleccione finalizar. 34. Escriba un nombre para el origen de sus datos, alguna descripcin de referencia y seleccione su base de datos a conectar.
Nombre para su origen de Datos Seleccione su base de datos a conectar
100
35. Haga clic en Aceptar para crear el origen de datos. 36. Podr observar que su conexin DSN se muestra en la lista
Conexin DSN (miDSN) De un clic en aceptar para cerrar la ventana y regresar a Visual Basic
Ttulo
Algunos de los controles que se encuentran en el Cuadro de herramientas de Visual Basic pueden ser de enlace de datos, incluidos los controles CheckBox, ComboBox, Image, Label, ListBox, PictureBox y TextBox. De manera adicional, Visual Basic incluye distintos controles ActiveX de enlace de datos, como los controles DataGrid, DataCombo, Chart y DataList. Tambin puede crear sus propios controles ActiveX de enlace de datos, o comprar controles de otros proveedores. Versiones anteriores de Visual Basic ofrecan el control de datos intrnsecos y el control de datos remotos (RDC) para tener acceso a los datos. Ambos controles se incluyen an en con Visual Basic por compatibilidad con versiones anteriores. No obstante, dada la flexibilidad de ADO, se recomienda que las nuevas aplicaciones para bases de datos se creen mediante el control de datos ADO.
101
Usos posibles: nn) Conectar con una base de datos local o remota. oo) Abrir una tabla especificada de una base de datos o definir un conjunto de registros basados en una consulta con el Lenguaje Estructurado de Consultas (SQL) o procedimiento almacenado o vista de las tablas de esa base de datos. pp) Pasar valores de un campo de datos a controles de enlace de datos, en los que pueda mostrar o cambiar los valores. qq) Agregar nuevos registros o actualizar una base de datos segn los cambios hechos en los datos que aparecen en los controles enlazados. Para crear una aplicacin para bases de datos cliente o front-end, agregue el control de datos ADO a sus formularios del mismo modo en que lo hara con cualquier otro control de Visual Basic. Puede tener tantos controles de datos ADO en su formulario como sea necesario. Tenga en cuenta, no obstante, que el control es un mtodo comparativamente "caro" de crear conexiones, mediante al menos dos conexiones para el primer control, y una o ms para cada control subsiguiente.
q
Para conectarse con una base de datos y recuperar datos, deber establecer varias propiedades del control de datos ADO. La mayora de ellas se controlan a travs del cuadro de dialogo Pginas de propiedades. Para abrir el cuadro de dialogo pginas de propiedades, pulse con el botn derecho del mouse sobre el control y elija propiedades de ADODC en el men contextual.
El cuadro de dialogo de pginas de propiedades de este control esta dividida en las siguientes fichas. Ficha General Descripcin Especifica como se conecta el control con la base de datos. Autentificacin Le permite proporcionar un nombre de usuario y con contrasea que el control puede utilizar para conectarse con la base de datos. Origen de Define que recordset recupera el control del origen de registros datos. Aqu se puede especificar una tabla o nombre del procedimiento almacenado, o una consulta SQL. Color y Fuente Cambia el aspecto del control.
q
Realizar la conexin
Para que el control de datos ADO pueda acceder a datos, en primer lugar debe ser capaz de conectarse con una base de datos. Es necesario configurar la propiedad ConecctionString del control,
102
con el fin de proporcionar la informacin necesaria. Esto se puede hacer en tiempo de ejecucin o en tiempo de diseo. Puede establecer la cadena de conexin mediante tres mtodos : Descripcin Esta opcin le permite cargar informacin Usar archivo de vnculo de datos de conexin guardada de un archivo MDL (Vnculo de Datos de Microsoft) Aqu puede seleccionar entre una de las configuraciones DSN ODBC del sistema. Usar nombre de origen de datos Puede pulsar el botn Nuevo para crear un ODBC nuevo DSN, al igual que lo hara en el Panel de control. Esta opcin permite especificar directamente una cadena de conexin. La Usar cadena de conexin accin de pulsar el botn Generar abre un asistente que le ayuda a generar la cadena de conexin. Mtodo
Despus de haberse conectado con la base de datos, se deber indicar que datos especficos tiene que traer de ese origen. Esto se hace seleccionando la ficha Origen de registros del cuadro de dialogo Pginas de propiedades.
103
El control de datos ADO utiliza cuatro tipos de ordenes para recuperar los datos. Orden Funcin AdCmdText Ejecuta una consulta SQL en el origen de datos AdCmdStoreProc Llama a un procedimiento almacenado en un servidor de base de datos. AdCmdTable Especifica el nombre de una tabla de base de datos, que se usa para devolver la tabla completa AdCmduknow Tipo de orden desconocida
Tipos de comandos
MOSTRAR DATOS
Una vez que se han especificado todos los datos necesarios al control ADO para que traiga los datos, ahora lo ms probable es que se deseen mostrar estos datos o incluso modificarlos. Puede mostrar los datos en un control TexBox, estableciendo la propiedad Datasourse al control de datos ADO, y la propiedad DataField al nombre de campo apropiado.
Propiedad DataField
Propiedad DataSource
Una vez especificado la prodiedad DataSource y DataField de cada cuadro de texto deber ser capaz de inspeccionar la base de datos y ver o modificar informacin.
104
Puede navegar por el recordset utilizando los botones del control de datos ADO, e inmediatamente cada control de cuadro de texto enlazado quedar automticamente actualizado para mostrar el contenido de cada registro activo.
105
Antes de usar el control DataGrid deber insertarlo en el cuadro de herramientas de Visual Basic. Para hacerlo, pulse con el botn derecho del mouse sobre el cuadro de herramientas y seleccione del men contextual Componentes y de la lista agregue un control llamado Microsoft DataGrid Control 6.0.
Selector de registros
Divisiones
106
de del
OPCIONES GENERALES
La ficha General del cuadro de propiedades, contiene algunas opciones que controlan el comportamiento general del control. Otras fichas, como Columnas y Diseo, le permiten ajustar las propiedades de los elementos individuales de la cuadricula. Propiedad Caption ColumnHeaders Descripcin Controla l ttulo que aparece en la parte superior de la cuadrcula. Activa o desactiva la fila del encabezado, que esta ubicado en la parte superior de la cuadrcula. Por defecto el encabezado de una columna determinada es el nombre del campo que se asigno a la tabla de la base de datos seleccionada. Controla el aspecto general del control DataGrid. Posee dos ajustes posibles, dbgFlat y dbg3d (el predeterminado), que hacen que se dibuje la cuadrcula con una apariencia de indicador o tridimensional, respectivamente. Determina el tipo de lnea que se dibuja entre cada fila de datos. Puede elegir entre varias opciones, entre las que se incluye la desactivacin completa de los divisores de fila. Observe que la propiedad RowdividerStyle afecta a los divisores de los seleccionadores de registros. Controla si se permite la interaccin del usuario con la cuadricula. Si la propiedad se establece a False , el usuario no podr desplazarse, seleccionar celdas o modificar datos. Sin embargo, la cuadrcula y algunos datos todava permanecern visibles en la pantalla.
Apearence
RowDividerStyle
Eabled
Aparte de las propiedades que controlan el aspecto de este control, las tres propiedades boleanas siguientes de la ficha General controlan que operaciones de datos estn permitidas. Propiedad AllowAddNew Funcin Controla si el usuario puede agregar un nuevo registro al Recordset que aparece en la cuadrcula de datos (False por defecto). Si la propiedad se establece a True, se agregar una fila en blanco al final de los datos, de forma que el usuario podr introducir un nuevo registro. El seleccionador de registro de la fila AddNew esta marcado con un asterisco.
107
AllowDelete
AllowUpdate
Controla si el usuario puede eliminar un registro del recordset subyacente. Para eliminar una fila, utilice el seleccionador de registros para resaltarlo y pulse la tecla Supr. Esta propiedad es False por defecto. Controla si el usuario puede modificar un registro existente (True por defecto). La accin de establecer esta propiedad a False hace que cada celda de la cuadrcula actu como un cuadro de texto puede seleccionar el texto y copiarlo en el portapapeles, pero no podr cambiarlo.
2- dbgGridNavigation
DIVIDIR LA CUADRICULA
Para agregar o quitar una divisin en tiempo de diseo, deber ir al modo edicin del entorno de diseo de la cuadrcula. Para hacerlo, pulse el botn derecho del mouse sobre el control DataGrid y del men contextual seleccione Modificar. Aparentemente observara que no ocurre nada, sin embargo, vuelva a pulsar con el botn derecho del mouse sobre el control DataGrid y vera que los elementos del men contextual cambian de los de Visual Basic a los que proporciona DataGrid. Mientras est en el modo edicin del entorno de diseo, podr realizar las siguientes operaciones en el men contextual:
108
rr) Insertar y eliminar columnas ss) Cambiar el tamao de las columnas tt) Recuperar el diseo del campo del origen de datos. uu) Despejar el diseo del campo existente vv) Agregar y quitar divisiones Para dividir la cuadrcula slo tiene que seleccionar Dividir del men contextual aun estando en el modo de edicin del entorno de diseo de la cuadrcula.
PROPIEDADES DE DIVISIN
A medida que se van creando nuevas divisiones se les asignar nombres consecutivos: Split0, Split1, Split2, etc. Para especificar ajustes en una divisin seleccinela de la lista y establezca las propiedades apropiadas.
Lista de divisiones
Descripcin Cuando esta opcin est seleccionada el usuario no podr introducir texto. Cuando esta propiedad est establecida a False, la divisin seleccionada no podr recibir el enfoque del programa. Esta propiedad le permite al usuario cambiar el tamao del ancho de la divisin durante la ejecucin del programa. Esta opcin puede evitar que el usuario cambie el tamao de las filas en tiempo de ejecucin. Esta propiedad activa o desactiva los seleccionadores de registros de la divisin especificada.
109
ADMINISTRADOR DE COMPLEMENTOS
Utilice el Administrador de complementos para seleccionar un complemento, cargarlo o descargarlo, y para establecer su comportamiento de carga. Para poder mostrar un complemento en el Administrador de complementos, antes es preciso registrarlo.
DE CARGA PREDETERMINADO DE UN
47. Abra el Administrador de complementos. 48. Seleccione el complemento en el cuadro de lista. 49. Seleccione una de las dos opciones siguientes en el cuadro Comportamiento de carga. ww) Elija Cargar al inicio para cargar el complemento automticamente cada vez que se inicie el entorno de programacin desde el escritorio. xx) Elija Lnea de comandos para cargar el complemento cada vez que se inicie el entorno desde MS-DOS o desde una secuencia de comandos.
Obviamente puede que el formulario no sea como Ud. Lo desea, pero le ser muy fcil cambiar el diseo predeterminado y despus guardar los cambios.
q
52. Aparentemente ver que no sucede nada, sin embargo, vuelva abrir el men complementos y observar que al final se agrego el Asistente para formulario de datos.
53. Seleccione Asistente para formulario de datos del men complementos para abrir el cuadro de dialogo Introduccin del asistente.
111
55. Seleccione el tipo de base de datos al que el formulario va a acceder (para este ejemplo seleccione Access) y elija siguiente. 56. Despus de elegir el tipo de base de datos, deber elegir la verdadera base de datos y el origen de registro con el que va a trabajar.
57. Ahora seleccione el tipo de formulario a crear y el tipo de enlace de los datos.
Asigne un nombre a su formulario Seleccione el tipo de formulario (seleccione la primera opcin) Verifique que este activada la opcin control de datos ADO
58. Seleccione el nombre de la tabla y los datos que desea que aparezcan en el formulario.
112
Seleccione la tabla del origen de datos De un clic para seleccionar todos los campos
61. Observe que se agrego a su proyecto el nuevo formulario de datos que fue creado con el asistente.
113
62. Cambie el origen inicial al formulario Libros (Proyectos\Propiedades de proyecto) y ejecute su programa para poder agregar, borrar o modificar registros.
Observe que un informe esta dividido en varias secciones, estas secciones muestran los siguientes tipos de informacin: yy) Encabezado del informe La informacin aparece una vez en la parte superior del informe. zz) Encabezado de pgina La informacin se muestra en la parte superior de cada pgina. aaa) Seccin de detalle La parte del informe que se repite para cada registro del origen de datos ADO.
114
bbb) ccc)
Pie de pgina La informacin aparece en la parte inferior de cada pgina. Pie de informe La informacin aparece al final del informe.
Los tipos de campos que se pueden colocar en el informe de datos se ponen a disposicin en el cuadro de herramientas cuando el objeto DataReport tiene el enfoque. Controles del diseador de informes de datos Control RptLabel RptTexbox RptImage RptLine RptShape RptFunction Descripcin Se utiliza para agregar texto estadstico al informe que no est enlazado a datos Muestra el contenido de un campo de base de datos. Inserta una imagen en el informe. Permite dibujar lneas en el informe. Permite dibujar una gama de formas en el informe, con el fin de resaltar informacin o proporcionar otros efectos visuales. Permite colocar un campo en el encabezado o pie que contenga una o varias funciones matemticas simples.
CONSTRUIR EL INFORME
Para agregar un control RptLabel simple y sencillamente seleccione el control y dibjelo en la parte donde lo quiera y cambie la propiedad Caption por el texto que desea que vaya aparecer.
Control RptLabel
Puede agregar un grfico si lo desea, utilizando el control RptImage y seleccionado la imagen desde la propiedad Picture del control RptImage.
115
Para poder presentar los datos, lo primero que debe hacer es conectar el informe al origen de datos mediante el Diseador de entorno de datos. Un entorno de datos contiene todas las conexiones y consultas que se estn utilizando en la aplicacin. Para abrir el Diseador de entorno de datos en el men Proyectos seleccione Mas diseadores ActiveX y elija Data Environment.
REALIZAR LA CONEXIN
Una vez que se tiene la ventana de Diseador de entorno de datos, se comenzar a realizar la conexin. Para realizar la conexin de un clic con el botn derecho del mouse en Connection1 y seleccione Propiedades del men contextual.
116
Seleccione Propiedades
Si se esta conectando con una base de datos de Access seleccione Microsoft Jet 3.51 OLE DB Provider.
Seleccione Microsoft Jet 3.51 OLE DB Provider para las bases de datos de Access
(Si cuenta con una conexin DSN puede seleccionarla con la opcin Microsoft OLE DB Provider for ODBC Drivers)
Pulse con el botn derecho del mouse sobre Connection1 y seleccione Agregar comando del men contextual.
Elemento Command1
Pulse con el botn derecho del mouse sobre Command1 y seleccione Propiedades del men contextual, y en la ficha General en la propiedad Caption asigne un nombre til al comando. Verifique que en la propiedad conexin est el nombre de su conexin o seleccinela de la lista de conexiones. En el origen de datos seleccione la opcin Objeto de base de datos y de la lista seleccione TABLA. En Nombre de objeto seleccione la tabla de la base de datos de la que se van a mostrar los datos.
Asigne un nombre para su comando
118
Seleccione el nombre de su conexin Seleccione TABLA como objeto de base de datos Seleccione el nombre de la tabla de la cual se extraern los datos Seleccione Aceptar para aceptar los cambios
Una vez que se estableci la conexin y el origen del registro puede ver los campos de la tabla seleccionada presionando con el mouse en la casilla con el signo de ms.
Una vez terminado de realizar estos paso puede continuar construyendo el informe.
119
Una vez que se termino de crear el informe puede ejecutarlo o mandar llamarlo de otro programa de igual forma que como se manda llamar un formulario (rptInforme.show).
FUNCTIONTYPE (PROPIEDAD)
Devuelve o establece la funcin utilizada para calcular el valor mostrado por el control Function. Sintaxis: objeto.FunctionType [=entero] La sintaxis de la propiedad FunctionType consta de las siguientes partes. Parte objeto entero Descripcin Requerido. Una expresin de objeto que da como resultado un objeto de la lista Se aplica a. Opcional. Una expresin numrica que especifica la funcin, como se describe en Valores.
Los valores admitidos para entero son: Constante rptFuncSum rptFuncAve rptFuncMin rptFuncMax rptFuncRCnt rptFuncVCnt Valor 0 1 2 3 4 5 (Predeterminado) DataField. Calcula el DataField. Descripcin Suma de los los valores valores del del
promedio
Devuelve el valor mnimo del DataField. Devuelve el valor mximo del DataField. Cuenta las filas de la seccin. Cuenta los campos con valores no nulos.
120
rptFuncSDEV rptFuncSERR
6 7
Sustituciones que admite el control RptLabel Sustitucin %p %P %d %D %t %T %i Accin Nmero de pgina actual Total de nmeros de pginas Fecha en curso (formato corto) Fecha en curso (formato largo) Hora en curso (formato corto) Hora en curso (formato largo) Ttulo del informe
121