Archives

Archives / 2008 / June
  • La Pregunta Eterna – ¿Debo elegir VB.NET o C#? por MisfitGeek

    Hola a todos.

    Quiero compartir este artículo de Joe Stagner con ustedes referente a la elección entre VB.NET o C# como lenguaje para desarrollar proyectos en la plataforma .NET.

    Fue un gusto encontrar una opinión tan clara y concisa de alguien dentro de Microsoft que me ofrecí para traducirlo al español y Joe fue muy amable en publicar la traducción, ahora está disponible acá:

    http://www.misfitgeek.com/La+Pregunta+Eterna+Debo+Elegir+VBNET+O+C+Por+MisfitGeek.aspx

    Espero lo lean y logren tomar una decisión acertada de su lenguaje de preferencia.

    Saludos.

    Read more...

  • Construyendo Reportes Para Aplicaciones Web: Parte 3

    Bien, continuando con esta última parte de la serie de de reportes para aplicaciones web, vamos a basarnos en el reporte que ya teníamos antes para hacer una construcción de subreportes o reportes anidados.

    En primer lugar, debemos decir que un subreporte no es más que un reporte independiente que es definido y llamado desde dentro de otro reporte. En el diseñador de reportes debemos seleccionar el objeto Subreport y arrastrarlo hasta nuestro reporte.

    Hay dos requerimientos importantes que debemos mencionar acerca de los subreportes:

    1. La estructura del subreporte debe ser por medio de una tabla (diseño en forma de tabla, no se refiere a que los datos deben provenir de una tabla de base de datos).

    2. En el reporte padre solamente se muestra la parte de “Body” del subreporte (el header y footer son ignorados).

    Entonces, manos a la obra. Empecemos por definir nuestro nuevo reporte que va a ser el subreporte que llamaremos del reporte que ya teníamos (¿parece trabalenguas verdad?). Para empezar, crearemos un nuevo reporte al que llamaremos DetalleOrdenes.rdlc y le agregaremos un objeto Tabla de la caja de herramientas (toolbox).

    DetalleOrdenes_Tabla

    Ahora, como hicimos antes, vamos a seleccionar la fuente de datos y utilizaremos la tabla dbo.[Order Details] de la base de datos Northwind. Esto creará un nuevo dataset llamado DataSet2 a donde podremos arrastrar la tabla de la conexión de la base de datos.

    DataSet2

    Arrastramos ahora los campos ProductID, Quantity y UnitPrice a cada uno de los campos en la tabla de la siguiente forma:

    Tabla_Con_Campos

    Para efectos del artículo no entraremos en detalles del formato y lo dejaremos tal y como está. Ahora es necesario definir un parámetro para el reporte, el parámetro nos servirá para mostrar solamente aquellos registros del detalle de la orden que correspondan con la orden misma, una especie de reporte maestro-detalle. La definición la hacemos en el menú Report y seleccionando la opción Report Parameters. El parámetro lo llamaremos NoOrden y será de tipo Integer (no olvide chequear el checkbox de la opción Allow Null Value).

    Report_Parameters

    NoOrden

    Ahora seleccionamos la tabla y vamos a las propiedades de la misma seleccionando el Tab de Filters. Esto nos servirá para hacer el filtro del parámetro y que se seleccionen solo los datos que corresponden a la orden.

    Propiedades_Tabla

    Para la definición del filtro, es necesario indicar que el valor para el campo OrderID debe ser igual al del parámetro NoOrden.

    Filter

    Bien, eso es todo en el subreporte. Ahora regresamos a nuestro reporte principal y hacemos al objeto List un poco más grande para poder ubicar al objeto Subreport dentro de él:

    Subreport

    Ahora debemos configurar nuestro objeto Subreport. Indicaremos primero que utilice el reporte DetalleOrdenes.rdlc que acabamos de crear, para ello entramos a las propiedades del subreport y en el Tab General seleccionamos:

    Subreport_Subreport

    Ahora vamos al Tab Parameters donde le daremos el valor a nuestro parámetro y le decimos que el parámetro NoOrden tomará su valor del campo OrderID:

    Subreport_Parameters

    Ahora, le diremos al objeto List que solamente nos muestre una orden por página, así podremos tener una mejor visión del efecto del subreporte y veremos claramente la información de la orden. Para lograr esto iremos a las propiedades del objeto List y en el Tab General haremos click en el botón “Edit details group”; en la sección Expression seleccionaremos al campo OrderID y luego seleccionaremos la opción “Page break at end”.

    List_PageBreak

    Ahora podemos ejecutar el reporte para ver el resultado de todo lo que hemos hecho:

    Subreport_Error

    La ejecución produce dos resultados, uno esperado, uno inesperado. El resultado esperado es que efectivamente se muestra solamente una orden en cada página. El resultado inesperado es un error al mostrar el subreporte.

    Este error sucede debido a que el modo en que funciona el subreporte. Es necesario indicarle la fuente de datos, como hasta este momento solamente hemos definido la fuente de datos para el reporte padre el subreporte no tiene fuente de datos, entonces es necesario definirla, pero no se define en cualquier lado. Para ello es necesario escribir un poco de código.

    Primero vamos al archivo de CodeBehind de la página default, Default.aspx.cs, y definiremos un método para realizar el procesamiento del evento SubreportProcessing del objeto LocalReport que ya hemos visto antes. Agregamos al inicio del archivo la siguiente directiva:

    using Microsoft.Reporting.WebForms;

     

     

    Y ahora escribimos el método:

    protected static void
            
    LocalReport_SubreportProcessing(object sender,
                                       SubreportProcessingEventArgs e)
    {           

     

     

    }

     

     

    Este método nos servirá como manejador del evento donde diremos que fuente de datos debe usar el subreporte. Observen la estructura, debe ser igual a la mostrada. Ahora indicamos la fuente de datos:

    protected static void 
             
    LocalReport_SubreportProcessing (object sender,
                               SubreportProcessingEventArgs
    e)
    {
      
    ObjectDataSource ObjectDataSource2 = new ObjectDataSource("Report.Part1.DataSet2TableAdapters.Order_DetailsTableAdapter", "GetData");
      
    e.DataSources.Add(new ReportDataSource 
                           ("DataSet2_Order_Details"

                             objectDataSource2));
    }

     

     

    Pero esto no es todo. Hay que indicarle al evento SubreportProcessing del objeto LocalReport que use ese método. Esto lo logramos agregando la siguiente línea de código al final del evento Page_Load:

    ReportViewer1.LocalReport.SubreportProcessing += LocalReport_SubreportProcessing;

    Luego de esto podemos ejecutar nuevamente la aplicación y veremos el siguiente resultado:

    Subreport_final

    Bien, espero les haya gustado y ojalá les sirva mucho para realizar tareas más complejas en sus aplicaciones.

    Hasta la próxima.

    Read more...

  • Construyendo Reportes Para Aplicaciones Web: Parte 2

    Esta es la segunda parte de la serie de artículos dedicada a la construcción de reportes para aplicaciones web. En esta parte vamos a examinar dos aspectos muy importantes en la construcción de reportes. El primero es como “hacer” reportes que se parametrizan por código. El segundo es como enviarle parámetros a los reportes para que puedan filtrar información y mostrar solo lo que nos interesa.

    Read more...

  • Construyendo Reportes Para Aplicaciones Web: Parte 1

    Muchas veces nos encontramos realizando sistemas de información que se dedican a capturar datos pero que también necesitan una manera de procesarlos y mostrarlos. Para esta tarea entran en juego los famosos Reportes que no son más que objetos que entregan información en un formato particular y que permiten realizar ciertas operaciones como imprimirlos, enviarlos por email, guardarlos a un archivo, etc.

    Read more...

  • Free Ebook: How to Become an Exceptional DBA

    You know what it's like to be a DBA. Your skills are in constant demand at work, so how do you set aside time each week to maintain and learn new skills? Brad McGehee, SQL Server expert and Director of DBA Education of Red Gate Software, offers you an Ebook packed with hard-learned advice on how to achieve more during your working hours. Be an Exceptional DBA. Download your free Ebook now.

    You can also get a 14-day trial copy of SQL Backup. Don't miss this opportunity.

    Enjoy!

    Read more...

  • Free Exchange 2007 Ebook

    Simple-Talk is Red Gate's online journal, renowned for providing high quality, practical and accessible technical content designed for those who are professionally involved in software development and who work with Microsoft technologies. Sybex is one of the world's oldest and most respected computer book publishers; their books are used by millions to gain in-depth understanding of the latest computer topics and to prepare for challenging exams.

    For a limited period, this two companies have teamed up to offer you a FREE copy of "Sybex's Best of Exchange Server 2007" e-Book, comprising 10 chapters, and 350 pages of in-depth Exchange knowledge, compiled from five of Wiley's most popular Exchange 2007 books.

    Click on the image below to get your free ebook.

    Enjoy!

    Read more...

  • TechNet Virtual Labs: Aprende experimentando y podrás ganar premios

    En Microsoft TechNet sabemos que es difícil conocer de la tecnología sin experimentarla de primera mano, por eso ponemos a tu disposición los TechNet Virtual Labs. Prueba estos entrenamientos en línea completamente gratuitos y en tiempo real que te permiten evaluar y examinar las tecnologías más nuevas de Microsoft a través de una serie de laboratorios guiados que puedes completar en 90 minutos o menos. Solo selecciona el laboratorio para el producto, tecnología o escenario que te interesa y listo!
    Y ahora, por tiempo limitado, completa los laboratorios indicados sobre Business Desktop Deployment 2007 y podrás ganar excelentes premios. Visita este sitio para más información: Microsoft TechNet Promociones y Concursos

    Read more...

  • The “Manning .NET Daily Drawing” starts tomorrow, June 19

    Tomorrow Manning Publications is launching the ".NET Daily Drawing.”  This promotion will run for one month, from June 19 - July 17. Each day’s lucky winner can choose one free .NET ebook of their choice. And finally, on the last day of the drawing, we're awarding one lucky winner... the entire Manning .NET library (approximately $3000 value)!

    LINQ_NET_promo1

    What are you waiting for? It only takes a minute to register, just follow the link from the banner above and enter your name and email address.

    Good luck to everybody.

    Cheers.

    Read more...

  • Microsoft Research Latin American Academic Summit 2008

    Durante los días del 13 al 16 de mayo tuve la oportunidad de asistir al Latinamerican Academic Summit 2008 en la ciudad de Panamá. Un evento organizado por Microsoft Research donde se exponen temas sobre investigación apoyados por la informática.

    Fue una semana apasionante. La calidad de la gente que estuvo fue realmente impresionante, especialmente porque estuvieron siempre disponibles para intercambiar unas palabras con cualquiera y explicar el trabajo que hacen.

    Tuve la oportunidad de conocer a gente que ni se imaginan. Por ejemplo, sin pensar, conocí a Richard Rashid, Senior Viceprecident de Research. El fue quien, en conjunto con el actual presidente de Panama, Martin Torrijos, diera la bienvenida e inaugurara el evento en la Ciudad del Saber, un complejo dedicado a la investigación y tecnología que se encuentra ubicado frente a las exclusas de Miraflores donde se opera el Canal de Panama.

    Richar Rashid y yo durante el evento de inauguración.

    Otros invitados que fue un gran placer y honor conocer fueron Rico Malvar (Distinguished Engineer and Managing Director, Microsoft Research Redmond) y Sailesh Chutani (Senior Director, External Research & Programs, Microsoft Research).

    Rico Malvar y Sailesh Chutani

    Pero sin lugar a dudas, una de las mejores presentaciones (sino la mejor) estuvo a cargo del Dr. Andy Wilson quien tiene a su cargo la investigación de Microsoft Surface Technologies.

    Dr. Andy Wilson

    Fue una experiencia inolvidable. Pero aún hay mas. Desafortunadamente no pude tomarme una foto con él pero quiero dedicarle un par de líneas a alguien que ustedes ni se imaginan. Un jovencito originario de Guatemala que se encuentra ahora como profesor asistente en la universidad de Carnegie Mellon en Pittsburg PA. Su nombre: Luis von Ahn.

    Luis ha trabajado con diversos proyectos y ahora es profesor en Carnegie Mellon University. Su tesis de doctorado "Human Computation" le ha valido el reconocimiento mundial al extremo de ser uno de los principales investigadores en USA. Entre sus proyectos se encuentra algo que todos hemos usado, los famosos CAPTCHAS; esos cuadritos con letras que hay que llenar cuando uno se registra a algún sitio o para abrir una cuenta de correo. La versión 2 de este proyecto ya es encuentra en funcionamiento y se llama RECAPTCHA. Otros proyectos de investigación de Luis se relacionan con hacer más eficiente el uso de tiempo de Internet, para ello inventó un juego llamado ESP Game, que es un juego donde dos oponentes que nunca se han conocido o visto son seleccionados de forma aleatoria y el objetivo es que cada uno identifique una palabra en común para una imágen que ambos están viendo, pero ninguno puede ver lo que la otra persona está escribiendo. El objetivo del juego es, aunque no lo crean, identificar y marcar con palabras clave las imágenes que están dispersas en Internet, así poder mejorar la búsqueda de imágenes en los motores de búsqueda. Otros proyectos de Luis los pueden ver en esta página gwap.com.

    Otro proyecto muy importante de Microsoft Research es el World Wide Telescope. Un proyecto donde se funden imágenes de todos los observatorios del mundo para crear un "espacio" virtual y poder visitar constelaciones y galaxias; incluso se pueden crear películas sobre estas imágenes. Véanlo, es realmente impresionante.

     A continuación les muestro más fotos del evento. Espero poder asistir al siguiente porque es de verdad muy enriquecedor.

    Saludos.

    Read more...

  • Próxima Reunión del .NET Developer Group Cobán

    Hola a todos.

    Acá está la información de la próxima reunión de la comunidad de desarrolladores de Cobán.

    Heroes {Community} Launch 2008
    Tema: Windows Server 2008 y el Modelo de Dominios
    Fecha: 21-06-2008
    Lugar: Biblioteca del Colegio Verapaz
    Hora: 2:00 - 4:00 pm 

    Los espero.

     

    Read more...