Padre nuestro informático

Aquí os dejo uu artículo curios que encontre novegando

PADRE NUESTRO INFORMÁTICO

Gran Procesador que estás en el Server. Indescifrable sea tu password.
Venga a nosotros tu actualización. Hágase tu Update en CD como en
Diskettes. Danos el Boot de cada día y perdona a Bill Gates,
así como nosotros perdonamos a los Developer.
No nos dejes caer en un Loop y líbranos de todo virus. Amén.

Componente swing para visualizar mapas

En busca de algún componente Swing que permita visualizar mapas y sobre todo que tenga el comportamiento esperado (Zoon In, Zoom Out, desplazamiento en todas las direcciones) he encontrado éste sitio Building Maps into Your Swing Application with the JXMapViewer.

JXMapViewer, es un componente Swing (un JPanel especial) con licencia LGPL que permite cargar mapas desde un servidor de imágenes, que se encarga de los detalles, tales como convertir coordenadas a píxeles, caché de “tiles”, etc. Trabaja por defecto con los siguientes servidores de imágenes: NASA’s Blue Marble satellite images y OpenStreetMap.org

La aplicación de ejemplo ha sido desarrollada en NetBeans 6.0, utilizando Java Desktop Application y se despliega utilizando Java Web Start. Les comento que la velocidad de carga es buena.

Tratar cadenas de texto con una Function en Oracle

Función que he creado en Oracle y a la qual pasandole una cadena de texto: “nombre1,nombre2,nombre3”. Nos los devolveria separados y podriamos hacer el insert de forma individual en la base de datos por ejemplo.

El código de la función es este:

function get_token(
the_list in varchar2,
the_index in number,
delim in varchar2 := ‘,’
)
return varchar2
is
start_pos number;
end_pos number;
begin
if the_index = 1 then
start_pos := 1;
else
start_pos := instr(the_list,delim,1,the_index – 1);
if start_pos = 0 then
return null;
else
start_pos := start_pos + length(delim);
end if;
end if;
end_pos := instr(the_list,delim,start_pos,1);
if end_pos = 0 then
return substr(the_list,start_pos);
else
return substr(the_list,start_pos,end_pos – start_pos);
end if;
end get_token;

En la variable delim le decimos si van a estar separadas por comas o porque delimitador. Un ejemplo simple de su uso es este:

v_contador :=1;

while GET_TOKEN(i_motivonovisita,v_contador,v_separador) is not null

LOOP

insert into tb_motivosnovisita (codvalor,foreignkeyfc,descripcion) values
(GET_TOKEN(i_codmotivonovisita,v_contador,v_separador),i_primarykey,
GET_TOKEN(i_motivonovisita,v_contador,v_separador));

v_contador := v_contador+ 1;

END LOOP;

Esto serviria para hacer un insert en una tabla con los registros que nos vendrian separados por “,”

Espero que sirva de ayuda

validar textarea teniendo en cuenta los saltos de línea

//Función per validar la longitud màxima de un textarea teniendo en cuenta los saltos de línia.

function ismaxlength(obj, longitud_ini) {
var alineas;
var nlineas, longitud;
longitud = longitud_ini;
alineas = obj.value.split(“rn”);
nlineas = alineas.length;
if (nlineas > 0) {
//Si hay saltos de línea hay que tenerlos en cuenta en la longitud máxima
longitud = longitud_ini – ((nlineas – 1) * 2);
}
if (obj.value.length > longitud) {
obj.value=obj.value.substring(0,longitud);
alert(msg.TXTA[0] + longitud_ini + msg.TXTA[1] +’n’);
}
}

Hacer un trim en Javascript con Regular expressions

Cómo hacer un trim en javascript de manera “elegante” usando regular expressions:

function trim(s){
s = s.replace(/\s+/gi, ‘ ‘); //sacar espacios repetidos dejando solo uno
s = s.replace(/^\s+|\s+$/gi, ”); //sacar espacios blanco principio y final

return s;
}

Pasos para crear un zip en java sin guardarlo en un directorio temporal

-Crear un ZipOutputStream que referencia el destino. En el ByteArrayOutputStream se guardará el zip temporalmente.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zip = new ZipOutputStream(baos);


-Crear un InputStream (o derivado) que referencia un archivo a agregar al ZIP. En el EmbeddedObject se guarda el archivo que se quiere añadir al zip.
EmbeddedObject obj;
InputStream is = obj.getInputStream();


-Crear una ZipEntry que representa el InputStream. Al ZipEntry se le pasa el nombre como se quiere que se llame el fichero que se añadirá al zip.
zipEntry = new ZipEntry(“12354.xls”);

-Agregar el ZipEntry al ZipOutputStream llamando a su método putNextEntry().
zip.putNextEntry(zipEntry);

-Copiar datos del InputStream al ZipOutputStream (usando un buffer array de bytes para leer desde el InputStream y luego escribirlo en el ZipOutputStream).
byte[] buffer = new byte[2048];
int byteCount;
while (-1 != (byteCount = is.read(buffer))) {
zip.write(buffer, 0, byteCount);
}


-Cerrar la entrada zip actual y el InputStream para escribir la siguiente entrada al ZipOutputStream.
zip.closeEntry();
is.close();

-Al añadir todos los ficheros al zip, cerrar el ZipOutputStream.
zip.close();

Que tal llevas el pulso???

Linerider es un juego que a pesar de su interfaz simple conseguirá engancharnos y estar buenos ratos delante del ordenador. El juego en cuestión consiste en dibujar un circuito por el que va a circular un personaje con un trineo. Este podrá hacer volteretas, ir marcha atrás, saltos, … Parece fácil peró ya vereis que dibujar un circuito con el ratón y que el trineo no se estrelle en un buen rato no és cosa fácil. Os dejo como ejemplo un par de circuitos espectaculares que se encuentran por la red.

Podeís jugar a el en este enlace

Suerte a todos