vtortola.Net

Junio 23, 2007

70-536 Resumen 3/7: Globalización, gráficos y manipulación de texto.

Archivado en: .NET, 70-536, C#, Certificaciones, GDI+, MCTS, Windows Forms — vtortola @ 1:37 am

Tercer repaso de 7 del temario para el examen 70-536 de la certificación MCTS en .NET.
Esta, es una de las nuevas certificaciones Microsoft para .NET 2.0.

Engloba los temas 3.Searching, Modifying, and Encoding Text, 6.Graphics y 16.Globalization del libro oficial de Microsoft.

Expresiones Regulares:

· Introducción a las expresiones regulares en .NET.

· Te permiten determinar cuando un texto cumple un formato propuesto. Soportan docenas de caracteres especiales y operadores. Los más usados comúnmente son “^” para indicar el comienzo de la cadena, “$” para indicar el final, “?” para indicar un carácter opcional, “.” para indicar cualquier carácter y “*” para indicar un carácter repetido.

· La clase Regex provee las funcionalidades para trabajar con expresiones regulares en .NET.

· Usando el método estático Regex.IsMatch puedes comprobar si una cadena cumple un patrón dado.

· Para extraer datos usando expresiones regulares puedes crear un patrón usando grupos para especificar los datos que necesitas extraer, llama a Regex.Match para crear un objeto Match y entonces examina cada uno de los ítems en el array Match.GroupX.

· La enumeración RegexOptions representa las opciones de búsqueda de las expresiones regulares.

· Para reformatear texto usando expresiones regulares, llama al método estático Regex.Replace.

Codificando y decodificando:

· Introducción a las codificaciones.

· Los estándares de codificación mapean valores en bytes a caracteres. ASCII es uno de los estándares más antiguos y extendidos; en cualquier caso, provee un soporte limitado para lenguas distintas del Inglés. Hoy, varios estándares de codificación Unicode proveen soporte multilenguaje.

· La clase Encoding provee de métodos estáticos para codificar y decodificar texto.

· Con Encoding.GetEncodings puedes obtener una lista de las páginas de códigos soportadas.

o UTF-32: Caracteres unicode como secuencias de enteros de 32 bits. Representada por la clase UTF32Encoding.

o UTF-16: Caracteres unicode como secuencias de enteros de 16 bits. Representada por la clase UnicodeEncoding.

o UTF-8: Caracteres unicode como secuencias de enteros de 8 bits. Cierta compatibilidad con ASCII. Representada por la clase UTF8Encoding.

o UTF-7: Idem, UTF7Encoding.

o ASCII: Alfabeto latín con caracteres como secuencias de enteros de 7 bits. Representada por la clase ASCIIEncoding.

o ANSI/ISO: Soportada por la clase Encoding.

· Para especificar el tipo de codificación cuando escribes en un fichero, puedes llamar a constructores de Stream que tienen una variable de tipo Encoding como parámetro.

· Aunque rara vez lo necesitarás (y no tan rara), también puedes hacerlo al leer de un archivo de la misma forma.

Dibujando gráficos:

· Introducción a la programación de gráficos.

· El espacio de nombres System.Drawing provee de herramientas para dibujar gráficos y editar imágenes. Las clases más utilizadas son Graphics, Image y Bitmap.

· Usa las estructuras Point y Size para especificar la localización y tamaño de los controles.

· La estructura Color provee las propiedades predefinidas de los colores comunes.

· Como crear objetos Graphics para dibujar.

· Para dibujar líneas y formas, crea una instancia de la clase Graphics, crea un objeto Pen y llama a uno de los métodos .DrawX de Graphics para dibujar una línea ó una forma usando la instancia de Pen. Estos, se pueden personalizar:

o La enumeración DashStyle especifica el tipo de línea. Se indica en la propiedad Pen.DashStyle.

o La enumeración LineCap especifica el tipo de terminador. Se indica en las propiedades Pen.EndCap y Pen.StartCap.

· Los Pens pueden ser personalizados con patrones.

