Integrar un video de YouTube en Silverlight 2

Me pareció tan curioso que me decidí a probarlo :D Es sabido, que no se puede insertar un componente Flash en Silverlight 2 ... pero como comenta Ary Boretc se puede meter en un DIV flotante y colocarlo en la pantalla. Funciona bastante bien, aunque no funciona a pantalla completa (ya que en pantalla completa solo se puede ver la aplicación Silverlight) y tampoco funciona en Internet Explorer, intentaré averiguar porque :P Me faltaba entonces poder moverlo a voluntad como...
Publicado por Valeriano Tórtola | con no comments

Gestor de ventanas (Window Manager) en Silverlight 2

He creado un pequeño gestor de ventanas como libreria para Silverlight 2 , que permite añadir cualquier FrameworkElement embebido en una ventana, que se puede mover (desde la barra de título), redimensionar (desde la esquina inferior derecha), colapsar (botón _) y cerrar (botón X). Además las ventanas pueden ser ordenadas en cascada ó en mosaico. La clase se llama SilverWindowManager , hereda de Canvas , y lo que hace es crear unos elementos llamados...
Publicado por Valeriano Tórtola | 5 comment(s)
Archivado en:

Ordenaciones personalizadas con LINQ

Esta mañana necesitaba ordenar los elementos de una tabla en función de uno de los campos, pero el problema era que la comparación no era alfabética ni similar, era en función de unos criterios propios; uno de los parámetros que aceptan los métodos extensores OrderBy , OrderByDescending , ThenBy and ThenByDescending es un IComparer<> , probé y funcionó, asignaba un peso a cada valor y luego comparaba en el método Compare los pesos de los dos parámetros de entrada, pero aún asi no me gustaba...
Publicado por Valeriano Tórtola | 2 comment(s)
Archivado en: ,,

Update-Select en un DataTable con LINQ

Últimamente ya no escribo nada, estoy totalmente inmerso en el mundo LINQ con el C# 3.0 y LINQ de Octavio Hernandez y el LINQ en Action ... y poco hay que contar que no este en libros ó en los cientos de blogs que llevan escribiendo sobre LINQ desde hace mucho tiempo. Aún asi por lo menos iré escribiendo alguna cosilla sobre LINQ aunque solo sea para que no se me olvide como hacer ciertas cosas y tener que volverlas a buscar :P Este es un ejemplo simple de como lanzar una consulta Update-Select con...
Publicado por Valeriano Tórtola | 3 comment(s)
Archivado en: ,,

Consumir un Webservice SSL

