Está en la página 1de 33

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 1 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Nombre del Proyecto: ADMINISTRACIN DEL SOPORTE TCNICO EN


SISTEMAS A INSTITUCIONES EDUCATIVAS.

Duracin en meses: 18 meses

Fase del Proyecto:


CONCEPTUALIZACIN

Actividad de Proyecto
Recopilar informacin relacionada con el proyecto

Duracin en meses de la actividad 4 meses

Actividades de Aprendizaje Gua de conocimiento.

Duracin en horas de la actividad

Competencia: 220501046

APLICAR HERRAMIENTAS OFIMTICAS, REDES SOCIALES Y COLABORATIVAS DE ACUERDO CON LE PROYECTO A DESARROLLAR.

Resultados de Aprendizaje: Duracin 22050104604 APLICAR resultado:


CONTROLES Y ESTRUCTURAS BSICAS DE PROGRAMACIN DE UN LENGUAJE ORIENTADO A EVENTOS DE ACUERDO CON EL PROBLEMA A SOLUCIONAR.

en 90

horas

del

Visual Basic - Gua del Estudiante Cap. 7


Controles (Continuacin) El CommonDialog
CONTROLES DE BUSQUEDA DE FICHEROS

El CommonDialog es un control del que se libran muy pocas aplicaciones. Dada la importancia de este control, se le dedicaba en versiones anteriores de la Gua del Estudiante un capitulo nico. En esta edicin se le a anexado el estudio sobre los controles para la bsqueda de ficheros. El conocimiento de este captulo es fundamental si desea llegar a ser un buen programador de VB. CUADRO DE DIALOGO CommonDialog

Normalmente se encuentra en la caja de herramientas

Este control no se presenta en tiempo de diseo mas que con un simple icono :

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 1

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 2 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

El cuadro de dilogo, CommonDialog se utiliza para varias funciones : Abrir Ficheros Guardar Ficheros Elegir colores Seleccionar Impresora Seleccionar Fuentes

CommonDialog mostrando la funcin Abrir. Ntese el icono para crear nueva carpeta, objeto del comentario siguiente. En realidad el cuadro de dilogo permite conocer datos con los cuales, y mediante el cdigo adecuado, abriremos o guardaremos ficheros, elegiremos colores o seleccionaremos fuentes. Es decir, el CommonDialog NO realiza mas funciones que mostrar ficheros existentes, fuentes disponibles, colores, para que, mediante cdigo, abramos esos ficheros o usemos una determinada fuente. La expresin anterior se ha recuadrado porque ya no es completamente cierta. El CommonDialog no es un control propio de Visual Basic, sino de Windows. Y la versin de este control que Windows pone en W98 permite que pueda crear una nueva carpeta. Ya hace algo directamente. No se extrae que el CommonDialog empleado en su aplicacin pueda crear una nueva carpeta sin que Vd. lo haya diseado para eso. Al introducir el control en la aplicacin est introduciendo la versin ms moderna del mismo. Dependiendo de la aplicacin para la que vaya a usarse se deber activar de distintas formas. Si el cuadro de dilogo se va a usar para seleccionar la impresora y para otras aplicaciones, es recomendable usar uno exclusivamente para seleccionar la impresora.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 2

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 3 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Esta ltima recomendacin se debe a que, para el control de la impresora, el CommonDialog SI realiza las funciones de seleccin de impresora predeterminada. Esta diferencia operativa hace que si usamos el mismo CommonDialog para seleccionar impresora y abrir ficheros, por ejemplo, se cuelgue el CommonDialog. El control CommonDialog es un control personalizado (Microsoft CommonDialog Control COMDLG32.OCX), y como casi todos los controles personalizados presenta un asistente de propiedades propio. Puede accederse a las propiedades mediante el cuadro de propiedades tpico de otros controles, o mediante el asistente, pulsando el botn derecho del ratn con el puntero colocado encima del icono del cuadro de dilogo. Analizando las propiedades, vemos que tiene gran cantidad de ellas. Esto es porque agrupa todas las propiedades correspondientes a la cinco funciones que puede desarrollar. Se detalla a continuacin la forma de usar el CommonDialog para cada aplicacin. Se entiende que el nombre - Name - que se ha puesto para el cuadro de dilogo en todos los ejemplos es CD1) CUADRO DE DIALOGO MOSTRANDO FUENTES Para mostrar el cuadro de dilogo correspondiente a Tipos de Letra ( Fonts ), debe ejecutarse la instruccin: CD1.ShowFont y haber puesto, en la propiedad Flags del cuadro de dilogo, el valor de 1, 2 3, correspondiente respectivamente a los tipos de letra de la pantalla, de la impresora o ambos. (Vase la propiedad Flags mas adelante) Si no pone uno de estos valores, le dir que no tiene fuentes instaladas.

Los valores que se pueden obtener de este cuadro de dialogo son: CD1.FontName Indica el nombre de la fuente CD1.FontSize Indica el tamao de la fuente CD1.Color Indica el color de la fuente (Abrir con Flags=256+1, 2 3) CD1.FontBold = (True / False) Si es True, se ha elegido "Negrita" CD1.FontItalic = (True / False) Si es True, se ha elegido "Cursiva" CD1.FontStrikethru = (True / False) Si es True, se ha elegido "Tachada " CD1.FontUnderline = (True / False) Si es True, se ha elegido "Subrayada" Si se elige una versin Negrita Cursiva seran True las opciones FontBold y FontItalic

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 3

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 4 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

El cuadro de dilogo que se presenta es el siguiente: (CommonDialog Mostrando fuentes, con la propiedad Flags = 263)

El objeto Font no puede aplicarse al CommonDialog. Es decir, no podemos poner : Variable = CD1.Font.Size sino Variable = CD1.Fontsize En el ejemplo que acompaa a este captulo, puede ver como se introducen las caractersticas de una determinada fuente elegida en un cuadro de texto. Programa de ejemplo. Mediante un CommonDialog elegimos el tipo de letra de un TextBox (TbPrueba) y escribimos un texto de prueba con todas las letras del abecedario. Private Sub BMostrarFonts_Click() CD1.Flags = 259 'Muestra las fuentes de la pantalla (1), las de la impresora (2)y muestra las opciones de 'tachado, subrayado y color (256) 1 + 2 + 256 = 259 CD1.ShowFont TbPrueba.FontName = CD1.FontName TbPrueba.FontSize = CD1.FontSize TbPrueba.FontBold = CD1.FontBold TbPrueba.FontItalic = CD1.FontItalic TbPrueba.FontUnderline = CD1.FontUnderline TbPrueba.FontStrikethru = CD1.FontStrikethru If TbPrueba = "" Then TbPrueba = "Texto de prueba" & vbCrLf & vbCrLf TbPrueba = TbPrueba & "The Quick Brown Fox Jumps Over The Lazy Dog 1234567890" End If End Sub

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 4

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 5 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

CUADRO DE DIALOGO MOSTRANDO COLOR Para mostrar el cuadro de dilogo correspondiente al color, se deber ejecutar la instruccin: CD1.ShowColor El cuadro de dilogo puede tener una de estas dos formas (Dependiendo de su propiedad Flags):

(Si la parte derecha del cuadro no sale, se saca haciendo click en Definir colores personalizados.) El nmero correspondiente al color elegido se puede conocer analizando la propiedad color de cuadro de dilogo. En nuestro ejemplo, lo obtendramos con Variablecolor = CD1.Color donde Variablecolor contendr un nmero correspondiente al color elegido. Variablecolor debe declararse como tipo Long Programa de ejemplo. Mediante un CommonDialog elegimos el color de fondo de un TextBox (TbPrueba). Private Sub BColores_Click() CD1.Flags = 2 'Hace que el cuadro de dilogo se muestre completo CD1.ShowColor TbPrueba.BackColor = CD1.Color End Sub

