Creo que es unos de los video mas ridículo, pero chistosos que he visto (sobre temas informáticos)
viernes, 24 de agosto de 2007
miércoles, 22 de agosto de 2007
¿Eres o crees ser Nerd?
Te has dado cuenta que tus gustos respecto a como pasar tus ratos libres son un tanto distinto al resto (de las masas). Que en vez de ver tele, prefieres leer un libro (no novela), que muchas veces tienes ideas en la cabeza y hasta tropiezas por la calle, ya que andas despistado del medio que te rodea.
Bueno, si tus respuestas fueron mucho "SI!!", o simplemente si quieres ver donde te encuentras parado llego para ti el "Nerd Test" (jajaja).
Acá dejo posteado mi puntaje :D
Bueno, si tus respuestas fueron mucho "SI!!", o simplemente si quieres ver donde te encuentras parado llego para ti el "Nerd Test" (jajaja).
Acá dejo posteado mi puntaje :D

jueves, 5 de julio de 2007
Importando Dll para Hacer tu propio MessageBox
Bueno, hoy tengo mucho sueño, así que esto sera cortito (jejeje)
La idea básica es importar una dll (de c/c++), en este caso especifico, se importara la user32.dll de wintendo, quien se encarga del famoso mensaje de pantalla de Windows.Form (MessageBox). La idea es llamar a la biblioteca y crear nuestro propio MessageBox hispano, o sea, CajaDeMensaje (suena ridículo, pero quizas este ejemplo sencillo y base le pueda servir a alguien mas). (voy a incluir pantallazos [imágenes], para no tener que modificar este html, para que el código se distinga del resto).

Luego, llamamos a la Dll, creando nuestra propia clase, con métodos estáticos, para que se utilice igual que el original (ahí va nuestro wrapper)

Habiendo terminado nuestra clase, solo nos falta usarla. Ahora bien, el ejemplo muestra un botón, donde en el método del evento Click llama a nuestra muy querida clase CajaDeMensaje (la puedes llamar de donde quieras...esto es solo un ejemplo y en ningún momento es restrictivo)

Si se dan cuenta, nuestra clase "CajaDeMensaje" posee un método sobrecargado (Mostrar). Su diferencia es que en el primero (con 1 sólo parámetro) solo se ingresa el mensaje a mostrar, en cambio en el segundo (2 parámetros) ingresas el mensaje a mostrar, mas el título que aparece en la parte superior de tu caja de mensaje
espero que a alguien le sirva...ojalá se me pase el sueño (ya el café no me hace efecto) ZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzz.
La idea básica es importar una dll (de c/c++), en este caso especifico, se importara la user32.dll de wintendo, quien se encarga del famoso mensaje de pantalla de Windows.Form (MessageBox). La idea es llamar a la biblioteca y crear nuestro propio MessageBox hispano, o sea, CajaDeMensaje (suena ridículo, pero quizas este ejemplo sencillo y base le pueda servir a alguien mas). (voy a incluir pantallazos [imágenes], para no tener que modificar este html, para que el código se distinga del resto).

Luego, llamamos a la Dll, creando nuestra propia clase, con métodos estáticos, para que se utilice igual que el original (ahí va nuestro wrapper)

Habiendo terminado nuestra clase, solo nos falta usarla. Ahora bien, el ejemplo muestra un botón, donde en el método del evento Click llama a nuestra muy querida clase CajaDeMensaje (la puedes llamar de donde quieras...esto es solo un ejemplo y en ningún momento es restrictivo)

