vtortola.NET Logo
Pensando en asíncrono - All posts by vtortola

Integrar un video de YouTube en Silverlight 2

por vtortola domingo, 17 de mayo de 2009
silveryoutubemini

 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 si fuese un elemento más en mi emulador de escritorio. El control que Ary propone, tiene unas propiedades para controlar la posición y el tamaño asi que simplemente es cuestión de "atar" el div al contenido de la ventana, todo gracias a TransformToVisual().

Leer el artículo completo...

Actualmente calificado 4.8 por 4 persona(s)

  • Currently 4,75/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

C# 3.0 | .NET 3.5 | Silverlight 2

Gestor de ventanas (Window Manager) en Silverlight 2

por vtortola domingo, 08 de febrero de 2009

silverwindow 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 SilverWindow, que son UserControl, y conectar 5 eventos entre ventana y escritorio, dos del "escritorio" a la ventana para que se puedan realizar las acciones de mover y redimensionar, y 3 de la ventana al escritorio para informar cuando se activa ó cierra una ventana. SilverWindow usa el FrameworkElement que se le pasa en el constructor para rellenar su espacio de trabajo. Cualquier FrameworkElement es bueno, desde por ejemplo MediaElement para poner un video, como un UserControl, de hecho lo que este ejemplo abre cada vez es una nueva instancia de un UserControl llamado DummyUserCtrl que tiene un color de fondo aleatorio.

Leer el artículo completo...

Actualmente calificado 5.0 por 5 persona(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

C# 3.0 | .NET 3.5 | Silverlight 2

Ordenaciones personalizadas con LINQ

por vtortola viernes, 12 de septiembre de 2008

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 como quedaba, no me gustaba lo de tener que escribir una clase solo para este propósito... buscaba algo más... compacto... asi que con ayuda de mi compañero use un delegado anónimo primero que directamente devolvia el peso en TKey inferido como Int32, que es en lo que LINQ basaria la ordenación y luego lo substituí por una expresión lambda; es realmente interesante como LINQ te facilita la vida :D

Leer el artículo completo...

Actualmente calificado 5.0 por 4 persona(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

C# 3.0 | .NET 3.5

Update-Select en un DataTable con LINQ

por vtortola jueves, 11 de septiembre de 2008

Ú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 LINQ sobre un DataTable, apoyandonos en el ya famoso método extensor ForEach ... (que según me ha comentado un compañero es posible que aparezca en la BCL próximamente), lo que hace es en cada DataRow que cumple con las condiciones dadas introduce en la columna "Initial" la primera letra del nombre... (nada complicado vamos xD)

EmployeesTable.AsEnumerable()
   .Where(EmployeeRow => !EmployeeRow.IsNull("Country") && 
                  EmployeeRow.Field<String>("Country") == "UK" &&
                  !EmployeeRow.IsNull("FirstName") &&
                  EmployeeRow.Field<String>("FirstName") != String.Empty)
   .ForEach(EmployeeRow => EmployeeRow.SetField<String>("Initial", 
                                EmployeeRow.Field<String>("FirstName").Substring(0, 1)));

También empezaré ahora a escribir sobre WPF... que me toca ponerme las pilas :D

Actualmente calificado 5.0 por 1 persona(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

C# 3.0 | .NET 3.5

Consumir un Webservice SSL

por vtortola martes, 09 de septiembre de 2008

Mas sencillo de lo que imaginaba, se trata simplemente de definir el siguiente delegado System.Net.ServicePointManager.ServerCertificateValidationCallbackcon 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)
{
    // Validar el certificado...
 
    // Un ejemplo tosco para aceptar cualquiera sin errores.
    return sslPolicyErrors == SslPolicyErrors.None;
}

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

.NET 2.0 | C# 2.0

Cargar un tipo dinamicamente

por vtortola miércoles, 16 de julio de 2008
dynamictypeproject

  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 común, y el ensamblado "opcional" provee una instancia de clase que cumple dicho contrato, dicho contrato ó acuerdo mutuo indica a la aplicación como usar dicha instancia. En el ejemplo de solución de Visual Studio que se ve a la izquierda, LoadTypeTest sería la aplicación, Common el ensamblado compartido donde se definen los contratos y los tipos comunes, y LibraryTest donde se encuentra definida la clase, LoadTypeTest y LibraryTest tienen referenciado a Common, pero se desconocen entre ellos.

Leer el artículo completo...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

.NET 2.0 | C# 2.0

Conversion de arrays sin cast directo con C#

por vtortola sábado, 12 de julio de 2008

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 razón cuerda para querer hacer tal cosa, pero otro ejemplo más cotidiano puede ser cuando intentamos mostrar el contenido de un array en una línea usando String.Join, nos daremos cuenta que tiene que ser String[]. Existen muchas situaciones donde no hay un casting directo.

Leer el artículo completo...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

.NET 2.0 | C# 2.0

Desechable o no desechable

por vtortola viernes, 11 de julio de 2008

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 : IDisposable
  15:  {
  16:      public String Cadena = "Vivo!";
  17:   
  18:      public void Dispose()
  19:      {
  20:   
  21:      }
  22:  }

Ok ok... un poco más complejo:

Leer el artículo completo...

Actualmente calificado 4.9 por 7 persona(s)

  • Currently 4,857143/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

.NET 2.0 | C# 2.0

Constructores, inicializacion rapida de objetos y C# 3.0

por vtortola jueves, 10 de julio de 2008

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 básicos de funcionamiento del objeto.

En C#, cuando no implementamos ningún constructor, el compilador asume que tenemos un constructor sin parámetros, es decir, esto:

Leer el artículo completo...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

C# 3.0

Asi da gusto usar Windows Vista

por vtortola miércoles, 09 de julio de 2008

Pedazo de maquinón que estrené en el trabajo y con el que estoy más que contento, es un placer trabajar así.

image

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:

Leer el artículo completo...

Actualmente calificado 5.0 por 2 persona(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Personal | Windows

Powered by BlogEngine.NET 1.1.1.8
This theme is a variation of Mads Kristensen by Valeriano Tórtola

Valeriano Tórtola

Personal Ver perfil
E-mail Enviar correo
LinkedIn LinkedIn
Fotos Fotos
MCPD

Publicidad

Posts recientes

Disclaimer

Las opiniones mostradas aqui son mis opniones y no representan el punto de vista de mi empresa en ninguna forma.

Creative Commons License

Esta obra está bajo una licencia de Creative Commons

Locations of visitors to this page

© Copyright 2010

Sign in

Calendario

<<  marzo 2010  >>
lumamijuvido
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

Ver en calendario extendido