· Para dibujar formas rellenas, crea una instancia de la clase Graphics, crea un objeto Brush y llama a uno de los métodos .FillX de Graphics para dibujar la forma usando la instancia de la clase abstracta Brush de tipo HatchBrush (patrón), LinearGradientBrush (degradado), PathGradientBrush (degradado complejo), SolidBrush (simple) y TextureBrush (con textura).

Trabajando con imágenes:

· Las clases Image y Bitmap posiblitan el editar ó crear imágenes y salvar el resultado como un archivo.

· Para mostrar una imagen en un formulario Windows, carga la imagen en una instancia de Image ó Bitmap, crea una instancia del control PictureBox y usa la instancia anterior para definir la propiedad PictureBox.BackgroundImage.

· Como mostrar imágenes.

· Para crear y salvar una imagen, crea un objeto Bitmap, edítalo usando un objeto Graphics y llama al método Bitmap.Save.

· Para mostrar un icono, llama al método Graphics.DrawIcon ó Graphics.DrawIconUnstretched usando una de las propiedades de la clase SystemIcons.

Formateando texto:

· Utilizar fuentes y texto.

· Para añadir texto gráficamente, crea un objeto Graphics, crea un objeto Font, si quieres también un objeto Brush y llama al método Graphics.DrawString especificando la localización donde quieres escribir.

· Para crear un objeto Font, pásale como argumentos el nombre de la familia de la fuente (“Tahoma”, “Verdana”, etc..), el tamaño y el estilo.

· Usa la clase StringFormat para controlar el formateo del texto. Puedes usar esta clase para cambiar la dirección ó el alineamiento del texto. Sus principales propiedades indican:

o La enumeración StringAligment, especifica la alineación de la cadena en relación con el rectángulo que la contiene.

o La enumeración StringFormatFlags, especifica información de diseño de la cadena.

o La enumeración StringTrimming, especifica como recortar los caracteres que no caben en el rectángulo.

Usando información cultural:

· Globalizar y localizar aplicaciones.

· Las distintas culturas son representadas por la clase CultureInfo. Es la vía para manipular la información cultural.

· Utilizar CultureInfo.

· La cultura actual de la aplicación puede ser obtenida y modificada mediante la propiedad CultureInfo.CurrentCulture.

· Para implementar la globalización de forma efectiva, los datos deben estar formateados en lugar de ser “hardcodeados”.

· La propiedad CurrentThread.CurrentCulture también sirve para obtener y/ó modificar la información cultural de la aplicación.

· La propiedad CurrentThread.CurrentUICulture representa la información cultural de los aspectos gráficos de la aplicación. Esta propiedad debería ser modificada SOLO al inicio de la aplicación.

· La enumeración CultureTypes representa los tipos de referencias culturales que se pueden obtener de CultureInfo.GetCultures.

· La clase RegionInfo contiene información más detallada sobre países o regiones.

· La clase NumberFormatInfo provee un mecanismo para controlar como los números son representados y mostrados.

· La clase DateTimeFormatInfo provee un mecanismo para controlar como las fechas son representadas y mostradas.

· El método DateTime.ToBinary permite convertir una fecha y hora a un valor binario de 64 bits que se puede utilizar después para volver a crear el objeto DateTime mediante el método DateTime.FromBinary.

· El método DateTime.Parse permite convertir una fecha y hora en su DateTime equivalente.

· El método DateTime.ParseExact permite convertir una fecha y hora en su DateTime equivalente mediante un formato dado.

· El método Int32.Parse permite convertir la representación textual de un número a su equivalente Int32.

o La enumeración NumberStyles representa los estilos permitidos para convertir un string en número.

Creando una cultura personalizada:

· Las culturas personalizadas pueden ser creadas con la clase CultureAndRegionInfoBuilder.

· La cultura y región de un CultureAndRegionInfoBuilder puede ser heredada de otra.

· El formateo de números puede ser controlado des de la propiedad CultureAndRegionInfoBuilder.NumberFormat.

No Comments Yet »

Aún no hay comentarios.

Canal RSS de los comentarios de la entrada. URI para TrackBack.

Deja un comentario

Debes ser Sesión como para publicar un comentario.

Blog de WordPress.com.