Vous êtes sur la page 1sur 4

Aplicaciones Windows MDI

Nombre del alumno:__________________________________________________________________________


Tema Especializacin Tipo aplicacin Objetivo Requisitos Aplicaciones Windows Aplicaciones MDI Windows Desarrollar una aplicacin con numerosas funcionalidades empleando formularios hijos para ofrecerlas a los usuarios Elementos bsicos del lenguaje Visual Basic.NET, Teora de clases, Serializacin, uso de mens, empleo de barras de herramientas y de estado, envo de correo electrnico y navegacin web, acceso a ficheros y carpetas, creacin de grficos con GDI+, arrastrar y soltar, compresin, empleo de controles avanzados. CD con proyecto instalador autoarrancable

Forma entrega

de

Se recomienda la lectura completa del ejercicio para la correcta comprensin de las instrucciones. Adems de la aplicacin solicitada se usarn las siguientes bibliotecas de clase Bibliotecas a emplear Biblioteca Contenido MyGraphics Contiene clases para devolver diferentes tipos de grficos: lneas rectas, curvas, barras verticales, barras horizontales y sectores recibiendo como parmetros el array de valores todos ellos y el color de las MyArrays MySOAP MyMail MyResources MyCompression MyBusinessObject s barras, lneas o curvas los cuatro primeros. Contiene clases con mtodos para cualquier operacin a realizar con arrays que no est soportada por la clase System.Array. Contiene clases que permiten serializar y deserializar informacin en ficheros Contiene clases que permiten el envo de correo electrnico Contiene ficheros de recursos a emplear en la aplicacin Contiene clases para comprimir y descomprimir ficheros empleando GZipStream Incluir todas aquellas clases que se consideren necesarias para resolver las funcionalidades de la aplicacin y que no deban existir en las otras bibliotecas.

La aplicacin MDI a desarrollar muestra el siguiente formulario padre inicialmente con barra de mens, barra de herramientas y barra de estado.

A continuacin se describen las partes del proyecto as como sus elementos a desarrollar: (1) La opcin Salir cierra la aplicacin y guarda en los ficheros adecuados los nuevos elementos que se hubieran creado. (2) La opcin Estadsticas abre el formulario frmStats donde se muestra a. b. c. d. Nmero de inicios de la aplicacin y tiempo medio de uso de la misma. Esta informacin se obtiene de los datos almacenados en el fichero app_use.xml en la carpeta config del almacenamiento aislado a nivel de usuario. Nmero de Contactos totales y nmero de contactos por cada tipo. Grfico de sectores con leyenda para ver el nmero y porcentaje de contactos de cada tipo Nmero total de correos enviados. Grficos de barras verticales para comparar el nmero de correos enviados en los ltimos doce meses Nmero total de entradas de la agenda. Grfico de barras horizontales para comparar el nmero de entradas en los ltimos doce meses

(3) La opcin Anotaciones abre frmNotesConfig que permite configurar el tipo de anotaciones que puede tener la Agenda. Inicialmente son Laborales, Amistades y Familiares pero empleando este formulario se puede aadir nuevos tipos. Cada tipo debe tener asociado un color diferente. Todos los datos se guardan en el fichero NotesTypes.xml. (4) La opcin Ficheros abre frmFilesConfig que permite modificar la ruta donde se guardan los ficheros de datos de la aplicacin como NotesTypes.xml, Contacts.xml, etc. Por defecto es la carpeta del ejecutable. El dato se guarda en un Setting a nivel de usuario denominado DataFilesPath. (5) La opcin Envo de correo abre frmMailConfig que permite especificar el servidor SMTP a emplear en los envos de correo electrnico as como los datos de la cuenta de envo. Por defecto, sus valores estn vacos y no se podr enviar correos hasta que estn determinados. Los datos se guarda en los settings a nivel de usuario denominados SMTPServer, MailAccount, MailLogin y MailPassword. (6) La opcin Ventana muestra, como se puede apreciar en la imagen correspondiente, las opciones para disponer los formularios hijos dentro del padre pero adems, bajo el separador que contiene, deber verse el nombre de los formularios abiertos y la pulsacin en cualquier de ellos deber activarlo. Los nicos formularios hijos de los que se permite abrir ms de una instancia son frmEditor y frmNavigator. (7) La opcin Acerca del Gestor muestra frmAbout donde se indica el nombre del autor as como cualquier otra informacin descriptiva de la aplicacin que se desee. (8) La opcin Temas de ayuda abre el fichero Help.htm donde se describen las partes de la aplicacin y sus fundamentos. De forma opcional se puede sustituir el fichero por Help.chm. (9) La opcin Agenda abre frmSchedule donde el usuario ve tres partes diferenciadas: a. En la superior se puede incluir una entrada en la Agenda seleccionando da, hora (se distribuye el da en cuartos de hora entre las 8:00 y 20:00), ttulo, descripcin y tipo siendo ste uno de los valores existentes en NotesTypes.xml. Las entradas de la Agenda se guardan en Jobs.xml. En la central se filtran el tipo de entradas de la agenda que se quieren ver siendo los criterios posibles: da, cuarto de hora y tipo de entrada. Se permiten consultas Y y Or mediante el uso de Radiobutton. En la inferior se muestran las entradas que se corresponden con los valores de los filtros aplicados en la zona central. Se muestran todos los cuartos de hora del da

