Ver por etiquetas

Todas las etiquetas » C# (RSS)

Nacen las Parallel Series por Lluis Franco

Como ya os prometí a algunos de vosotros, he empezado a publicar una nueva serie que promete ser la más larga de las que he publicado hasta ahora. El tema a tratar va a ser la programación paralela mediante la Task Parallel Library incorporada en .NET 4.0 y Visual Studio 2010. Cuento con la ventaja de haber estado creando material durante el último año y medio, en el que he publicado algunos documentos, varios vídeos y hasta un webcast con los chicos de SecondNug...

Abandona tus DataSets. Ellos no van a tener piedad de ti. por Lluis Franco

¿Todavía estás usando DataSets en tu aplicación .NET? ¿Eres consciente de que los DataSets son actualmente unas pésimas herramientas para trabajar con datos? ¿No utilizas tecnologías más modernas porque te falta capacitación para ello? Entonces estás de enhorabuena! :-D Hartos como estamos del uso de los infames DataSets, Pedro Hurtado , un servidor y otros compañeros, con la colaboración de Microsoft, hemos...

Materiales del Webcast de ayer sobre Programación Paralela por Lluis Franco

Edit (07/12/2011): Ya se ha publicado el webcast, por si algun insensato lo quiere ver. (recomiendo 'Presentación de alta fidelidad de Microsoft Office Live Meeting'): http://www.secondnug.com/EventosDesarrollo/tabid/57/Default.aspx :-) Hola de nuevo,Como ya os había anunciado anteriormente , ayer realizamos un webcast con los chicos de SecondNug sobre programación paralela. Tengo que deciros que realmente me lo pasé como un enano, tanto que de hecho ya se me han...

Webcast: Mejora el rendimiento con Programación Paralela por Lluis Franco

El próximo 29 de Noviembre montaremos un webcast con los chicos de SecondNug sobre programación paralela. La idea es empezar mostrando el porqué de la programación paralela: Que es? Cómo hemos llegado a esta singularidad? Y en que casos puede sernos útil -que son muchos más de los que os podéis imaginar-. Además, como vais a ver en el webcast esto cada vez va a ir a más. Y no sólo a largo plazo… pero no os quiero avanzar mucho más, mejor ya lo veréis :-D   A partir de las 19h30 empezaremos nuestro...

[HowTo] Modificar cadena de conexión, la eterna pregunta por Lluis Franco

Si no la he leído 200 veces en los foros MSDN no la he leído ninguna :-) vayan unos ejemplos: Es posible modificar el App.config de una aplicación C# en tiempo de ejecución? Cómo hago para cambiar los datos de conexión en tiempo de ejecución? Cadena de conexión Dinámica, ¿cómo debo hacer esta modificación desde un windows form en el mismo aplicativo? Y así unas cuantas. De hecho una búsqueda me ha arrojado más de 3.000 resultados :-S De todos modos lo que me sorprende no es tanto el alto número de...

[HowTo] Obtener fechas de principio y final de mes… y de trimestre por Lluis Franco

Vale, lo se. Es una chorrada :-) Pero es una de esas cosas que no puedes creer que no está implementado en el framework ‘de fábrica’, y si lo está debe estar escondido porque yo no lo he encontrado. Y la cuestión es que ayer necesitaba calcular (a partir de una fecha) las fechas de inicio y final de mes, así como las fechas de inicio y final de trimestre. Aquí está el código por si alguien se encuentra con el mismo problema: public static class BaseTypesExtensions { public static int GetQuarter(...
Archivado en: ,,,

MVP por noveno año y cambio de categoría :-D por Lluis Franco

:-) Hola a todos! Un post cortito que estoy de fin de semana. Acabo de recibir un correo (o más bien debería decir EL correo) que muchos de nosotros esperamos el 1 de Octubre: Enhorabuena. Nos complace presentarle el programa de nombramiento MVP de Microsoft® de 2011. Este nombramiento se concede a los líderes excepcionales de la comunidad técnica que comparten de forma activa su experiencia de alta calidad y de la vida real con otras personas. Le agradecemos especialmente...
Archivado en: ,,,,

ParseTo: Un TryParse para unirlos a todos en las tinieblas por Lluis Franco

MUAHAHA!!! :-) ¿Quién no conoce los métodos Parse y TryParse ? Estos métodos son comúnmente usados para verificar si una cadena puede ser convertida a un número, fecha, etc. El problema con éstos métodos es que pertenecen a los tipos base de .NET (int, long, decimal, DateTime), de modo que cada vez que tenemos que parsear un valor hay que utilizar un método distinto en una clase distinta. Además, en el caso de Parse si intentamos parsear un valor incorrecto (por ejemplo “123,45” a int) se produce...
Archivado en: ,,,

