martes, 30 de septiembre de 2008

Comandos de linux en Windows

Hace un tiempo buscando y buscando encontre un conjunto de
commandos(aplicaciones) linux para windows. llamada UnxUtils
son bastantes comandos los que tiene, Aqui aparace la lista de
comandos migrados http://en.wikipedia.org/wiki/UnxUtils

Desde http://unxutils.sourceforge.net/ lo pueden descargar

para mi fue muy util como para usar los comandos :
- tail (http://es.wikipedia.org/wiki/Tail)
- wget
- ls
- etc.

Para instalar solo tienen que descomprimirlo, eh instalarlo y copiar
todo en \windows\system32 o en X Directorio y cambiar las variables de
entorno(path) de windows-

--
Atte.
Víctor Hugo Saavedra P.
http://vhspiceros.blogspot.com

lunes, 29 de septiembre de 2008

Programando en C. Parte II

El sabado tuve clases de C. en el ramo de programacion, y tengo que hacer un trabajo como mi segunda catedra.

me encontre con la complicacion que no sabia como validar si un numero que me ingresaban por pantalla era un numero.

lo solucione de esta forma, aunque me imagino que debe haber mejores formas de hacerlo

defini esta function

int myisDigit(char cadena[]){
int i;
char letra;
for (i=0;i < strlen(cadena);i++){
letra=cadena[i];
if (letra<47 || letra>58){
return 0;
}
}
return 1;

}

y despues la llamo para validar, en este caso es una edad.

char edad[20];
do{
do{
fflush(stdin);gets(edad);
}while (myisDigit(edad)==0);
per.edad = atoi(edad);
printf ("%d",per.edad);
}while ((per.edad<0)>100));


como podran darse cuenta edad es un char de 20, y per.edad es un int.

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

viernes, 26 de septiembre de 2008

String.format

String.Format
Una Forma elegante de concatenear String y algo mas.

Por lo general en visual Basic hacia algo por el estilo
Dim nombre as "victor"
Dim foo as string = "hola mi nombre es " + nombre + "."

el resultado de esto es: Hola mi nombre es Victor.

se bastente feo verdad.
mejor usar String.format, se ve mas bonito y es mas mantenible
string nombre = "Victor";
string foo = string.Format("hole mi nombre es",nombre);

el resultado de esto es: Hola mi nombre es Victor


String.format recibe multiples argumentos, algo parecido a printf de C.

No tan solo sirve para concatenar, si no que tambien para dar formatos a fechas y numeros.

por ejemplo:
string.format("Hoy es {0:F}", DateTime.Now);


Aqui les dejo una referencia.



--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

Que hora es?


miércoles, 17 de septiembre de 2008

buscar columnas en todas las tablas Sql Server

me vi en la necesidad de buscar en todas las tablas de una base de datos por un comodin ya que no conocia bien el modelo de la base de datos.
aqui les dejo el sql.
SELECT  sysobjects.name AS table_name, syscolumns.name AS column_name,
           systypes.name AS datatype, syscolumns.LENGTH AS LENGTH
FROM       sysobjects INNER JOIN
               syscolumns ON sysobjects.id = syscolumns.id INNER JOIN
               systypes ON syscolumns.xtype = systypes.xtype
WHERE     (sysobjects.xtype = 'U') 
                and (UPPER(syscolumns.name) like upper('%myFieldName%'))
ORDER BY sysobjects.name, syscolumns.colid



Solo tienen que cambiar donde dice "myFieldName" por el nombre de la columna que desean buscar.

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

viernes, 5 de septiembre de 2008

Chistes Fomes

Como muchos ya saben soy muy fome, para dejar constancia de esto aqui dejos algunos chiste que me se y que encontre por ahi, y parto con el mejor de todos, jejejejeje :)


Un hombre llega a pedir trabajo en una ferretería,
el administrador le dice:

OK, le puedo dar el empleo pero si usted habla inglés.
Claro, yo hablo inglés.
Demuéstrelo y atienda a ese cliente que está entrando.

Cliente: ¿Hay ampolletas?

Solicitante: Welcome mister Polletas, I'm Jorge.

__________________________________________________________
Kellogs está triste
¿Por qué Kellogs está triste?
Porque Choco Crispy.