Mas sencillo de lo que imaginaba, se trata simplemente de definir el siguiente delegado System.Net.ServicePointManager.ServerCertificateValidationCallback con la funcion que se encarga de validar el certificado. Por ejemplo: System.Net.ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidateSSL); Y escribimos el metodo: static Boolean ValidateSSL( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors...
Publicado por Valeriano Tórtola | con no comments
Archivado en: ,,

Cargar un tipo dinamicamente

Una aplicación modular suele ser una aplicación donde sus funcionalidades son opcionales, de forma que podemos quitar ó añadirlas según nos convenga. La aplicación solo sabe que va a tratar con instancias que cumplen un determinado contrato, ya sea cumpliendo con una interfaz ó determinado tipo base (usando clases abstractas). Estos contratos suelen estar en ensamblados que conocen las dos partes, de forma que la aplicación espera una instancia de clase que cumple el contrato definido en el ensamblado...

Conversion de arrays sin cast directo con C#

Realizar casting entre clases es siempre sencillo, el inconveniente es cuando se trata de un arrays. Por ejemplo... sabiendo que la clase Manager deriva de Employee , si tenemos un array de Manager , es fácil convertirlo en un array de Employee usando casting directo: Employee[] employees1 = (Employee[])managers; Pero si tenemos un array de Employee no es posible convertirlo en un array de Manager de la misma forma que tampoco podríamos hacer un casting directo entre objetos simples. No se me ocurre...
Publicado por Valeriano Tórtola | 2 comment(s)
Archivado en: ,,

Desechable o no desechable

La interfaz IDisposable nos provee del método .Dispose() que utilizamos para liberar los recursos que esta usando ese objeto, pero dicho método... no deja de ser un simple método ;) Solo hace falta hacer una pequeña prueba para darse cuenta: 1: class Program 2: { 3: static void Main( string [] args) 4: { 5: Desechable test = new Desechable(); 6: 7: test.Dispose(); 8: 9: Console.WriteLine(test.Cadena?? "Muerto" ); // Muestra: Vivo! 10: Console.ReadKey( true ); 11: } 12: } 13: 14: class Desechable...
Publicado por Valeriano Tórtola | 2 comment(s)
Archivado en: ,,

Constructores, inicializacion rapida de objetos y C# 3.0

La inicialización rápida de objetos es una nueva e interesante característica de C# 3.0, pero me gustaria reflexionar un poco sobre su uso y el de nuestros amigos los constructores. Un constructor es el método de una instancia que implementa las acciones necesarias para inicializar la instancia de la clase, y es invocado por el operador new cuando instanciamos dicha clase. Por lo tanto, cuando desarrollamos una clase, el ó los constructores deben de tener la capacidad de inicializar los aspectos...
Publicado por Valeriano Tórtola | 3 comment(s)
Archivado en:

Asi da gusto usar Windows Vista

Pedazo de maquinón que estrené en el trabajo y con el que estoy más que contento, es un placer trabajar así. Mi jefe es de esas personas que sabe como hacerte feliz. Después de algo más de una semana trabajando con él, cuando cojo mi portátil ya no es lo mismo... definitivamente tengo que hacerme con uno de estos para mi casa :D El monitor no es que se quede atrás: Asi da gusto usar Windows Vista| vtortola.NET
Publicado por Valeriano Tórtola | 11 comment(s)
Archivado en: ,

Asistente P/Invoke Interop

Si trabajas con p/invoke tanto habitual como eventualmente y pinvoke.net esta en tus bookmarks... esta herramienta no te va a dejar indiferente :D Leo en el blog del BCL Team : El equipo Interop ha publicado recientemente una nueva herramienta llamada P/Invoke Interop Assistant . Esta herramienta genera automáticamente las declaraciones en C# ó VB.NET de las llamadas p/invoke nativas. Incluye una búsqueda rápida por las librerias comunes Win32 y permite generar las declaraciones para cualquier otra...
Publicado por Valeriano Tórtola | 3 comment(s)
Archivado en: ,,

Recursividad y yield return. Haciendo queries a colecciones en arbol en C# 2.0

Estoy disfrutando de lo que será mi último proyecto en C# 2.0 y .NET 2.0 antes de pasar a WPF, y la verdad es que se hace amargo algunas veces cuando ya conoces C# 3.0, por ejemplo se hecha de menos LINQ :D En este artículo quiero demostrar como hacer queries a una colección de elementos en forma de arbol desde C# 2.0, de forma que se pueda definir el tipo de colección, criterio de búsqueda que se quiere usar y obtener los resultado conforme se vayan obteniendo. Una función recursiva , es una función...

Listo para empezar a trabajar en Dublin

Bueno pues las vacaciones se acaban y es la hora de volver a trabajar y a .NET :D El próximo día 23 me incorporo a Datakraft en Dublín como desarrollador y debo confesar que estoy bastante excitado con el tema, voy a tener la oportunidad de sumergirme en .NET 3.5, desarrollo Windows/web/back-end y metodologías ágiles. Con esto completo mi instalación en Dublín al 100%, después de 2 meses y medio aprendiendo inglés en el LCI , encontrar casa y encontrar trabajo. Otro día contaré como ha sido el proceso...
Publicado por Valeriano Tórtola | 11 comment(s)
Archivado en:

Un mal dia...

Voy preparándome psicológicamente para la vuelta al trabajo... xD Unos cuantos videos de lo que seguro algún día se nos ha pasado por la cabeza hacer.... En verdad estoy deseando volver a trabajar... pero voy a disfrutar las últimas semenas de felicidad :D Un mal dia... | vtortola.NET
Publicado por Valeriano Tórtola | 3 comment(s)
Archivado en:

Pooling de llamadas asincronas

Hora de volver a trabajar... asi que toca quitarle el polvo al Visual Studio que tenia abandonado ya estos meses, la buena vida se acaba... xD En determinadas ocasiones, necesitamos lanzar un cierto número de ejecuciones en paralelo y esperar a que terminen todas para devolver el resultado final. Existen diversas formas de hacerlo, y yo voy a poner la que, después de darle un par de vueltas... me parece la mejor y más sencilla, ... se puede hacer aún mejor, pero no se si más sencilla... y no se si...

Visual Basic .NET vs C# .NET: ¿Cual es mejor y por que?

Hoy Second Nug tiene el honor de presentar a dos ponentes de excepción, Guillermo Som ( el Guille ) y Marino Posadas ( el Ave Fénix ), en la que será una gran batalla donde dos voces con gran experiencia expondrán sus mejores bazas en un duelo sin igual: VB .NET vs C# .NET . Sabremos por qué se decantaron por un lenguaje u otro y nos presentarán su evolución en las nuevas versiones del .NET Framework. Nos desvelaran secretos y trucos de sus defendidos y veremos si es cierto aquello de que lo que...

Trabajando con el registro de Windows desde C# y .NET

Manejar el registro de Windows es algo... en parte tedioso por lo extenso y medianamente documentado que esta lo que contiene. En mi humilde opinión, es algo a evitar siempre que sea posible en virtud de los archivos de configuración; pero en ocasiones necesitamos crear/modificar entradas que afectan al funcionamiento de otros programas ó del propio Windows desde nuestras aplicaciones, asi que hay que arremangarse y meterle mano :D Primero un pequeño repaso de como se estructura la información a...
Publicado por Valeriano Tórtola | 3 comment(s)
Archivado en: ,,

Evento: Windows Communication Foundation al Descubierto en SNUG

El próximo 1 de Abril podréis asistir a un nuevo Webcast en el que podréis sacar el máximo provecho de sistemas, tanto nuevos como ya existentes, a través de Windows Communication Foundation . Para esta nueva charla, contaremos con la presencia de Hadi Hariri como ponente de excepción, que nos deleitará con todo lo que esta nueva herramienta nos puede ofrecer. El evento será a las 19:30 - 21:30 (GMT+1), y como en las anteriores ocasiones, se retransmitirá vía Web a través de Live Meeting. Si no tienes...
Publicado por Valeriano Tórtola | 4 comment(s)
Archivado en: ,

Chatarra a precio de oro III, Microsoft es asi

Y no se confundan, Microsoft nada pinta aquí... al menos para mi, pero si para el SAT :D Sigo con mi lucha con la chatarra ( parte I , parte II ), alcanzado ahora nuevas cotas de asombro con el SAT. Una de mis reglas cuando hablo con el SAT, es ser tan humilde como pueda, prestar atención a lo que dice y evitar dar a entender que soy un usuario avanzado, en este caso... mucho menos decir que soy programador. Una vez instalada la aplicación en red, la primera cosa que se me ocurre (yo y mis ocurrencias...

Forzando la captura de excepciones no manejadas en WPF

En .NET 2.0 y WinForms había una forma que ahora ya no es del todo válida en WPF ya que han desaparecido el método Application.SetUnhandledExceptionMode y el evento Application.ThreadException , en su lugar tenemos Application.DispatcherUnhandledException : < Application x:Class ="KiosimWPF.App" xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri ="Window1.xaml" DispatcherUnhandledException...
Más artículos Página siguiente >