domingo, 28 de junio de 2009

Abraza a un programador

La vida de un programador y todo lo que sufren en este conmovedor video se ve todo lo que un programador tiene que pasar pobres hay que hacer una fundacion para protegerlos.


Saludos!!

El orgullo de ser desarrollador

Hoy andaba googleando por ahi y me encontre con este increible articulo que habla mucho de lo que siento y de lo que es para mi ser un desarrollador

Es un articulo de Adam Barr y se llama "El orgullo de ser desarrollador" y pueden verlo en el siguiente link

http://msdn.microsoft.com/es-mx/magazine/cc163418.aspx

jueves, 25 de junio de 2009

Web User Control Star Rating

Hola otra vez mis lectores hoy me encontre con otro desafio al momento de desarrollar pero encontre algo bastante util como la utilizacion de un Web User Control para esto desarrolle un Rating Control como los que se llegan a ver en la mayoria de paginas para calificar algo ya sea un video una foto o lo que quieran

Les dejo el codigo espero les sirva y si pueden ayudarme a hacerlo mas facil ya saben que son bien recibidos los comentarios

Del lado del ascx



Del lado del cs

using System;
using System.Text;
using System.Data;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Concurso_ControlStarRating : System.Web.UI.UserControl
{
public int iNumeroEstrellas = 10;
public int iValorActual = 0;
protected void Page_Load(object sender, EventArgs e)
{
SetRanking();
if (!Page.IsPostBack)
{
RellenaEstrellas();
}
}

private void RellenaEstrellas()

{

DataTable dt = new DataTable();

DataColumn dc = new DataColumn("fcValor");

dt.Columns.Add(dc);

ArrayList arValores = new ArrayList();

for (int iNumeroItems = 0; iNumeroItems < iNumeroEstrellas; iNumeroItems++)

{

arValores.Clear();

arValores.Add((iNumeroItems + 1).ToString());

dt.Rows.Add(arValores);

}

dlStarList.DataSource = dt;

dlStarList.DataBind();

}

protected void dlStarList_ItemDataBound(object sender, DataListItemEventArgs e)

{

Image image = (Image)e.Item.FindControl("imgRating");

if (image != null)

{

iValorActual = iValorActual + 1;

image.ImageUrl = "~/Images/EstrellaVacia.gif";

image.ToolTip = iValorActual.ToString();

image.Attributes.Add("onMouseover ", "ShowSelectedStart('" + image.ToolTip + "','" + iNumeroEstrellas.ToString() + "','" + image.ClientID + "');");

image.Attributes.Add("onMouseout ", "ShowUnSelectedStart('" + iNumeroEstrellas.ToString() + "','" + image.ClientID + "','" + hfEstrellaSeleccionada.ClientID + "');");

image.Attributes.Add("onClick ", "SetRating('" + image.ToolTip + "','" + iNumeroEstrellas.ToString() + "','" + image.ClientID + "','" + hfEstrellaSeleccionada.ClientID + "');");

}

}

private void SetRanking()

{

TextBox txt = new TextBox();

StringBuilder sb = new StringBuilder();

sb.AppendLine("<script language=\"javascript\" type=\"text/javascript\">");

sb.AppendLine("function SetRating(iCalificacion,iMaxValue,imgEstrella,oCajaTexto)");

sb.AppendLine("{");

sb.AppendLine(" var txtValor=document.getElementById(oCajaTexto);");

sb.AppendLine(" txtValor.value=iCalificacion");

sb.AppendLine(" var iEstrellaSeleccionada = 0;");

sb.AppendLine(" var sEstrella;");

sb.AppendLine(" var imgSeleccionada;");

sb.AppendLine(" for(iEstrellaSeleccionada = 0; iEstrellaSeleccionada<iMaxValue; iEstrellaSeleccionada++)");

sb.AppendLine(" {");

sb.AppendLine(" sEstrella = imgEstrella.substring(0,(imgEstrella.length-12));");

sb.AppendLine(" sEstrella = sEstrella +padLeft(iEstrellaSeleccionada.toString(),'0',2)+ '_imgRating';");

sb.AppendLine(" imgSeleccionada =document.getElementById(sEstrella);");

sb.AppendLine(" imgSeleccionada.src='../Images/EstrellaVacia.gif';");

sb.AppendLine(" }");

sb.AppendLine(" for(iEstrellaSeleccionada = 0; iEstrellaSeleccionada<iCalificacion; iEstrellaSeleccionada++)");

sb.AppendLine(" {");

sb.AppendLine(" sEstrella = imgEstrella.substring(0,(imgEstrella.length-12));");

sb.AppendLine(" sEstrella = sEstrella +padLeft(iEstrellaSeleccionada.toString(),'0',2)+ '_imgRating';");

sb.AppendLine(" imgSeleccionada =document.getElementById(sEstrella);");

sb.AppendLine(" imgSeleccionada.src='../Images/EstrellaSeleccionada.gif';");

sb.AppendLine(" }");

sb.AppendLine("}");

sb.AppendLine("function ShowSelectedStart(iCalificacion,iMaxValue,imgEstrella)");

sb.AppendLine("{");

sb.AppendLine(" var iEstrellaSeleccionada = 0;");

sb.AppendLine(" var sEstrella;");

sb.AppendLine(" var imgSeleccionada;");

sb.AppendLine(" for(iEstrellaSeleccionada = 0; iEstrellaSeleccionada<iMaxValue; iEstrellaSeleccionada++)");

sb.AppendLine(" {");

sb.AppendLine(" sEstrella = imgEstrella.substring(0,(imgEstrella.length-12));");

sb.AppendLine(" sEstrella = sEstrella +padLeft(iEstrellaSeleccionada.toString(),'0',2)+ '_imgRating';");

sb.AppendLine(" imgSeleccionada =document.getElementById(sEstrella);");

sb.AppendLine(" imgSeleccionada.src='../Images/EstrellaVacia.gif';");

sb.AppendLine(" }");

sb.AppendLine(" for(iEstrellaSeleccionada = 0; iEstrellaSeleccionada<iCalificacion; iEstrellaSeleccionada++)");

sb.AppendLine(" {");

sb.AppendLine(" sEstrella = imgEstrella.substring(0,(imgEstrella.length-12));");

sb.AppendLine(" sEstrella = sEstrella +padLeft(iEstrellaSeleccionada.toString(),'0',2)+ '_imgRating';");

sb.AppendLine(" imgSeleccionada =document.getElementById(sEstrella);");

sb.AppendLine(" imgSeleccionada.src='../Images/EstrellaSeleccionada.gif';");

sb.AppendLine(" }");

sb.AppendLine("}");

sb.AppendLine("function ShowUnSelectedStart(iCalificacion,imgEstrella,oCajaTexto)");

sb.AppendLine("{");

sb.AppendLine(" var txtValor=document.getElementById(oCajaTexto);");

sb.AppendLine(" var iEstrellaSeleccionada = 0;");

sb.AppendLine(" var sEstrella;");

sb.AppendLine(" var imgSeleccionada;");

sb.AppendLine(" for(iEstrellaSeleccionada = 0; iEstrellaSeleccionada<iCalificacion; iEstrellaSeleccionada++)");

sb.AppendLine(" {");

sb.AppendLine(" sEstrella = imgEstrella.substring(0,(imgEstrella.length-12));");

sb.AppendLine(" sEstrella = sEstrella +padLeft(iEstrellaSeleccionada.toString(),'0',2)+ '_imgRating';");

sb.AppendLine(" imgSeleccionada =document.getElementById(sEstrella);");

sb.AppendLine(" imgSeleccionada.src='../Images/EstrellaVacia.gif';");

sb.AppendLine(" }");

sb.AppendLine(" for(iEstrellaSeleccionada = 0; iEstrellaSeleccionada<txtValor.value; iEstrellaSeleccionada++)");

sb.AppendLine(" {");

sb.AppendLine(" sEstrella = imgEstrella.substring(0,(imgEstrella.length-12));");

sb.AppendLine(" sEstrella = sEstrella +padLeft(iEstrellaSeleccionada.toString(),'0',2)+ '_imgRating';");

sb.AppendLine(" imgSeleccionada =document.getElementById(sEstrella);");

sb.AppendLine(" imgSeleccionada.src='../Images/EstrellaSeleccionada.gif';");

sb.AppendLine(" }");

sb.AppendLine("}");

sb.AppendLine("function padLeft(str, pad, count) ");

sb.AppendLine("{");

sb.AppendLine(" while(str.length<count)");

sb.AppendLine(" {");

sb.AppendLine(" str=pad+str;");

sb.AppendLine(" }");

sb.AppendLine(" return str;");

sb.AppendLine("}");

sb.AppendLine("</script>");

Page.RegisterClientScriptBlock("SetRating", sb.ToString());

}

A comprar la XBOX 360!!

Hoy buscando nuevas cosas de la Xbox 360 me encontre con el proyecto NATAL que al parecer saldra a la luz para el 2010 a mi punto de vista augura mucho y seria un buen punto a tomar en cuenta al momento de decidir que consola comprar y la verdad si no son fanaticos seria bueno que vieran este video




Saludos

jueves, 11 de junio de 2009

Obtener el tamaño de una tabla en SQL Server

Hoy en el trabajo tratando de ver el crecimiento de la Base de Datos me encontre con la pregunta de ¿que tamaño tendra cada tabla? y encontre un Procedimiento Almacenado en SQL Server que te lo dice, pero no lo iba a hacer tabla por tabla asi que decidi crear una consulta

Espero les sirva

  
SET NOCOUNT ON;
DECLARE
@fiMaxFilas INT,
@fiRenglonActual INT,
@fcComando VARCHAR(120)

SET @fiRenglonActual = 1

DECLARE @AllTables TABLE
(
fiIndice INT NOT NULL PRIMARY KEY,
fcNombreTabla VARCHAR(100) NOT NULL
)

INSERT INTO @AllTables
SELECT ROW_NUMBER() OVER(ORDER BY name) AS fiIndice,
name
FROM sysobjects
WHERE type = 'U'

SELECT @fiMaxFilas = MAX(fiIndice) FROM @AllTables

WHILE (@fiRenglonActual <= @fiMaxFilas )
BEGIN

SELECT @fcComando = 'sp_spaceused '+ fcNombreTabla FROM @AllTables WHERE fiIndice = @fiRenglonActual
EXECUTE (@fcComando)

SET @fiRenglonActual = @fiRenglonActual+1

END