Nota acerca del nmero del color.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 5

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 6 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Para establecer un color por medio de cdigo, se pondr un valor de color a la propiedad correspondiente de ese objeto. El valor del color puede establecerse de tres formas que se comentan a continuacin. Colores en Visual Basic. Visual Basic acepta para especificar un color, tres procedimientos: Mediante el nmero de color, mediante la sentencia RGB ( rojo, verde, azul ) o mediante la funcin QBColor. Por nmero El nmero que representa el color en VB est formado por la suma de la componente roja, la componente verde y la componente azul. Podramos verlo muy bien en numeracin Hexadecimal: Color = Hex XX YY ZZ Donde ZZ es un nmero Hexadecimal que representa la cantidad del color rojo. El mnimo estara en 0 (H00) y el mximo en 255 (HFF) YY representara la cantidad de color verde y XX la de color azul, ambos con los mismos lmites explicados para el rojo. Por ejemplo: el rojo puro sera: el verde puro sera: el azul puro sera: Hex(0000FF) = 255 Hex(00FF00) = 652280 Hex(FF0000) = 16711680

Una mezcla de un poco de rojo (HB1), otro poco de verde (H56) y otro poco de azul (H1F) dara el siguiente nmero: Hex(1F56B1) = 2053809 El nmero de color puede estar comprendido entre 0 (correspondiente al negro) y el 16777215 (correspondiente al blanco. Observe que esa cantidad, 16.777.215 (FFFFFF en hexadecimal) corresponde a los famosos 16 millones de colores de las tarjetas grficas. Si queremos poner el color de fondo a un control Label, usaremos la propiedad Backcolor. Si el Label se llama Label1, pondramos la instruccin Label1.Backcolor = 12345678 Por la sentencia RGB Se puede expresar el color, poniendo simplemente RGB (rojo, verde, azul), donde rojo es un nmero entre 0 y 255 que indica la cantidad de color rojo que se aporta al color, verde un nmero comprendido entre 0 y 255 indicando la cantidad de verde, y lo mismo para azul. Esta es la forma mas sencilla de poner la propiedad color, y con la que mejor controlaremos el mismo. Si queremos poner al Label anterior un color mediante la sentencia RGB, ejecutaramos la sentencia :

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 6

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 7 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Label1.Backcolor = RGB (128, 30, 100) Mediante la Funcin QBColor (Obsoleta. Se introduce por motivos de compatibilidad) Esta funcin se ha puesto en Visual Basic para compatibilidad con los colores que se usan en Quick-Basic y Qbasic. Mediante esta funcin se obtienen solamente 16 colores. Sintaxis Objeto.QBColor(color)

El argumento color es un nmero entero entre 0 a 15, segn la siguiente lista: Nmero 0 1 2 3 4 5 6 7 Color Negro Azul Verde Aguamarina Rojo Fucsia Amarillo Blanco 8 9 10 11 12 13 14 15 Nmero Color

Gris Azul claro Verde claro Aguamarina claro Rojo claro Fucsia claro Amarillo claro Blanco brillante

Para el mismo Label anterior, usaramos la sentencia : Label1.Backcolor = QBColor (12) Fin de la nota acerca del nmero del color

CUADRO DE DIALOGO MOSTRANDO IMPRESORAS Nota: Si utiliza un CommonDialog para impresoras y otras aplicaciones, puede tener problemas. Utilice un CommonDialog exclusivamente para impresoras. Para presentar el cuadro de eleccin de impresora, ejecute la instruccin: CD2.ShowPrinter (A este cuadro de dialogo le hemos llamado CD2 para evitar los problemas referidos en la nota). Aparecer el siguiente cuadro de dilogo:

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 7

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 8 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

La impresora elegida puede conocerla llamando a la propiedad DeviceName de un objeto que an no hemos visto: el objeto Printer. Este objeto es el encargado de pasar al Administrador de Impresin todos los trabajos de impresin que generen las aplicaciones Visual Basic: Nombredelaimpresora = Printer.DeviceName Para que la impresora quede como impresora por defecto de Windows, debe tener a True la propiedad PrinterDefault del cuadro de dilogo. El cuadro mostrado para la impresora depender de la impresora que tenga instalada en su ordenador, por lo puede observar diferencias respecto a la figura mostrada anteriormente. Programa Ejemplo. Muestra el cuadro de dialogo de impresoras Private Sub BImpresora_Click() CD1.ShowPrinter End Sub

EL COMMONDIALOG PARA ABRIR Y GUARDAR ARCHIVOS Posiblemente las opciones mas usadas del cuadro de dilogo. Para presentar el cuadro de dilogo correspondiente a Abrir Archivo, debe ejecutar la instruccin: CD1.ShowOpen Si lo que necesita es abrir el cuadro de dilogo para guardar un fichero, debe ejecutar la

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 8

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 9 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

instruccin : CD1.ShowSave pero antes deber introducir el filtro o filtros de archivos que necesite. Ojo, ANTES ! Un filtro sirve para que en el cuadro de dilogo se presenten solamente los ficheros de nuestro inters. Se pueden seleccionar por el nombre, la extensin o las dos cosas. La sintaxis para introducir un filtro es la siguiente: CD1.Filter = "Descripcin del fichero|nombre.extensin" donde "nombre" puede ser un nombre o usar caracteres comodn. Lo mismo para "extensin" Por ejemplo, para buscar archivos ejecutables, con cualquier nombre y extensin .EXE CD1.Filter = "Ficheros ejecutables |*.exe" Observe el carcter separador entre la descripcin de los ficheros (Ficheros ejecutables) y el parmetro de busca (*.EXE). No ponga ningn espacio entre el separador y los caracteres de busca. El separador es el carcter ASCII 124. Puede buscar varios tipos de ficheros, separando los caracteres de busca por medio del carcter punto y coma (;) CD1.Filter = "Ficheros ejecutables |*.EXE;*.COM;*.BAT" Puede tambin introducir dos filtros, separados por el separador | (En una lnea solamente). CD1.Filter=Ficheros de un tipo |*.EXE |Ficheros de otro |*.COM |Otros ficheros |*.BAT Por ejemplo : CD1.Filter = "Ficheros Word |*.DOC|Ficheros Write |*.WRI"

No se pueden poner dos lneas con filtros, se quedara solamente con la ltima ! En este caso, cuando se presente el cuadro de dilogo, solamente presentar uno de los filtros, y deber seleccionar manualmente el otro en un cuadro situado en la parte inferior izquierda del cuadro de dilogo. Para predeterminar cul de los dos filtros saldr sin tener que seleccionarlo, deber ejecutar esta instruccin, ANTES de invocar el cuadro de dilogo CD1.FilterIndex = 2 En este caso, aparecer por defecto el filtro escrito en segundo lugar. El orden de los filtros comienza por 1. El cuadro de dilogo deber presentar un directorio. Este directorio con el que, por defecto, aparece el cuadro de dilogo, se puede introducir mediante la propiedad InitDir, que deber contener el nombre del directorio y su path. Si no se especifica, comenzar por el directorio actual. Para conocer el nombre del fichero elegido, se emplea la propiedad FileName : Nombrefichero= CD1.filename El nombre del fichero, Nombrefichero en la sentencia anterior, viene con su path, es decir,

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 9

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 10 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

nombre y direccin completa, por lo que puede emplearse directamente la salida del CommonDialog para abrir un fichero. El cuadro de dilogo de abrir o cerrar tiene esta forma :

El cuadro de guardar es similar. Observe que en este caso hemos desplegado la segunda opcin de filtro de ficheros :

Como ve ambos cuadros son prcticamente iguales. Solamente se difieren en que uno pone Abrir y el otro Guardar como en su barra de ttulo. Tambin en que el cuadro Guardar como presenta los nombres de los ficheros con un tono apagado. Funcionalmente difieren. Por ejemplo, si quiere guardar un fichero con un nombre ya existente, y dependiendo de la propiedad Flags que ver mas adelante, le aparecer la siguiente advertencia :

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 10

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 11 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Si desea otra leyenda en la barra de ttulo, puede cambiarla usando el asistente de propiedades, que lo obtendr colocando el cursor del ratn sobre el icono del CommonDialog y pulsando el botn derecho. Haga click sobre Propiedades en el popmen que se presenta. Aparecer esto :

PRESENTAR AYUDAS Mediante el CommonDialog se puede presentar un fichero de ayuda. (Ficheros del tipo .HLP de Windows) Pese a que se pueden presentar estos ficheros basndonos en el CommonDialog, es preferible usar directamente el programa WinHelp.Exe, que puede ejecutarlo mediante la funcin Shell : VariableID = Shell (WinHelp.Exe FicheroAyuda.hlp,1) Para mostrar el fichero de ayuda debe poner el nombre (y Path) del fichero de ayuda en la propiedad HelpFile del CommonDialog

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 11

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 12 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

CD1.HelpFile = "C:\MiCarpeta\MiFicheroAyuda.HLP" Puede mostrar el ndice, o una pgina concreta de ese fichero. Para ello debe jugar con la propiedad HelpCommand, que le va a indicar al CommonDialog qu ayuda debe mostrar. CD1.HelpCommand =Valor Las opciones para valor son: 1 &H1 cdlContext Muestra la Ayuda de un contexto determinado. Cuando se usa esta valor, tambin se debe especificar un contexto con la propiedad HelpContext. &H2 cdlQuit Notifica a la aplicacin Ayuda que el archivo de Ayuda especificado ya no se est utilizando. &H3 cdlContents Muestra el tema de contenido de ayuda, definido con la opcin Contents de la seccin [OPTION] del archivo .HPJ. &H3 cdlIndex Muestra el ndice del archivo de Ayuda especificado. Las aplicaciones slo deben utilizar este valor para un archivo de Ayuda con ndice nico. &H4 cdlHelpOnHelp Muestra la Ayuda para utilizar la propia aplicacin Ayuda. &H5 cdlSetContents Determina el tema de contenido a mostrar cuando el usuario presiona la tecla F1. &H5 cdlSetIndex Establece el contexto especificado en la propiedad HelpContext como ndice actual para el archivo especificado en la propiedad HelpFile. Este ndice seguir siendo el actual hasta que el usuario acceda a un archivo de Ayuda distinto. Utilice este valor slo para los archivos de Ayuda con ms de un ndice. &H8 cdlContextPopup Muestra en una ventana emergente un tema de Ayuda determinado, identificado por un nmero de contexto definido en la seccin [MAP] del archivo .HPJ. &H9 cdlForceFile Asegura que WinHelp muestre el archivo de Ayuda correcto. Si se muestra el archivo correcto, no sucede nada. Si se muestra un archivo incorrecto, WinHelp abrir el correcto. &H101 cdlKey Muestra la Ayuda sobre una palabra reservada determinada. Al usar esta opcin, deber especificar tambin una palabra reservada con la propiedad HelpKey. &H102 cdlCommand Ejecuta una macro de Ayuda. &H105 cdlPartialKey Muestra el tema de la lista de palabras claves que coincide con la palabra pasada en el parmetro dwData, si slo se encuentra uno. Si se encuentra ms de uno, aparecer el cuadro de dilogo Buscar mostrando los temas encontrados en el cuadro de lista Ir a. Si no se encuentra ninguno, se mostrar el cuadro de dilogo Buscar. Para que aparezca el cuadro de dilogo Buscar sin pasar una palabra reservada, utilice un puntero largo a una cadena vaca.

4 5 5

257

258 261

Si queremos que se muestre el ndice de la ayuda, pondramos esta propiedad de la forma :

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 12

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 13 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

CD1.HelpCommand = cdlHelpIndex Para mostrar la pgina que se ha puesto en el fichero de ayuda como Contexto 2 (En Seccin [MAP] del fichero .HPJ (Vea Creacin de Ficheros de Ayuda), CD1.HelpCommand = cdlHelpContext CD1.HelpContext = 2 Para mostrar la Ayuda de la Ayuda de Windows : CD1.HelpCommand = cdlHelpHelpOnHelp Una vez establecidas estas propiedades, mostraremos la ayuda con el Mtodo ShowHelp CD1.ShowHelp Repitindole que no se debe usar el CommonDialog para mostrar ayudas, pero para cumplir el objetivo de plasmar en este texto la mayor informacin acerca de cada control, se enumeran a continuacin el resto de propiedades que afectan a la presentacin de ayuda : HelpFile HelpContext HelpKey

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 13

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 14 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

PROPIEDADES DEL CommonDialog La Propiedad Action La propiedad Action se incluye en la versin 4 de VB solamente por motivos de compatibilidad con anteriores versiones. Realiza las mismas funciones que ShowFont, ShowColor, ShowPrinter, ShowOpen y ShowSave. No debe usarse esta propiedad, sino los equivalentes citados, en previsin de que pueda ser eliminada en futuras versiones. La sintaxis de Action es : Valor 0 1 2 3 4 5 6 Descripcin Ninguna accin. Muestra el cuadro de dilogo Abrir. Muestra el cuadro de dilogo Guardar como. Muestra el cuadro de dilogo Color. Muestra el cuadro de dilogo Fuente. Muestra el cuadro de dilogo Impresora. Ejecuta WINHELP.EXE. Nombre.Action [= valor]

NO utilice la propiedad Action. Utilice en su lugar ShowFont, ShowPrinter, ShowSave, ShowOpen , ShowColor y ShowHelp CancelError Devuelve o establece un valor que indica si se genera un error cuando el usuario elige el botn Cancelar. Sintaxis : True False objeto.CancelError = (True / False)

Se genera un error. (Predeterminado) No se genera ningn error.

Cuando se establece True en esta propiedad, se producir el error nmero 32755 (cdlCancel) cada vez que el usuario elija el botn Cancelar. Debe poner esta propiedad a true cuando quiera detectar que se ha pulsado el botn CANCELAR. Luego, debe detectar con la rutina de deteccin de errores adecuada, si el error producido ha sido el 32755. De ser as, es que han pulsado ese botn, y Vd. proceder en consecuencia. Color Esta propiedad es de lectura / escritura De escritura :Establece el color predeterminado con que aparecer el CD para elegir color. Puede introducirse como RGB o numricamente, como se explic mas atrs. Para que aparezca este color predeterminado, debe poner la propiedad Flags a 1. De lectura : Entrega el color elegido, bien en el cuadro de eleccin de color, bien en el cuadro de eleccin de fuente. Copies Establece el valor predeterminado para nmero de copias que aparecer en el CD cuando se abra para elegir impresora.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 14

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 15 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

DefaultExt Devuelve o establece la extensin de archivo predeterminada para el cuadro de dilogo. Sintaxis objeto.DefaultExt [= cadena]

Puede utilizar esta propiedad para especificar una extensin de archivo predeterminada, como por ejemplo .TXT o .DOC. Importante para el CommonDialog de Guardar: Cuando se guarde un archivo sin extensin, se le agregar automticamente la especificada en esta propiedad. DialogTitle Devuelve o establece la cadena mostrada en la barra de ttulo del cuadro de dilogo. Sintaxis Nombre.DialogTitle [= ttulo]

Esta propiedad puede introducirse en la ventana de propiedades, o por programa. Puede utilizar esa propiedad para mostrar el nombre del cuadro de dilogo en la barra de ttulo. Nota El control CommonDialog ignora el valor de la propiedad DialogTitle cuando muestra los cuadros de dilogo Color o Fuente. El ttulo predeterminado para un cuadro de dilogo Abrir es Abrir, y para un cuadro de dilogo Guardar como es Guardar como. FileName Devuelve o establece la ruta y el nombre de archivo de un archivo seleccionado. La lectura de esta propiedad devuelve el nombre del archivo seleccionado actualmente en la lista. Si no hay ningn archivo seleccionado, FileName devuelve una cadena vaca. Filter (Explicada mas atrs) Devuelve o establece los filtros que aparecen en el cuadro de lista Tipo de un cuadro de dilogo. Sintaxis CD1.Filter [= descripcin1 |filtro1 |descripcin2 |filtro2...]

Utilice el smbolo de canalizacin ( | , (ASCII 124) ) para separar los valores de descripcin y de filtro. No incluya espacios antes ni despus del smbolo de canalizacin, pues apareceran en los valores de descripcin y valor. Al especificar ms de un filtro en un cuadro de dilogo, utilice la propiedad FilterIndex para especificar el filtro predeterminado. Nota para los que no tiene teclado de 102 teclas. Para obtener el carcter ASCII 124, pulse la tecla ALT y, sin dejar de pulsarla, teclee 124 en el teclado numrico. FilterIndex Devuelve o establece un filtro predeterminado para un cuadro de dilogo Abrir o

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 15

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 16 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Guardar Como. Sintaxis CD1.FilterIndex [= nmero]

Esta propiedad indica el filtro predeterminado cuando se han especificado varios filtros para un cuadro de dilogo Abrir o Guardar. El ndice del primer filtro definido es 1. Flags Propiedad que tiene distintos significados para cada tipo de cuadro de dilogo. Tiene la misma sintaxis para todos los cuadros. Sintaxis CD1.Flags [= valor]

El parmetro valor establece distintas alternativas, dependiendo de cada cuadro.

Para el cuadro de dilogo Color Las opciones para valor son:

&H1& cdlRGBInit Establece como valor de color inicial para el cuadro de dilogo el indicado en su propiedad Color. &H2& cdlFullOpen Hace que el cuadro de dilogo se muestre completo al crearlo, incluyendo la seccin que permite al usuario crear colores personalizados. Sin esta opcin, el usuario debe elegir el botn de comando Definir colores personalizados para mostrar tal seccin. &H4& cdlPreventFullOpen Desactiva el botn de comando Definir colores personalizados, usuario defina colores. &H8& cdlShowHelp Hace que el cuadro de dilogo muestre un botn Ayuda.

evitando

que

el

Se pueden poner varias de estas condiciones, poniendo como valor Flags la suma de los valores de cada una de las condiciones a poner. Para los cuadros Abrir y Guardar Las opciones para valor son: 1 &H1& cdlReadOnly Hace que la casilla de verificacin Slo lectura aparezca marcada inicialmente al crear el cuadro de dilogo. Este indicador tambin seala el estado de la casilla Slo lectura cuando el cuadro de dilogo est cerrado. &H2& cdlOverwritePrompt Hace que el cuadro de dilogo Guardar como genere un cuadro de mensaje si el archivo seleccionado ya existe. El usuario deber confirmar que desea sobrescribir el archivo. &H4& cdlHideReadOnly Oculta la casilla de verificacin Slo lectura.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 16

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 17 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

&H8& cdlNoChangeDir Hace que el cuadro de dilogo restablezca como directorio actual el que lo era en el momento de abrirse. 16 &H10& cdlShowHelp Hace que el cuadro de dilogo muestre el botn Ayuda. 256 &H100& cdlNoValidate Especifica que el cuadro de dilogo comn permita caracteres no vlidos en el nombre de archivo devuelto. Funciona tanto con el cuadro de Abrir como con el de Cerrar. Tenga cuidado a la hora de crear un archivo con nombre no vlido ! 512 &H200& cdlAllowMultiselect Especifica que el cuadro de lista Nombre de archivo admita selecciones mltiples. El usuario puede seleccionar ms de un archivo en tiempo de ejecucin presionando la tecla MAYS y utilizando las teclas FLECHA ARRIBA y FLECHA ABAJO para seleccionar los archivos deseados. Al hacerlo, la propiedad FileName devolver una cadena con los nombres de todos los archivos seleccionados. Los nombres estn delimitados en la cadena con espacios. 1024 &H400& cdlExtensionDifferent Indica que la extensin del nombre de archivo devuelto es distinta de la especificada en la propiedad DefaultExt. Este indicador no estar activado si la propiedad DefaultExt es Null, si las extensiones coinciden, o si el archivo no tiene extensin. El valor de este indicador puede comprobarse al cerrar el cuadro de dilogo. 2048 &H800& cdlPathMustExist Especifica que el usuario slo pueda introducir una ruta de acceso vlida. Si se establece este indicador y el usuario introduce una ruta no vlida, aparecer un mensaje de advertencia. 4096 &H1000& cdlFileMustExist Especifica, para el cuadro de Abrir, que el usuario slo pueda escribir en el cuadro de texto Nombre de archivo nombres de archivos existentes. Si este indicador est activado y el usuario introduce un nombre de archivo no vlido, aparecer una advertencia. Este indicador activa automticamente cdlPathMustExist. 8192 &H2000& cdlCreatePrompt Especifica, para el cuadro de dilogo de abrir, que si no existe el fichero consulte al usuario antes de crear un archivo que no existe actualmente. Esta advertencia dice : Este Archivo no existe desea crearlo ? y aparecen los botones de ACEPTAR y CANCELAR. Si el usuario pulsa aceptar el CommonDialog se cierra normalmente, si se le pulsa CANCELAR desaparece esta advertencia y el CommonDialog espera a que se le escriba o seleccione otro fichero. Este indicador establece automticamente los indicadores cdlPathMustExist y cdlFileMustExist. 16384 &H4000& cdlShareAware Especifica que se ignoren los errores al compartir archivos. 32768 &H8000& cdlNoReadOnlyReturn Especifica que el archivo devuelto no tenga el atributo de Slo lectura ni est en un directorio protegido contra escritura. Presenta un aviso (tanto en el cuadro de abrir como en el cerrar) que impide elegir un fichero de estas caractersticas. Se pueden poner varias de estas condiciones, poniendo como valor Flags la suma de los valores de cada una de las condiciones a poner. Para el cuadro Mostrar Fuentes: Las opciones para valor son:

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 17

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 18 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

&H1& cdlScreenFonts Hace que el cuadro de dilogo muestre solamente las fuentes de pantalla que admite el sistema. &H2& cdlPrinterFonts Hace que el cuadro de dilogo muestre solamente las fuentes que admite la impresora, especificadas por la propiedad hDC. &H3& cdlBoth Hace que el cuadro de dilogo muestre las fuentes de impresora y de pantalla disponibles. La propiedad hDC identifica el contexto de dispositivo asociado a la impresora &H4& cdlShowHelp Hace que el cuadro de dilogo muestre un botn Ayuda. &H100& cdlEffects Especifica que el cuadro de dilogo permita efectos de tachado, subrayado y color. &H400& cdlANSIOnly Especifica que el cuadro de dilogo slo permita seleccionar las fuentes que utilizan el juego de caracteres de Windows. Si se establece este indicador, el usuario no podr seleccionar una fuente que slo contenga smbolos. &H800& cdlNoVectorFonts Especifica que el cuadro de dilogo no permita seleccionar fuentes vectoriales. &H1000& cdlNoSimulations Especifica que el cuadro de dilogo no permita simulaciones de fuente de interfaz de dispositivo grfico (GDI). &H2000& cdlLimitSize Especifica que el cuadro de dilogo seleccione slo los tamaos de fuente comprendidos en el rango especificado por las propiedades Min y Max.

4 256 1024

2048

4096

8192

16384 &H4000& cdlFixedPitchOnly Especifica que el cuadro de dilogo seleccione slo fuentes de espaciado fijo. 32768 &H8000& cdlWYSIWYG Especifica que el cuadro de dilogo permita seleccionar solamente fuentes disponibles al la vez en la pantalla y en la impresora. Si se establece este indicador, tambin deben establecerse cdlBoth (sume 3 a este nmero) y cdlScalableOnly (sume 131072 a este nmero) 65536 &H10000& cdlForceFontExist Especifica que aparezca un cuadro de mensaje cuando el usuario intente seleccionar una fuente o un estilo que no existan. 131072 &H20000& cdlScalableOnly Especifica que el cuadro de dilogo permita seleccionar solamente fuentes escalables. 262144 &H40000& cdlTTOnly Especifica que el cuadro de dilogo permita seleccionar solamente fuentes TrueType. Nota Antes de mostrar el cuadro de dilogo Fuentes, debe establecer cdlScreenFonts, cdlPrinterFonts o cdlBoth en la propiedad Flags. En caso contrario, se producir el error No hay fuentes. (O dicho de otra forma, Flags=1, 2 3) Se pueden poner varias de estas condiciones, poniendo como valor Flags la suma de los valores de cada una de las condiciones a poner.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 18

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 19 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Para el Cuadro de Dilogo Imprimir (Observar seguramente que lo que se describe a continuacin no se cumple siempre. Depende de las impresoras que tenga Vd. instaladas) Las opciones para valor son: 0 1 &H0& cdlAllPages Devuelve o establece el estado del botn de opcin Todas las pginas. &H1& cdlSelection Devuelve o establece el estado del botn de opcin Seleccin. Si no se especifica cdlPageNums ni cdlSelection, el botn de opcin Todas estar seleccionado. &H2& cdlPageNums Devuelve o establece el estado del botn de opcin Pginas. &H4& cdlNoSelection Desactiva el botn de opcin Seleccin. &H8& cdlNoPageNums Desactiva el botn de opcin Pginas y el control de edicin asociado. &H10& cdlCollate Devuelve o establece el estado de la casilla de verificacin Intercalar. &H20& cdlPrintToFile Devuelve o establece el estado de la casilla de verificacin Imprimir a un archivo. &H40& cdlPrintSetup Hace que el sistema muestre el cuadro de dilogo Configurar impresora en lugar de Imprimir. Use este Flag cuando lo que desea es cambiar la impresora predeterminada. &H80& cdlNoWarning Evita que aparezca una advertencia cuando no hay una impresora predeterminada.

2 4 8 16 32

64

128

256

&H100& cdlReturnDC Devuelve un contexto de dispositivo para la impresora seleccionada en el cuadro de dilogo. El contexto se devuelve en la propiedad hDC del cuadro de dilogo. 512 &H200& cdlReturnIC Devuelve un contexto de informacin para la impresora seleccionada en el cuadro de dilogo. Un contexto de informacin proporciona un mtodo rpido de obtener informacin sobre el dispositivo sin crear un contexto de dispositivo. El contexto de informacin se devuelve en la propiedad hDC del cuadro de dilogo. 2048 &H800& cdlShowHelp Hace que el cuadro de dilogo muestre el botn Ayuda 262144 &H40000& cdlUseDevModeCopies Si un controlador de impresora no admite copias mltiples, al establecer este indicador se desactiva el control de edicin de nmero de copias. Si el controlador s admite mltiples copias, al establecer este indicador el cuadro de dilogo almacenar el nmero de copias solicitado en la propiedad Copies. 524288 &H80000& cdlDisablePrintToFile

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 19

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 20 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

1048576

Desactiva la casilla de verificacin Imprimir a un archivo. &H100000& cdlHidePrintToFile Oculta la casilla de verificacin Imprimir a un archivo.

Propiedades que afectan al tipo de letra. Las seis propiedades siguientes nos dan las caractersticas especiales de la fuente elegida (negrita, cursiva, etc.). Una vez seleccionado el tipo de letra, el valor de estas propiedades contiene la opcin elegida para la letra (si FontBold=True es que hemos elegido negrita, etc.) FontBold Propiedad Booleana que establece o devuelve que el tipo de letra usado es Negrita. Sintaxis Variable = CD1.FontBold

Los valores de Variable son: True Se ha elegido negrita False (Predeterminado) No se ha elegido negrita.

FontItalic Propiedad Booleana que establece o devuelve que el tipo de letra usado es Cursiva. Sintaxis Variable = CD1. FontItalic

Los valores de Variable son: True si se ha elegido cursiva, False (Predeterminado) en caso contrario.

FontStrikethru Propiedad Booleana que establece o devuelve que el tipo de letra usado es Tachada. Sintaxis Variable = CD1. FontStrikethru

Los valores de Variable son: True si se ha elegido tachado, False (Predeterminado) en caso contrario. FontUnderline Propiedad Booleana que establece o devuelve que el tipo de letra usado es Subrayado. Sintaxis Variable = CD1.FontUnderline

Los valores de Variable son: True, si se ha elegido subrayado, False (Predeterminado) en caso contrario FontName Devuelve el nombre de la fuente elegida. Es una variable tipo String

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 20

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 21 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Sintaxis

Variable = CD1.FontName

(Variable toma el valor del nombre de la fuente. Por ejemplo, Variable = Arial En general, deber modificar FontName antes de establecer los atributos de tamao y estilo con las propiedades FontSize, FontBold, FontItalic, FontStrikethru y FontUnderline. Nota En tiempo de ejecucin puede obtener informacin sobre las fuentes disponibles a travs de las propiedades FontCount y Fonts. Lo ver mas adelante FontSize Devuelve de la fuente elegida. Debe ser una variable tipo Integer o Long Sintaxis Variable = CD1.FontSize

donde Variable ser una expresin numrica que especifica el tamao de fuente a utilizar, en puntos. Nota Las fuentes disponibles en Visual Basic varan dependiendo de la configuracin del sistema y de los dispositivos de presentacin e impresin. En las propiedades relacionadas con las fuentes slo pueden establecerse valores para los que exista una fuente. En general, deber modificar FontName antes de establecer los atributos de tamao y estilo con las propiedades FontSize, FontBold, FontItalic, FontStrikethru y FontUnderline. Sin embargo, cuando especifique un tamao inferior a 8 puntos para una fuente TrueType, primero deber establecer el tamao en puntos con la propiedad FontSize, luego especificar la propiedad FontName y despus establecer de nuevo el tamao con FontSize. El entorno operativo Microsoft Windows utiliza una fuente distinta para las fuentes TrueType con un tamao inferior a 8 puntos.

Index Igual que el ya estudiado para otros controles. InitDir Devuelve o establece el directorio de archivos inicial. Sintaxis objeto.InitDir [= cadena]

La sintaxis de la propiedad InitDir consta de las siguientes partes: objeto Nombre que define al CommonDialog cadena Expresin de cadena que especifica el directorio de archivos inicial. Si no se especifica esta propiedad, se utilizar el directorio actual.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 21

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 22 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Left y Top Estas propiedades solamente afectan a la colocacin del icono en el formulario. No afectan a la colocacin del CommonDialog durante la ejecucin. La posicin del CommonDialog en tiempo de ejecucin no puede controlarse. Esta afirmacin de que la posicin del CommonDialog no es controlable es vlida para sistemas a 32 bytes. En VB 4 de 16 bits, el CommonDialog aparece aproximadamente en la parte superior izquierda del formulario que lo contiene. Algunos programadores han optado por poner un formulario para contener solamente al CommonDialog, y as, controlando la posicin de ese formulario, poder controlar la posicin (aproximada) en la que aparece el CD. Esto no ocurre para sistemas a 32 bytes, en los que el CD aparece siempre en la parte superior izquierda de la pantalla, independientemente de donde est el formulario que lo contiene.

MaxFileSize Devuelve o establece el tamao mximo del nombre de archivo abierto con el control CommonDialog. Sintaxis objeto.MaxFileSize [= valor]

La sintaxis de la propiedad MaxFileSize consta de las siguientes partes: objeto = Nombre que define al CommonDialog valor = Nmero entero que especifica el tamao mximo del nombre de archivo en bytes. El rango de esta propiedad es 132KB. El valor predeterminado es 256. Name Nombre que define al CommonDialog PrinterDefault Devuelve o establece una opcin que determina si la configuracin elegida por el usuario en el cuadro de dilogo Imprimir se utiliza para modificar la configuracin predeterminada de impresora del sistema. Sintaxis CD1.PrinterDefault = True / False

True Las opciones que elija el usuario en el apartado Configurar del cuadro de dilogo Imprimir (seleccin de la impresora, orientacin, etctera) se utilizan para modificar la configuracin de impresora almacenada en el Registro). False Las opciones que elija el usuario no se utilizan para modificar la configuracin de impresora predeterminada del sistema. Utilice esta propiedad, que por defecto est a True, para poner o no poner como impresora predeterminada, la impresora seleccionada con el CommonDialog. Puede por ejemplo, querer imprimir un texto en una impresora determinada, pero solo ese texto, y no quiere cambiar la impresora predeterminada por el hecho de haber

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 22

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 23 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

seleccionado en este momento otra impresora. Ponga esta propiedad a False (recuerde que por defecto est a True) para que la impresora seleccionada no se quede como impresora por defecto. Tag Lo mismo que se ha explicado para otros controles.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 23

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 24 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

CONTROLES DE BUSQUEDA DE FICHEROS CONTROLES DE BUSQUEDA DE FICHEROS Y DIRECTORIOS Estos controles apenas si se usan. La razn es que el CommonDialog ya estudiado sustituye con creces a estos tres controles en su conjunto. Sin embargo, para determinadas necesidades s son muy prcticos. Estdieselos con el mismo entusiasmo que si no existiese el CommonDialog. Al tratarse de controles tipo Lista, le recomiendo que lea el captulo correspondiente al ListBox. Le aclarar sobre todo los trminos empleados para definir los elementos de la lista, que en este caso, son los ficheros de una carpeta, las carpetas de un disco o los discos visibles desde la mquina.

DriveListBox, DirListBox Y FileListBox.

Se obtienen directamente de la Caja de Herramientas, en los iconos siguientes:

DriveListBox permite elegir una unidad de disco. DirListBox muestra los directorios existentes en un rbol. FileListBox muestra los ficheros existentes en un determinado directorio.

Tal como indica su nombre, estos controles son listas. Repase el control ListBox para recordar sus propiedades. DriveListBox Este control permite elegir una unidad de disco vlida en tiempo de ejecucin. Utilice este control para mostrar una lista de todas las unidades vlidas del sistema de un usuario. Puede crear cuadros de dilogo que permitan al usuario abrir un archivo de una lista en cualquier unidad disponible.

DriveListBox desplegado y sin desplegar Name (nombre) por defecto List1 Posee las propiedades tpicas de cualquier control VB respecto a su geometra y color. Las propiedades mas destacables de este control son : Drive, List, ListCount y ListIndex

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 24

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 25 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Drive devuelve el nombre de la unidad de disco seleccionada : Variable = List1.Drive Variable = a : ( c :[MS-DOS_6] D )

Este control se trata de una lista como su nombre indica, y posee las propiedades List, ListCount y ListIndex para permitir al usuario tener acceso a elementos de la lista. List (n) devuelve el texto que define a la unidad colocada en el lugar n. El nmero n comienza por 0. Por ejemplo, en la figura anterior, List1.list(1) devolver c :[MS-DOS_6] ListCount proporciona informacin acerca del nmero de unidades de disco disponibles (En el ejemplo, List1.ListCount ser 3, que corresponde a los tres discos disponibles - disco C :, disco A : y disco D : ) ListIndex devuelve el ndice del disco seleccionado en la lista (0 para el primero, n-1 para el ltimo) Utilizando el control DriveListBox en combinacin con DirListBox y FileListBox, podr realizar un explorador de ficheros en cualquier disco de su ordenador.

DirListBox. Presenta un cuadro de la siguiente forma:

donde puede verse el rbol completo de un directorio. El DirListBox solamente presenta directorios. No presenta ficheros. Aparte de las propiedades geomtricas de todos los controles, el DirListBox presentas las siguientes propiedades particulares : Path Devuelve o establece la ruta de acceso actual. No est disponible en tiempo de diseo. Sintaxis donde Nombre es el nombre del DirListBox pathname Una expresin de cadena que evala en el nombre de va de acceso del directorio por defecto del DirListBox.. Nombre.Path [= pathname]

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 25

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 26 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

El valor de la propiedad Path es una cadena que indica una ruta de acceso, como C:\WINDOWS\SYSTEM. El valor predeterminado es la ruta de acceso actual Cuando se cambia la propiedad Path en tiempo de ejecucin se genera un evento Change. Nota El valor que devuelve Path es distinto del de List (ListIndex). Path devuelve siempre un mismo camino, bien el que se le haya impuesto mediante esta misma propiedad Path, y si no se le ha impuesto con anterioridad, el que tenga por defecto. List (ListIndex) devuelve el camino completo del directorio seleccionado, y, como era de esperar, cambia cada vez que cambiamos la seleccin del directorio. List, ListCount y ListIndex Al igual que cualquier lista, el DirListBox tiene las propiedades List, ListCount y ListIndex. ListIndex devuelve el valor del ndice del directorio seleccionado. El valor devuelto es cero cuando est seleccionado el primer directorio de los situados al final del rbol, 1 para el siguiente, etc. Toma el valor -1 cuando se selecciona el directorio inmediatamente superior al ltimo nivel, el valor -2 cuando se selecciona el directorio situado 2 niveles jerrquicos por encima del ltimo nivel, etc. ListCount devuelve un valor numrico igual al nmero de directorios existentes en el ltimo nivel, independientemente de los directorios que tuviesen por arriba. List (n) devuelve una cadena de caracteres con el camino completo del elemento cuyo orden sea el sealado entre parntesis. Si en vez de n colocamos el ListIndex nos devolver, logicamente, el camino del elemento seleccionado. FileListBox Esta lista nos presenta los ficheros existentes en un directorio.

Como se puede apreciar, cuando el nmero de ficheros supera el nmero que puede presentar, aparecen automticamente las flechas de scroll verticales. Esta lista de ficheros tiene las siguientes propiedades destacables : Path Devuelve o establece la ruta de acceso de su directorio actual. No est disponible en tiempo de diseo. Este directorio puede ser el que se le haya impuesto mediante esta propiedad Path, o el que tenga por defecto. (El directorio por defecto sera el del ejecutable de la aplicacin) Si le ponemos el nombre por defecto, List1, para todos los ejemplos :

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 26

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 27 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

variable = List1.Path e.) ListCount

Variable = C:\Archivos de programa\Microsoft Visual Basic32

(p.

Devuelve el nmero total de ficheros que hay en ese directorio. Variable = List1.ListCount Variable = 19 (p. e.)

ListIndex Devuelve un nmero con el ndice del elemento seleccionado. Como todas las listas, devuelve -1 si no hay ningn elemento seleccionado. El primer elemento de una lista tiene el ndice = 0. Filename Devuelve el nombre del fichero seleccionado. List (n) Devuelve el nombre del fichero que ocupa el lugar n en la lista. Variable = List1.List (5) Variable = nombre del fichero que ocupa el 5 lugar en la lista.

Si en lugar de n ponemos el valor de ListIndex : variable = List1.List (List1.ListIndex) obtendremos el nombre del fichero seleccionado.

Observe que en este ltimo caso, el resultado es el mismo que el de List1.Filename Veamos otras propiedades del FileListBox Pattern Devuelve o establece un valor que indica los nombres de archivo mostrados en un control FileListBox en tiempo de ejecucin. Sintaxis objeto.Pattern [= valor]

La sintaxis de la propiedad Pattern consta de las siguientes partes: objeto : Nombre del Control FileListBox valor: Expresin de cadena que indica una especificacin de archivo, como *.* o *.FRM. La cadena predeterminada es *.*, que obtiene una lista de todos los archivos. Adems de utilizar caracteres comodn, tambin puede especificar varios modelos, separndolos con caracteres punto y coma (;). Por ejemplo, con *.EXE; *.BAT se obtendra una lista con todos los archivos ejecutables y todos los archivos por lotes de MS-DOS. Comentarios

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 27

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 28 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

La propiedad Pattern juega un papel clave en el diseo de las funciones de examen y tratamiento de archivos de una aplicacin. Puede utilizar Pattern en combinacin con otras propiedades de control de archivos para proporcionar al usuario formas de explorar archivos o grupos de archivos similares. Por ejemplo, en una aplicacin dedicada a iniciar otros programas, podra hacer que slo apareciesen los archivos .EXE en el cuadro de lista de archivos (*.EXE). Al modificar el valor de la propiedad Pattern se genera un evento PatternChange.

Archive, Hidden, Normal, System Devuelven o establecen un valor que determina si un control FileListBox presenta los archivos con los atributos Archive, Hidden, Normal o System. El atributo Archive de un fichero indica si se ha variado ese fichero despus de la ltima copia de seguridad. El atributo Hidden indica si el fichero se trata de un fichero oculto. El atributo Normal indica que el fichero es un fichero normal (No est oculto ni es de sistema). El atributo System de un fichero indica que el fichero es un fichero de sistema. Sintaxis objeto.Archive [= booleano] objeto.Hidden [= booleano] objeto.Normal [= booleano] objeto.System [= booleano] Las sintaxis de la propiedades Archive, Hidden, Normal y System tiene la siguiente partes: objeto :Nombre del FileListBox booleano :Una expresin booleana (True / False) que especifica el tipo de archivos presentados. El valor booleano puede presentar los siguientes valores : True :(Predeterminado para Archive y Normal) Presenta archivos con el atributo de la propiedad en el control FileListBox. False : (Predeterminado para Hidden y System) Presenta archivos sin el atributo de la propiedad en el control FileListBox. Use estas propiedades para especificar el tipo de archivos a presentar en un control FileListBox, basndose en los atributos de archivos estndar usados en el entorno operativo. La definicin de estas propiedades en el cdigo en tiempo de ejecucin hace que el control FileListBox presente slo aquellos archivos con los atributos especificados. Por ejemplo, en una operacin de buscar y reemplazar se podran presentar solamente archivos del sistema estableciendo la propiedad System a True y las dems propiedades a False. Tambin, como parte del procedimiento de copia de seguridad, se podra establecer la propiedad Archive a True para relacionar solamente aquellos archivos modificados a partir de la ltima copia de seguridad. PROCEDIMIENTOS del FileListBox Click KeyDown Change KeyPress DragDrop KeyUp DragOver GotFocus

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 28

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 29 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

SENTENCIAS DE MANEJO DE DIRECTORIOS Y FICHEROS

El Directorio Actual Se llama directorio Actual al directorio que est actualmente en uso, bien porque haya sido forzado el control correspondiente a tener ese directorio en su propiedad Path, bien porque, al no haberse forzado ninguno, utilice el directorio por defecto. El directorio por defecto es el ltimo que se ha seleccionado por algn procedimiento. Por ejemplo, al arrancar una aplicacin, el directorio por defecto ser el mismo donde se encuentra el ejecutable. Pero si a lo largo de la aplicacin cambiamos el directorio, seleccionando otro mediante un CommonDialog, ese directorio es el que queda por defecto. Asegrese en sus aplicaciones que siempre elige la propiedad Path antes de presentar ficheros o directorios a travs de los controles anteriores, para evitar que pueda mostrarle ficheros de un directorio no deseado. Puede comprobar cual es el directorio actual. La funcin CurDir nos devuelve el directorio actual. Ejemplo : Introduzca una lnea de cdigo con la siguiente sentencia Variable = CurDir Al ejecutarla la variable Variable contendr la informacin : (p. e.)

Variable = C:\Archivos de programa\Microsoft Visual Basic32

Puede darse el caso de que desee conocer el directorio actual de varias unidades de disco. Por ejemplo, puede estar trabajando en el directorio C:\CursoVB\Ejemplos y ser este el directorio actual en el disco C :, y tener un disquete en la unidad A : en el que la ltima vez que trabaj fue en el directorio A :\ApVB\Tema1 y ese es su directorio por defecto en el disco A. Para conocer el directorio actual del disco C : no necesit especificar la unidad, ya que era precisamente la unidad C la unidad actual. Para conocer el directorio actual de la unidad A empleara la expresin : Variable = CurDir (A) Variable tomar entonces el valor Variable = A :\ApVB\Tema1

Decamos que el disco C era la unidad actual. Tambin podemos cambiar la unidad actual, mediante la sentencia ChDrive seguida de una letra (entre comillas dobles) Ejemplo ChDrive A cambia la unidad actual a la unidad A. Observe que el parmetro A no tiene que llevar los dos puntos ( : ), aunque si lo desea, puede ponerlos. Tambin es indiferente que la letra sea mayscula o minscula.

Tambin podemos forzar a que un directorio sea el directorio por defecto. La sentencia que tendremos que usar en ChDir. Ejemplo : ChDir C :\Windows\System cambiara el directorio actual al especificado. Podemos incluso crear un directorio. Usaremos para ello la sentencia MkDir. Esta sentencia crea el directorio con el nombre indicado, sobre el directorio actual. Si el directorio actual es el C:\VB\Icons y ejecutamos la sentencia :

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 29

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 30 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

MkDir Varios

crearamos el directorio C:\VB\Icons\Varios

Podemos incluso eliminar un directorio. La sentencia para eliminar un directorio es RmDir Cuidado ! Visual-Basic no le advertir que puede borrar algo que no desea. Asegrese muy bien mediante un aviso al usuario cada vez que elimine un directorio. Vamos a ver ahora como podemos ver los nombres de los ficheros existentes en un determinado directorio. Muy sencillo, con un FileListBox. Efectivamente, as podra ser para presentarlos en pantalla. Sin embargo, si deseamos imprimir la lista de ficheros existentes, guardarla en un fichero, etc., tenemos una forma que facilita esta labor. Igual que en DOS. La funcin Dir A esta funcin le debemos aadir como parmetro el criterio de bsqueda, criterio formado por los caracteres o comodines que deseemos. Dir devuelve solamente el nombre de un fichero, por lo que tendremos que repetirla tantas veces como ficheros tenga el directorio. Pero solamente tendremos que introducir el criterio de bsqueda la primera vez. En el siguiente ejemplo, sacaremos por impresora los nombres de los ficheros existentes en el directorio actual : (Este cdigo lo meteremos en el procedimiento click de un botn de comando) fichero = Dir("*.*") Do Until fichero = "" Printer.Print fichero fichero = Dir Loop Printer.EndDoc Le decimos que imprima todos (*.*) Hasta que fichero sea una cadena de longitud cero.. Imprime la variable fichero en la impresora Toma el nombre de otro fichero Vuelve a Do Until ..... Termina la impresin y saca la hoja de la impresora

Ya sabemos sacar el directorio. Vamos a ver que otras cosas se pueden hacer con ficheros. Funcin Kill. A poco Ingls que sepa se habr dado cuenta que esta funcin sirve para quitarse algo de enmedio. Esta funcin borra un fichero del disco. Kill C:\CursoVB\Ejemplos\Ejemplo1.txt borra el fichero Ejemplo1.txt, que se encuentra en el disco C, directorio \ CursoVB\Ejemplos Funcin FileCopy. Copia un fichero. La sintaxis de esta funcin es la siguiente : FileCopy Origen, Destino Si tenemos un TextBox llamado Text1 donde vamos a introducir el nombre (con su Path) del fichero origen, otro TextBox donde introduciremos el nombre (con su Path) que queremos dar a la copia, para copiar ese fichero ejecutaremos la sentencia : FileCopy Text1.Text, Text2.Text Si queremos copiar un fichero del disco A, en el directorio CursoVB y de nombre Ejemplo1 al disco y directorio C:\CursoVB\Ejemplos y con el mismo nombre que tena en el disco A, es decir, Ejemplo1, ejecutaremos la sentencia : FileCopy A :\CursoVB\Ejemplo1 , C:\CursoVB\Ejemplos\Ejemplo1

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 30

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 31 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Observe la necesidad de dobles comillas para especificar que es, precisamente lo escrito en el cdigo, lo que indica el origen y el destino. En el caso anterior no llevaba dobles comillas, debido a que era el contenido de un TextBox lo que se usaba para indicar el origen y el destino.

La instruccin Name cambia el nombre de un fichero. No solamente puede cambiar un nombre, puede incluso moverlo de sitio, pero siempre en la misma unidad de disco. La sintaxis de Name es la siguiente : Name nombrerutaantiguo As nombrerutanuevo Donde nombrerutaantiguo es una expresin de cadena que indica el nombre del fichero (con su path) al que se le quiere cambiar el nombre, y nombrerutanuevo es una expresin de cadena que especifica el nombre nuevo y, si se desea mover de directorio, la nueva ubicacin del archivo y la unidad de disco. El nombre y ubicacin especificados en nombrerutanuevo no pueden ser los de un archivo existente. Tanto nombrerutanuevo como nombrerutaantiguo deben encontrarse en la misma unidad de disco. Si la ruta de acceso especificada en nombrerutanuevo existe y es distinta de la ruta de acceso especificada en nombrerutaantiguo, la instruccin Name coloca el archivo en el nuevo directorio o carpeta y cambia el nombre del archivo, de ser necesario. Si nombrerutanuevo y nombrerutaantiguo tienen distintas rutas de acceso y el mismo nombre de archivo, Name coloca el archivo en la nueva ubicacin, sin cambiar el nombre del archivo. Por medio de Name se puede mover un archivo de un directorio o carpeta a otro, pero no se puede mover un directorio o carpeta. Si se utiliza Name con un archivo abierto se produce un error. Antes de cambiar el nombre de un archivo, se debe cerrar. En el ejemplo, vamos a cambiar el nombre del fichero C:\CursoVB\Ejemplos\Ejemplo1 por el de C :\CursoVB\Ejemplos\Prueba1 Name C:\CursoVB\Ejemplos\Ejemplo1 As C :\CursoVB\Ejemplos\Prueba1 En el siguiente, aparte de cambiarlo de nombre, le cambiamos de directorio. Name C:\CursoVB\Ejemplos\Ejemplo1 As C :\CursoVB\Ejercic\Prueba1

Existe una funcin que le permite conocer el volumen de un fichero : FileLen. Mediante esta instruccin podr saber, por ejemplo, si un fichero le va a caber en lo que le queda libre de un disquete, el tiempo previsto para enviarlo por mdem, etc. La sintaxis es la siguiente : Variable = FileLen("C:\CursoVB\Ejemplos\Ejemplo1") Variable tomar un valor numrico igual al nmero de bytes del fichero. Otra funcin para el tratamiento de ficheros es FileDateTime, que le permite conocer la fecha y hora de creacin o de la ltima modificacin de un fichero.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 31

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 32 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

La sintaxis es, para el caso del ejemplo : Variable = FileDateTime ("C:\CursoVB\Ejemplos\Ejemplo1") Variable puede tomar un valor como el siguiente : Variable = 13/02/97 14:59:20 (Observe que de esta funcin se obtiene una variable de cadena.) Puede aprovechar esta funcin para borrar o hacer Backup de determinados ficheros que tengan mas de un tiempo de permanencia, sustituir ficheros por versiones mas recientes, etc. Podemos obtener y modificar los atributos de un fichero. Los atributos de un fichero se refieren a si son de solo lectura, ficheros ocultos, de sistema, si ha sido modificado desde la ltima vez que se ha realizado un Backup, Para conocer los atributos de un fichero, utilizaremos la funcin GetAttr. Esta funcin devuelve un nmero, que representa la suma de los atributos de un archivo, directorio o carpeta o una etiqueta de volumen. Sintaxis Variable = GetAttr (nombreruta)

Donde nombreruta es una expresin de cadena que especifica un nombre de archivo, con su Path y unidad de disco. El valor devuelto por GetAttr es un nmero, igual a la suma de los siguientes valores de atributos: Valor 0 1 2 4 16 32 copia Constante vbNormal vbReadOnly vbHidden vbSystem vbDirectory vbArchive Descripcin Normal. Slo lectura. Oculto. Archivo de sistema. Directorio o carpeta. El archivo ha sido modificado despus de efectuar la ltima de seguridad. Si la expresin nombreruta representa un directorio, se lo indicar devolviendo el valor 16. Para cambiar un atributo utilizaremos la funcin SetAttr. La sintaxis de esta funcin es la siguiente Sintaxis SetAttr nombreruta , atributos

Donde nombreruta es una expresin de cadena que especifica un nombre de archivo, con su Path y unidad de disco, y atributos es una o varias de las constantes o valores anteriores, cuya suma especifica los atributos de archivo. Dado que el valor 16 indica que lo expresado en nombreruta es un directorio, no puede pretenderse darle a ese directorio atributos que solamente se pueden aplicar a un fichero, ni puede pretender darle a un fichero un valor en el que entre el 16 como sumando. Estos casos le producirn un error en tiempo de ejecucin. Si pretende establecer los atributos de un archivo abierto, se producir un error en tiempo de ejecucin.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 32

Servicio Nacional de Aprendizaje SENA

Programa de formacin: Tcnico en Sistemas Versin 1 Nivel: Tcnico


Sistema de Gestin de la Calidad

Fecha: Febrero 28 de 2011 Versin 1.0 Pgina 33 de 33

GUIA DE ACTIVIDADES DE PROGRAMACIN ORIENTADA A EVENTOS

Existe una funcin, que no tiene nada que ver con la anterior, aunque puede parecerlo por su parecido semntico y que tambin devuelve atributos, pero de otro tipo. Esta funcin es FileAttr Funcin FileAttr Devuelve el modo de apertura de un archivo. Logicamente debe referirse a un archivo abierto en el momento de ejecutar esta funcin. Vea para mas detalles la sentencia Open. Sintaxis variable = FileAttr (numerocanal , tipoinformacin)

Donde numerocanal es el nmero del canal de apertura de ese archivo, y tipoinformacin es el tipo de informacin que deseamos de ese fichero. Si tipoinformacin = 1 nos devuelve el modo de apertura del fichero, segn la siguiente lista Valor 1 2 4 8 32 Modo del archivo Entrada Salida Aleatorio Aadir Binario

La Ayuda de VB dice que tipoinformacin puede ser =2 para que FileAttr devuelva informacin sobre el selector de archivos del sistema operativo. Algunas veces la informacin de ayuda de VB promete cosas que, sin dudar de que sean ciertas, son difciles de comprobar. Esta funcin no tiene una gran aplicacin prctica, ya que comprueba la forma en la que hemos abierto un archivo. Informacin que conocemos desde el mismo momento de abrirlo.

Visual Basic

Gua del Aprendiz Sena

Captulo 7

Pgina 33

También podría gustarte