b. c.

seleccionado y el color de cada anotacin est determinado por su tipo. Se debe poder eliminar una anotacin. (10) La opcin Contactos abre frmContacts que permite incluir posibles destinatarios de correo electrnico. Los datos para cada uno son Nombre, Apellidos, Email, Tipo, Empresa y Telfono siendo obligatorios los cuatro primeros. Los tipos de contactos coinciden con los de las anotaciones de la Agenda. No se aceptan direcciones de email incorrectas validndolas mediante expresiones regulares. Los datos de los contactos se guardan en Contacts.xml. (11) La opcin Correo abre frmMail que permite seleccionar los datos necesarios para enviar un correo electrnico: a. b. c. d. Los destinatarios se escogen de una lista basada en los Contactos. Tambin existe una lista que permite aadir todos los contactos de un tipo determinado. Se impide que al emplear estas dos listas un correo se enve ms de una vez a cierto destinatario. El asunto no puede estar vaco El cuerpo del mensaje permite emplear HTML y no puede estar vaco. Se permite cualquier nmero de adjuntos aunque no son permitidas las extensiones almacenadas en un fichero de recursos denominado AttachmentsConfig.resx existente en MyResources. Los valores se guardan en un recurso denominado ForbiddenExtensions cuyo valor inicial es .exe;.bat;.com. Se avisar al usuario de la no inclusin de los adjuntos prohibidos si existen. Cada envo correcto de correo se almacena en Mail.xml con los datos Asunto, Fecha y Destinatarios.

e.

(12) La opcin Editor abre frmEditor que posee su propia barra de mens con todos los elementos necesarios para leer y modificar ficheros de texto plano: a. Seleccionar un fichero existente para mostrar su contenido b. Guardar un fichero abierto con otro nombre c. Guardar los cambios actuales de un fichero d. Cambiar el color del fondo y del texto e. Modificar el tipo y tamao de letra del texto f. Cambiar el texto seleccionado entre maysculas y minsculas g. Copiar, Cortar y Pegar el texto que estuviera seleccionado h. Hacer una bsqueda y mostrar las secciones del texto que coinciden en color azul i. Mostrar como estadsticas el nmero de lneas, palabras y caracteres del texto j. Imprimir el fichero mostrado (13) La opcin Navegador abre frmNavigator donde el usuario puede introducir una ruta URL y cargarla en un Webbrowser. Se guardan todas las direcciones visitadas en History.xml aunque no se repiten visitas a la misma pgina en un da concreto. El formulario dispone de una barra de mens que permite a. b. c. Agregar la pgina actual a Favoritos que se guardan en Favorites.xml. Cargar el cdigo fuente de la pgina actual en una instancia de frmEditor Mostrar el historial clasificado por fechas y acceder a cualquiera de sus direcciones

(14) La opcin Explorador abre frmExplorer que muestra a la izquierda las unidades del sistema en un Treeview. La expansin de una unidad permite ver sus carpetas de primer nivel y as sucesivamente. La seleccin realizada en el Treeview actualiza la existente en un ListView situado a la derecha tal y como se muestran en el Explorador de Windows de manera que se pueden ver los ficheros o subcarpetas existentes en una carpeta o unidad seleccionada en el Treeview. Los tamaos de los dos controles son relativos entre s de manera que siempre ocupan todo el formulario. El arrastre de un fichero de texto plano a un botn del formulario abrir una instancia de frmEditor y cargar en l el contenido del fichero. El men del formulario permite mostrar los elementos del Listview en las vistas Detalles (nombre, tamao y tipo de fichero), Iconos grandes, Iconos pequeos y Lista. La vista Unidades muestra un grfico de sectores para cada unidad del sistema de manera que, para las unidades que estn disponibles, compara el tamao total con el espacio libre en forma de porcentajes. Hacer doble clic sobre un fichero debe abrirlo en la aplicacin que le corresponda. (15) La barra de herramientas del formulario padre muestra nueve botones cuya pulsacin debe abrir, en este orden, frmSchedule, frmContacts, frmMail, frmEditor, frmNavigator, frmExplorer, frmStats, frmMailConfig y Help.htm. (16) La barra de estado del formulario padre muestra dos etiquetas: en la primera se muestra un reloj y en la segunda el ttulo del ltimo formulario hijo abierto. (17) Ninguno de los ficheros XML citados en el enunciado permanece en disco realmente sino comprimido con extensin gz, es decir, Contacts.xml no existe como tal sino como Contacts.xml.gz. Se emplearn las clases de la biblioteca MyCompression para descomprimir los ficheros gz y acceder a su informacin volviendo a comprimirlos cuando la aplicacin se cierre y guardando en ellos los cambios que se hayan realizado durante su uso.