[HowTo] Crear una pantalla que espere la conclusión de una tarea larga (con cancelación) por Lluis Franco

En el post anterior vimos un ejemplo de cómo crear una ventana que espere la conclusión de una tarea. Si bien este ejemplo cubría sobradamente el objetivo, dejamos abierta la puerta a la posibilidad de que dicha tarea pudiese ser cancelada por petición del usuario, pulsando el botón ‘cancel’ de la ventana. Si se hizo de este modo fue para evitar complicar en exceso el post, ya que el objetivo inicial era simplemente “mostrar una ventana mientras...

[HowTo] Crear una pantalla que espere la conclusión de una tarea larga por Lluis Franco

Nota: Otro post en respuesta a una pregunta bastante habitual en los foros MSDN: “Mi frmPrincipal ejecuta una función (no tengo el tiempo preciso) y mientras realiza esto quiero que aparezca una ventana … que impida el acceso al frmPrincipal y una vez que se termine de ejecutar la función, desaparezca frmMensaje.” La verdad es que hay un montón de posibles soluciones. Desde el uso del componente BackgroundWorker (la opción más sencilla pero la...

Usando SQL Server Table-Valued Parameters en C# (mediante un Custom Iterator) por Lluis Franco

Una de las características más esperadas de SQL Server 2008 son los parámetros de tipo tabla en procedimientos almacenados y funciones de SQL SERVER. Estos Table-Valued Parameter (TVP en adelante ) permiten definir un tipo de datos estructurado (al fin!) que puede ser pasado como parámetro a un PROCEDURE o a una FUNCTION, mejorando sustancialmente el manejo de datos de tipo tabla, ya que anteriormente dependíamos de tablas temporales o variables de tipo tabla, pero...
Archivado en: ,,,,,

Editar documentos almacenados como array de bits en SQL Server [FileStream] (3/n) por Lluis Franco

Es viernes, así que intentaré terminar la serie. Espero que no me quede un post muy ‘tocho’ :-P Después de abrir boca con los dos posts anteriores, en los que hemos mostrado cómo crear una tabla con almacenamiento FILESTREAM , y posrteriormente cómo almacenar en ella documentos en forma de información binaria , hoy vamos a terminar la serie viendo cómo poder visualizar esta información mediante su aplicación asociada (Word, Excel, Acrobar Reader, etc.) y cómo no, editarla para guardar los cambios...
Archivado en: ,,,,,

Editar documentos almacenados como array de bits en SQL Server [FileStream] (2/n) por Lluis Franco

En el anterior post de la serie os comentaba: “En los próximos posts veremos dónde se almacenan REALMENTE estos ficheros, cómo visualizarlos, y lo más importante de todo, cómo editarlos y guardarlos otra vez en la base de datos de forma transparente para el usuario.” Dicho y hecho. Vamos a dar una ojeada al servidor SQL para ver dónde se almacenan estos ficheros. Recordar que al crear la base de datos debemos especificar un FILEGROUP explícitamente...
Archivado en: ,,,,,

Editar documentos almacenados como array de bits en SQL Server [FileStream] (1/n) por Lluis Franco

Bajo este título -a priori tan chorra-, voy a empezar una serie de posts que muestren cómo almacenar documentos (ficheros NTFS) en una base de datos SQL Server 2008 mediante el uso de FILESTREAM storage, y cómo visualizarlos y editarlos con su aplicación asociada. En realidad, ésta última parte –la edición- es la única compleja, pero me ha parecido un buen tema para empezar una serie, y así de paso retomar las viejas costumbres...
Archivado en: ,,,,,,

[HowTo] - LINQ to SQL: Mostrando el progreso de Context.SumbitChanges() por Lluis Franco

Hola de nuevo, En el proyecto que me ocupa actualmente he tenido que pelearme con algo curioso: Resulta que hay que realizar un proceso que lea una serie de ficheros de texto (si, si, de texto) que contienen una serie de información que debo analizar y posteriormente volcar a la base de datos. Hasta aquí ningún problema, salvo el de tener que lidiar con unos ficheros de texto cuyos formatos parecen haber sido diseñados por un loco (parece mentira que hoy en día...
Archivado en: ,,,,,,,

Sharpwhere over the rainbow… por Lluis Franco

…skies are blue :-) Si, se que el título del post está ‘pillado’ con pinzas, pero de lo que trata este post es de “cómo utilizar una brocha para pintar el interior de un control con varios niveles de degradado“, o sea “pintar un control Label con los colores del arco iris” :-D Que? Ya habéis terminado de reíros? Pues ahora os cuento el porqué se me ha ocurrido todo esto: Resulta que un proyecto en el que estoy trabajando, se muestran unas barras de progreso de color azul que indican el % de realización...

[HowTo] Obtener el valor de una propiedad de usuario en LDAP por Lluis Franco

El motivo A raíz de una pregunta que me lanzó ayer mi colega Ricardo, hoy vamos a ver cómo obtener el valor de una propiedad de un usuario del directorio activo de la organización. Esto de por si, no tiene ningún secreto, basta con utilizar las clases contenidas en el namespace System.DirectoryServices . Lo que sí tenemos que tener muy claro, es el nombre de esa propiedad dentro del esquema del LDAP de nuestra organización. Por ejemplo, para obtener el mail, la propiedad a utilizar es mail , obvio...

[Debate] Nombre de Namespaces en métodos extensores ¿Y tu que opinas? por Lluis Franco

Ayer, a raíz de un post del colega Javier Torrecilla sobre métodos extensores, unos cuantos de nosotros entre los que estaban el propio Javier y Jorge Serrano nos enzarzamos en una discusión en twitter acerca del mejor modo de declarar nuestros métodos extensores. Pongamos un ejemplo: Supongamos que queremos crear un método extensor para comprobar si un valor está entre dos valores (el clásico between de toda la vida). Agrego una clase llamada ExtensionMethods...
Archivado en: ,,,,,

Materiales de la charla sobre computación paralela en BcnDev por Lluis Franco

Hola de nuevo, Después de la charla del viernes en BCNDEV, lo prometido es deuda. Os comenté que había realizado las demos en forma de un pequeño proyecto web, para no tener que ir con un pedazo-de-pepino a hacer las demos (más que nada porque no lo tengo :-P). Así que sólo quiero dejaros el enlace al proyecto que usé para las demos de la TPL, por si alguno las quiere probar: Os recuerdo que si el proyecto lo probáis en una máquina virtual poco paralelismo vais a ver, pero publicarlo en el host o...

HowTo: Crear un hook de teclado para registrar una hotkey en nuestra aplicación por Lluis Franco

Hola de nuevo, En los grupos de MSDN suele haber bastantes preguntas acerca de crear hooks de teclado, para que nuestra aplicación pueda ejecutar alguna acción determinada, en respuesta a alguna pulsación de teclado, aunque no esté activa. He creado una pequeña clase llamada WindowsShell que contiene el código necesario para registrar una hotkey y asociarla a un formulario: 1: using System; 2: using System.Runtime.InteropServices; 3: using System.Windows...
Archivado en: ,,
Más artículos Página siguiente >