Si se dan cuenta, nuestra clase "CajaDeMensaje" posee un método sobrecargado (Mostrar). Su diferencia es que en el primero (con 1 sólo parámetro) solo se ingresa el mensaje a mostrar, en cambio en el segundo (2 parámetros) ingresas el mensaje a mostrar, mas el título que aparece en la parte superior de tu caja de mensaje
espero que a alguien le sirva...ojalá se me pase el sueño (ya el café no me hace efecto) ZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzz.
lunes, 25 de junio de 2007
Relajandose las manos con las Propiedades
Quien no a tenido que desarrollar clases donde las propiedades son puros get y set sin mayor lógica que aquello (podría suceder al aplicar un model view presenter)(aunque obviamente suele suceder que debemos validar un valor, para agregarlo de una u otra manera). Pues bien, el caso de que sólo queremos aliviarnos el trabajo de escritura, tanto para ahorro de código, como para que no suframos de tendinitis a tan temprana edad podemos usar las propiedades de esta manera (te recuerda a una interface?):
public class DatosPersonales{
public string Nombre {get;set;}
public string Apellido {get;set;}
public string Direccion {get;set;}
}
luego, para utilizarla:
DatosPersonales misDatos= new DatosPersonales();
misDatos.Nombre="Perico";
misDatos.Apellido="Los Palotes";
misDatos.Direccion="Bajo el Puente s/n";
tataan!!!.
Personalmente, habría preferido la utilización de la palabra property (creo que seria mas listo o en su defecto, agregarla y dejar las 2 opciones...por si alguien solo desea usar un get o un set), como por ejemplo:
property string Nombre;
property string Apellido;
property string Direccion;
Pero bueno, es lo que hay, yo solo lo comento :P
public class DatosPersonales{
public string Nombre {get;set;}
public string Apellido {get;set;}
public string Direccion {get;set;}
}
luego, para utilizarla:
DatosPersonales misDatos= new DatosPersonales();
misDatos.Nombre="Perico";
misDatos.Apellido="Los Palotes";
misDatos.Direccion="Bajo el Puente s/n";
tataan!!!.
Personalmente, habría preferido la utilización de la palabra property (creo que seria mas listo o en su defecto, agregarla y dejar las 2 opciones...por si alguien solo desea usar un get o un set), como por ejemplo:
property string Nombre;
property string Apellido;
property string Direccion;
Pero bueno, es lo que hay, yo solo lo comento :P
Yield en C#
Básicamente, yield te permite poder retornar valores intermedios de una función, mediante la implementación de la Interfaz IEnumerable.
Esto quiere decir que podemos capturar cada iteración que pueda poseer un método, como por ejemplo:
using System;
using System.Collections;
public class Moledor
{
//Por que moledor?, porque toma un string y lo imprime caracter por caracter
public static IEnumerable Moledor(string palabra) {
int count = palabra.Length;
for (int i = 0; i < count; i++) {
yield return palabra[i];
}
}
static void Main()
{
foreach(char c in Moledor("Paralelepipedo")){
Console.WriteLine(c);
}
}
}
Ahora bien, otro ejemplo (que no es mío) es :
using System;
using System.Collections;
public class List
{
public static IEnumerable Power(int number, int exponent)
{
int counter = 0;
int result = 1;
while (counter++ < exponent)
{
result = result * number;
yield return result;
}
}
static void Main()
{
// Display powers of 2 up to the exponent 8:
foreach (int i in Power(2, 8))
{
Console.Write("{0} ", i);
}
}
}
Esto quiere decir: La operación 2^8 (dos elevado a 8) nos daría por resultado 256. Pero que sucede si queremos obtener los valores intermedios también (2^1 , 2^2,...,2^8)...entonces use yield :D nice!!!
Esto quiere decir que podemos capturar cada iteración que pueda poseer un método, como por ejemplo:
using System;
using System.Collections;
public class Moledor
{
//Por que moledor?, porque toma un string y lo imprime caracter por caracter
public static IEnumerable Moledor(string palabra) {
int count = palabra.Length;
for (int i = 0; i < count; i++) {
yield return palabra[i];
}
}
static void Main()
{
foreach(char c in Moledor("Paralelepipedo")){
Console.WriteLine(c);
}
}
}
Ahora bien, otro ejemplo (que no es mío) es :
using System;
using System.Collections;
public class List
{
public static IEnumerable Power(int number, int exponent)
{
int counter = 0;
int result = 1;
while (counter++ < exponent)
{
result = result * number;
yield return result;
}
}
static void Main()
{
// Display powers of 2 up to the exponent 8:
foreach (int i in Power(2, 8))
{
Console.Write("{0} ", i);
}
}
}
Esto quiere decir: La operación 2^8 (dos elevado a 8) nos daría por resultado 256. Pero que sucede si queremos obtener los valores intermedios también (2^1 , 2^2,...,2^8)...entonces use yield :D nice!!!
Establecimiento implícito de tipos en C# 3.0 - No saber que es o tontera?
Buscando información por la red, me encuentro con el "nuevo" tipo de dato soportado por C# 3.0, el conocido "var" (por la gente de javascript).
Pues bien,¿que es var?; var es cualquier tipo de dato para una variable.
¿Un Variant de Visual Basic?; NO y NO. Un Variant no de ser inicializado (puede ser cualquier cosa), en cambio un var si!!! y es ahí donde realmente toma el tipo de dato (como sucede con php. Se puede no asignar el tipo de dato, pero una ver inicializada la variable, esta es del tipo de dato que se asigno).
Ejemplo:
int ñandu;
ñandu=1;
Ahora podemos decir:
var ñandu; <---Wow!!!! ñandú, a parte de ser un animal, de que tipo de dato es?
var ñandu=1; <----ahaha!!! ñandú es 1, osea entero.
Pd: El ejemplo pudo ser con una variable llamada cantidad o contador, la cual es mas autodescriptiva. Quise dejar esté nombre por 2 cosas;
1) Para aquellas personas que no sepan la existencia del ñandú
2) Para demostrar que se puede usar la Ñ (eñe).
Conclusión:
Para mi el aporte de var no es mucho: 4(para flojos?). y para uds que nota posee? (de 1 a 7, siendo 7 la mejor nota).
Luego posteré las nuevas de C# 3.0
Pues bien,¿que es var?; var es cualquier tipo de dato para una variable.
¿Un Variant de Visual Basic?; NO y NO. Un Variant no de ser inicializado (puede ser cualquier cosa), en cambio un var si!!! y es ahí donde realmente toma el tipo de dato (como sucede con php. Se puede no asignar el tipo de dato, pero una ver inicializada la variable, esta es del tipo de dato que se asigno).
Ejemplo:
int ñandu;
ñandu=1;
Ahora podemos decir:
var ñandu; <---Wow!!!! ñandú, a parte de ser un animal, de que tipo de dato es?
var ñandu=1; <----ahaha!!! ñandú es 1, osea entero.
Pd: El ejemplo pudo ser con una variable llamada cantidad o contador, la cual es mas autodescriptiva. Quise dejar esté nombre por 2 cosas;
1) Para aquellas personas que no sepan la existencia del ñandú
2) Para demostrar que se puede usar la Ñ (eñe).
Conclusión:
Para mi el aporte de var no es mucho: 4(para flojos?). y para uds que nota posee? (de 1 a 7, siendo 7 la mejor nota).
Luego posteré las nuevas de C# 3.0
martes, 15 de mayo de 2007
Free as a Bird
Que mejor canción para poder imitar. Luego de tanto stress, peleas en la calle, atropellos, celos, gente histérica, smog, lo único que quiero ser, es libre. Poder hacer volar mi imaginación sin la contaminación de la ciudad.
Mirar las aves volar crean un cierto celo, al querer ser parte de ellas y tener una vida de aire, limpia y pacifica...excelente the beatles.
Mirar las aves volar crean un cierto celo, al querer ser parte de ellas y tener una vida de aire, limpia y pacifica...excelente the beatles.
Suscribirse a:
Entradas (Atom)