Archive for July, 2011

Este post me va a servir para recordar algo que olvido con frecuencia cuando programo en PHP, y mira que es sencillo, pero siempre que tengo que trabajar con fechas en PHP y MySQL, me quedo pensando…, ¿y esto como era?, y las soluciones que suelo encontrar por internet o no funcionan, o son de versiones antiguas de PHP que por una razón u otra, no funcionan.

La situación es la siguiente, tengo un campo DateTime en una base de datos MySQL el cual tengo que rellenarlo desde PHP con la hora actual, es decir, la hora en que se llama a la función.

Pues el comando es tan sencillo como esto:

1
2
$fecha = date('Y-m-d H:i:s');
echo $fecha;

Esto nos devolverá la fecha y la hora actual formateada de la forma Y-m-d H:i:s, formato en el cual trabaja DateTime de MySQL.

Dejo el enlace hacia la función Date de PHP.

Comments No Comments »

La verdad es que la curva de aprendizaje, al menos para mí, de C# está siendo bastante rápida, más que nada por el conocimiento que tengo sobre JAVA ya que, como he dicho otras veces, sus semejanzas en su sintaxis son impresionantes.

A continuación voy a describir como se estructuran los bucles for, while y do-while en C#, aunque os avanzo de que son idénticos a JAVA.

Bucle FOR.

1
2
3
4
for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("Linea numero {0}", i);
            }

 

Bucle WHILE.

1
2
3
4
5
6
int i = 0;
            while(i<10)
            {
                Console.WriteLine("Linea numero {0}", i);
                i++;
            }

Bucle DO-WHILE.

1
2
3
4
5
6
int i = 0;
            do
            {
                Console.WriteLine("Linea numero {0}", i);
                i++;
            } while (i < 10);

La sentencia condicional IF en C# es como detallo a continuación.

 

1
2
3
4
5
6
7
8
if (a == 0)
            {
                /*Se ejecuta si la condición se cumple*/
            }
            else
            {
                /*Se ejecuta si la condición principal NO se cumple*/
            }

 

Operadores lógicos.

== igual qué
!= distinto de
> Mayor qué
<>= Mayor o igual
! No

Comments No Comments »

Ahora que estoy aprendiendo a programar en C#, es buena idea ir probando que tal es mono en linux y si es verdad que un código portado de Windows a Linux no es compatible al 100%.

Como todo el mundo sabrá, .NET es una plataforma creada y desarrollada por Microsoft por y para Windows, por lo que portarlo a otras plataformas se antoja algo complicado o arduo.

Con este post lo único que haré será explicar como se deja a punto Fedora 15 para desarrollar en C# o el pseudónimo creado con mono.

Lo primero que tendremos que hacer será instalar la plataforma mono para lo cual, una vez que tengamos permiso de super usuario, introduciremos el siguiente comando.

yum install mono-basic

Una vez que tengamos instalada la plataforma, necesitaremos una IDE y para ello instalaremos la propia del proyecto mono, o lo que es lo mismo, Mono Develop.

yum install monodevelop

Y con todo esto, ya tenemos lo que queríamos.

Comments 1 Comment »

Hoy, es un día triste, para mí y mi familia. Se nos ha ido nuestro Darky, mi gran amigo, mi perrito.

Nunca podré llegar a agradecerte todas las horas que has pasado junto a mí en estos últimos 10 años, y parece que fue ayer cuando, a los dos meses de haber nacido, te quedabas enganchado en la alfombra de Rota.

Gracias por estar conmigo todas y cada una de las noches que he pasado estudiando en mi cuarto, gracias por tu compañía, por aquellas veces que te metías entre mis piernas y apoyabas tu cabeza en la impresora.

Gracias por devolverme la mirada cada vez que me sentía perdido, y gracias por venir a buscarme cuando estaba mal.

Como dice mi padre, has sido un perro único, bueno y noble, tanto, que hasta en tu último aliento lo único que supiste hacer fue devolver una mirada cariñosa a las personas que te querían. Tú ya sabías que tu tiempo se estaba agotando y a modo de despedida, moviste el rabo y miraste a quienes te querían, aquellos que siempre estuvieron a tu lado.

Si por algo te tengo que pedir perdón, es por no haber estado a tu lado en el momento de tu adios, pero quiero que sepas, que siempre te llevaré en mi corazón y nunca te olvidaré, tú no te mereces que te olviden.

Has dado una amistad, cariño, ternura, etc., que pocas personas son capaces de dar, y si se suele decir que el perro es el mejor amigo del hombre, yo puedo decir que tú fuiste mi mejor amigo.

Nunca te olvidaremos Darky y que sepas que, por muchos años que pasen, seguirás a mi lado cada vez que me siente en el ordenador, seguirás pidiendome comida cada vez que me siente a comer, seguirás pidiendome que te saque a pasear y cuando estemos en el paseo, te tenga que desenredar la correa porque te has metido por detrás de los bancos, seguirás acostándote a mis pies en invierno cuando ponga la estufa, para aliviarnos el frío, y en definitiva, siempre seguirás en lo más profundo de mi corazón.

Va por mi querido amigo todas las lagrimas que llevo soltadas durante este día, y va por su memoria, este pequeño post en mi blog, aunque su recuerdo sea inmenso en mí corazón.

Y como te dije esta mañana antes de irme a coger el tren, mientras te acariciaba la cabeza…, hasta luego gordo, y pórtate bien 🙂

Hasta siempre amigo mío.

DESCANSA EN PAZ, DARKY

NUNCA TE OLVIDAREMOS

Comments No Comments »


Warning: file_get_contents(https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails&id=Pqz64pjzApo&key=1): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /homepages/33/d217631465/htdocs/wordpress/wp-content/plugins/youtube-embed/includes/api-access.php on line 99

