3ENGINE

Programación y otros cachivaches

Autor: David Miró

Página 22/104

Tecnologia

Ubuntu 12.04: Cómo cambiar la posición de los botones de las ventanas


Por defecto, al instalar Ubuntu 12.04 aparecen los botones a la izquierda. Si deseas cambiar los botones a la derecha, sigue estos pasos:

1. Instala gconf-editor con:

sudo apt-get install gconf-editor

2. Iniciar gconf-editor con: gconf-editor
3. Buscar la ruta: apps/metacity/general
4. Modificar el contenido de close,minimize,maximize: a :minimize,maximize,close




Tecnologia

Delphi: Cómo mostrar en pantalla nombre de un enumerado mediante RTTI


Si por algún motivo, necesitas mostrar en pantalla el nombre de un enumerado. Esto es posible mediante RTTI (Runtime Type Information) y haciendo uso de la UNIT TypInfo

Uses
 TypInfo;

Type
 TMiEnum = ( meAmarillo, meVerde, meRojo);

[....]
ShowMessage('El nombre del enumerado es: '+ GetEnumName(TypeInfo(TMiEnum),
Integer(meVerde)));

Esto mostrará:

  El nombre del enumerado es: meVerde



Tecnologia

Delphi: cómo almacenar contenido como recurso en el propio ejecutable y extraerlo


A veces puede interesar almacenar recursos en el propio ejecutable de Delphi. Ya sean imágenes que la aplicación utiliza o disponer de una hoja de cálculo que el usuario puede abrir desde la propia aplicación o una página HTML para abrirla desde el propio navegador que ofrece Delphi, etc. Además también consigues que al distribuir la aplicación con entregar el ejecutable (exe) ya es suficiente. Aquí te explico cómo hacer todo esto.

almacenar contenido como recurso en el propio ejecutable de delphi

Pasos para almacenar recursos en el propio ejecutable de Delphi:

1. Crear un fichero de texto con extensión .rc , por ejemplo ‘aboutresource.rc’

2. Editar el fichero, especificando para cada recurso y en una linea de texto el nombre del recurso, el formato y la ruta. Ejemplo:

ABOUT HTML "D:\Delphi\miproyecto\about.htm"
FINISH PNG "D:\Delphi\miproyecto\finish.png"
ACERCA_DE GIF "c:\libreria\about.gif"

3. Crear el fichero de recursos desde la línea de comandos con:

  BRCC32 aboutresource.RC

4. Añadir en la Unit que nos interese, la directiva:

  {$R aboutresource.RES}

La siguiente rutina extrae y graba en un fichero el recurso especificado donde le indiquemos:

{$R aboutresource.RES} 
procedure ExtractResource(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
  Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
  Res.SavetoFile(ResNewName);
  Res.Free;
end;

Ejemplo de uso:

 ExtractResource('GIF','ACERCA_DE','c:\miabout.gif');

Recursos:
Web Site inside a Delphi EXE
Run a EXE RESOURCE file … (Read Inside)




Tecnologia

node.js, javascript: función para formatear una fecha


Javascript y por lo tanto node.js no proveen de funciones potentes para formatear una fecha. La siguiente función para formatear una fecha quizá os facilite la vida.

/*
parámetro fstr: %Y - año , %m - mes, %d - día, %H - hora, %M - minuto, %S - segundo
parámetro utc: true, calcula la fecha y hora local
*/Date.prototype.format = function(fstr, utc) {
  var that = this;
  utc = utc ? 'getUTC' : 'get';
  return fstr.replace (/%[YmdHMS]/g, function (m) {
    switch (m) {
    case '%Y': return that[utc + 'FullYear'] ();
    case '%m': m = 1 + that[utc + 'Month'] (); break;
    case '%d': m = that[utc + 'Date'] (); break;
    case '%H': m = that[utc + 'Hours'] (); break;
    case '%M': m = that[utc + 'Minutes'] (); break;
    case '%S': m = that[utc + 'Seconds'] (); break;
    default: return m.slice (1); 
    }    
    return ('0' + m).slice (-2);
  });
};

Demo:

a = new Date();
console.log(a.format ("%Y-%m-%d %H:%M:%S", true) );
console.log(a.format ("%d/%m/%Y %H:%M:%S", true));
console.log(a.format ("%d/%m/%Y %H:%M:%S", false));
console.log(a.format ("%m", true) ); 
console.log(a.format ("%d", true) );
2013-05-22 19:40:27
22/05/2013 19:40:27
22/05/2013 21:40:27
05
22