¿Cómo te diste cuenta?
Por zu caritas.
__________________________________________________________

iban 2 chanchitos caminando por la calle
y pasan por al frente de una carniceria y leen en un cartel
"hoydia dia del Cerdo" y los chanchitos se abrazan.....

__________________________________________________________
un dia iba un niñito que se llamaba pastel,
cruzando la calle lo atropellaron..
quedó la crema...

__________________________________________________________
Que le dijo un perro a otro perro???
- nada por que los perros no hablan.

__________________________________________________________

Llega Jose a la casa de su suegro.. y le dice.. hola... mi nombre es Jose,
soy paraguayo y vengo para casarme con su hija.. el suegro le dice enojado y
sorprendido.. !!!PARA QUE!!!!???.. y Jose le dice.. : Paraguayo... Plop.!!!




--
Atte.
Victor Hugo Saavedra

miércoles, 3 de septiembre de 2008

Agregar Javascript desde un masterPage (Ruta Relativa)

Cual les la dificaltad de esto.
basicamente son las rutas. ya que si una pagina ucupa un masterPage, la ruta es de la pagina no del master page, es decir podemos tener n paginas que cuelgan del mismo masterPage sin importar la ruta en la que se encuentrar.

Primero, en nuestra clase de nuestro masterPage debemos incluir un atribito publico.

public string urlStript = string.Empty;


Luego en el page load buscamos la url, real donde se encuentre, cosa de que nos encuentre la ruta relativa del recurso.

urlStript = ResolveClientUrl("~/Resources/scripts/urlStript .js");


Y por ultimo simplemente incluimos en el aspx(master page) el script.
<script language="javascript" type="text/javascript" src="<%# urlStript  %>"></script>
La principal ventaje de esto, es que solo tenemos que el incluir nuestros js solo una vez, o una vez por masterPage que tengamos.


CSS:
para los Css el tratamiento es muy distinto uno solo agrega en el head(siempre y cuando uno le diga el head runat="server") el automaticamente va a buscar el recurso de la siguiente forma:


<head runat="server">
<title>myPage</title>
<link href="~/Resources/styles/estilos.css" rel="stylesheet" type="text/css" />
</head>


esto solo funciona para <link> css no para javascript no se por que.

--
Atte.
Victor Hugo Saavedra

doblandole un poco la mano a los updatePanel

como muchos ya saben yo uso mochikit (me acomoda bastante).

tuve que hacer un un javascript para cuando carga la pagina. aumentar el tamaño de un iframe, todo bien hasta ahi:

addLoadEvent(function(){
try{
var alto = parent.parent.window._altoContent;
alert(alto);
alto = alto -20;
$("myFrame").style.height = alto+"px";
}catch(e){
logError(e);
}
});


addLoadEvent: viene de mochikit, esto ejecuta las instrucciones cuando todo el contenido de la pagina ha sigo cargado.

como dije hace un rato todo bien, la cosa es que se estaba usando un menu que contenia un updatePanel y el iframe estaba dentro de este updatePanel.

Aqui dejo un script como script de como intersectar una llamada y termino de una llamada de un updatePanel:

 Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
function beginRequestHandle(sender, Args)
{
alert("Begin Request Handle called.");
}
function endRequestHandle(sender, Args)
{
for(m in Args.get_response())
{
if((m.indexOf("get_") == 0)&&(m!="get_object"))
{
alert(m + ": " + eval("Args.get_response()." + m + "()"));
}
}

alert("End Request Handle called.");
}



Aqui esta el script general, ustedes ven que funcion o instrucciones javascript deberian usar.

Ojala les sirva
--
Atte.
Victor Hugo Saavedra

martes, 2 de septiembre de 2008

Google Chrome nuevo navegador y de Google

Hoy se lanzo Oficialmente google Chrome, yo lo instale y me di cuenta de las siguientes cosas interesantes:

  • webkit integrado, los usuarios de mac ya lo conoces, es algo asi como firebug de firefox.
  • deseño mas bien minimalista pero bastante intuitivo
  • y rapidisimo todo funciona bastante rapido por lo mejos javascript.
de Aqui lo pueden descargar http://www.google.com/chrome