Tras un año con una sola asignatura, al fín, terminé mi carrera…, que seis años Dios mío.

Podría escribir mil y una cosas que he vivido durante estos años, miles de recuerdos, compañeros, mi novia (Laura!!! ^^), programas que no compilaban, codeblocks que te decían “hay un error y miles de warnings”, y por más que mirábamos entre todos, ninguno encontrábamos el error. O aquellas mañanas con caras de dormidos, o aquellas tardes-noches en clase pensando en serranitos y ensaladillas…, o descubrir que nuestros profesores eran mejores jugadores de fútbol que nosotros

Aunque nada lo resume mejor que esto…

Si puedes mantener la cabeza sobre los hombros
cuando otros la pierden y te cargan su culpa,
Si confías en ti mismo aún cuando todos de ti dudan,
pero aún así tomas en cuenta sus dudas;
Si puedes esperar sin que te canse la espera,
o soportar calumnias sin pagar con la misma moneda,
o ser odiado sin dar cabida al odio,
y ni ensalzas tu juicio ni ostentas tu bondad:
Si puedes soñar y no hacer de tus sueños tu guía;
Si puedes pensar sin hacer de tus pensamientos tu meta;
Si Triunfo y Derrota se cruzan en tu camino
y tratas de igual manera a ambos impostores,
Si puedes tolerar que los bribones,
tergiversen la verdad que has expresado
y que sea trampa de necios en boca de malvados,
o ver en ruinas la obra de tu vida,
y agacharte a forjarla con útiles mellados:

Si puedes hacer un montón con todas tus victorias
Si puedes arrojarlas al capricho del azar,
y perder, y remontarte de nuevo a tus comienzos
sin que salga de tus labios una queja;
Si logras que tus nervios y el corazón sean tu fiel compañero
y resistir aunque tus fuerzas se vean menguadas
con la única ayuda de la voluntad que dice: “¡Adelante!”

Si ante la multitud das a la virtud abrigo,
Si aún marchando con reyes guardas tu sencillez,
Si no pueden herirte ni amigos ni enemigos,
Si todos te reclaman y ninguno te precisa;
Si puedes rellenar un implacable minuto
con sesenta segundos de combate bravío,
tuya es la Tierra y sus codiciados frutos,
Y, lo que es más, ¡serás un Hombre, hijo mío!

Poema “If” de Rudyard Kipling

…y hasta ahora, dando guerra, como siempre…

Comments 1 Comment »

Cuantos quebraderos de cabeza ha llegado a dar el paso de parámetros por referencia a los estudiantes de C.

Aquel elemento conocido como puntero que hacía que la asistencia a clase se dividiese por dos, y esto son palabras textuales del profesor que tuve en primero de carrera…, lo gracioso de todo es que fue verdad.

El paso de parámetros por valor en C# la verdad es que es algo muy sencillo.

Cuando pasamos un parámetro por valor, este tendrá un valor antes de la llamada del método, dentro del método será modificado (en realidad, el compilador realiza una copia del dato original y se modifica esta copia) y tras la ejecución, el parámetro tendrá su valor original.

Lo más sencillo es velor con un ejemplo.

Programa principal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace ConsoleApplication1
 {
 class Program
 {
 static void Main(string[] args)
 {
 int num = 0;
 Console.WriteLine("Antes del metodo: {0}",num);
 Class1 clase = new Class1();
 clase.metodo(num);
 Console.WriteLine("Despues del metodo: {0}", num);
 string a = Console.ReadLine();
 }
 }
 }

Clase.

1
2
3
4
5
6
7
8
9
10
11
namespace ConsoleApplication1
{
 class Class1
 {
 public void metodo(int num)
 {
 num = num + 5;
 Console.WriteLine("Dentro del metodo: {0}", num);
 }
 }
}

Como podemos observar, en el programa principal declaramos una variable entera, la cual pasamos a un método que la modifica y, finalmente, obtenemos el siguiente resultado.


El paso de datos por referencia en C# es tan fácil como poner out o ref delante del parámetros que estemos utilizando. De esta forma, a diferencia del método anterior, las modificaciones se hacen sobre el mismo valor original que tenemos en memoria.

La diferencia entre ref y out es que, el valor que pasemos con ref debe ser inicializado antes de mandarlo al método, con out, el dato puede pasarse sin inicializar no tomando el cuenta el valor original del dato y actuando como si dicho dato no estuviese inicializado.

Programa principal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace ConsoleApplication1
{
 class Program
 {
 static void Main(string[] args)
 {
 int num = 0;
 Console.WriteLine("Antes del metodo: {0}",num);
 Class1 clase = new Class1();
 clase.metodo(ref num);
 Console.WriteLine("Despues del metodo: {0}", num);
 string a = Console.ReadLine();
 }
 }
}

Clase:

1
2
3
4
5
6
7
8
9
10
11
namespace ConsoleApplication1
{
 class Class1
 {
 public void metodo(ref int num)
 {
 num = num + 5;
 Console.WriteLine("Dentro del metodo: {0}", num);
 }
 }
}

Resultado:

Como ya se ha comentado, podemos utilizar out con variables no inicializadas. Como es lógico, si intentamos trabajar con dicha variable sin haberle asignado ningún valor, el compilador arrojará un error. Dicha asignación debe hacerse antes de que el método que lo llama retorne, si no, ¿que significado tendría?.

Al ser el paso de parámetro por referencia, una vez terminada la ejecución del método, la variable original tendrá el valor que se le haya asignado dentro de la función.

Comments 2 Comments »

   Beat diabetes   Diabetes diet