setup.exe no es una aplicación Win32 válida

setup.exe no es una aplicación Win32 válida es 1 error habitual, sobre todo ahora que las máquinas han cambiado a memorias de 4Gb, pero aún muchos seguimos con máquinas de 1Gb.
Básicamente, este error salta cuando en un SO de 32bits intentamos ejecutar aplicaciones de 64bits (o viceversas) y no pueda.
No le sigas dando cabezazos al PC, recomendaría fijarse en ese requerimiento de instalación de la aplicación e intentaría hacerme con una versión apropiada a nuestra máquina.
Para asegurarte de que versión necesita nuestro PC, en Windows por ejemplo, haga clic en "Inicio", haga clic con el botón secundario (el derecho del ratón) en "Mi PC" y,a continuación, haga clic en "Propiedades":
  • Si "Edicion x64" está en la lista Sistema, está ejecutando la versión 64 bits de Windows XP.
  • Si no ve la "Edición x64" en la lista, entonces, seguramente, esté usando la versión de 32 bits.
Esto puede ser bastante importante, por ejemplo, a la hora de actualizar tu SO Windows XP a Windows 7, saber que versión tienes que "comprar/descargar" correctamente.

Todos los datos de un dominio con Whois

Whois te informa de todos los datos que tiene la base de datos sobre la empresa o persona que es dueña de un dominio ( nombre , dirección, e-mail etc...), también la empresa con la que tiene contratado el dominio y su fecha de expiración entre otros muchos datos.

Actualmente hay muchisimas paginas web donde se puede ver si el dominio está libre o si por el contrario está ocupado y quieres ver de quien es para poder contactar con él si te interesa comprarselo.

Por ejemplo http://www.centrored.com/ entre muchas otras, donde podrás buscar el dominio que deseas y si esta ocupado podrás ver su who is?

Cambiar un numero a letras

Si deseas cambiar un número a letras por ejemplo para ponerlo en un cheque aquí lo teneis mediante C#.

Un ejemplo:

String enLetra=NumToText(4320.20) ;
enLetra="Cuatro mil trescientos veinte con veinte";

public
static string NumToText(double value)
{
string enLetras = "";
//Pasar lo que hay en el decimal a entero
double decimales = (Math.Round(value - Math.Truncate(value),2))*100;
value = Math.Truncate(value);
if (value == 0) enLetras = "CERO";
else if (value == 1) enLetras = "UNO";
else if (value == 2) enLetras = "DOS";
else if (value == 3) enLetras = "TRES";
else if (value == 4) enLetras = "CUATRO";
else if (value == 5) enLetras = "CINCO";
else if (value == 6) enLetras = "SEIS";
else if (value == 7) enLetras = "SIETE";
else if (value == 8) enLetras = "OCHO";
else if (value == 9) enLetras = "NUEVE";
else if (value == 10) enLetras = "DIEZ";
else if (value == 11) enLetras = "ONCE";
else if (value == 12) enLetras = "DOCE";
else if (value == 13) enLetras = "TRECE";
else if (value == 14) enLetras = "CATORCE";
else if (value == 15) enLetras = "QUINCE";
else if (value < 20) enLetras = "DIECI" + NumToText(value - 10);
else if (value == 20) enLetras = "VEINTE";
else if (value < 30) enLetras = "VEINTI" + NumToText(value - 20);
else if (value == 30) enLetras = "TREINTA";
else if (value == 40) enLetras = "CUARENTA";
else if (value == 50) enLetras = "CINCUENTA";
else if (value == 60) enLetras = "SESENTA";
else if (value == 70) enLetras = "SETENTA";
else if (value == 80) enLetras = "OCHENTA";
else if (value == 90) enLetras = "NOVENTA";
else if (value < 100) enLetras = NumToText(Math.Truncate(value / 10) * 10) + " Y " + NumToText(value % 10);
else if (value == 100) enLetras = "CIEN";
else if (value < 200) enLetras = "CIENTO " + NumToText(value - 100);
else if ((value == 200) (value == 300) (value == 400) (value == 600) (value == 800)) enLetras = NumToText(Math.Truncate(value / 100)) + "CIENTOS";
else if (value == 500) enLetras = "QUINIENTOS";
else if (value == 700) enLetras = "SETECIENTOS";
else if (value == 900) enLetras = "NOVECIENTOS";
else if (value < 1000) enLetras = NumToText(Math.Truncate(value / 100) * 100) + " " + NumToText(value % 100);
else if (value == 1000) enLetras = "MIL";
else if (value < 2000) enLetras = "MIL " + NumToText(value % 1000);
else if (value < 1000000)
{
enLetras = NumToText(
Math.Truncate(value / 1000)) + " MIL";
if ((value % 1000) > 0) enLetras = enLetras + " " + NumToText(value % 1000);
}
else if (value == 1000000) enLetras = "UN MILLON";
else if (value < 2000000) enLetras = "UN MILLON " + NumToText(value % 1000000);
else if (value < 1000000000000)
{
enLetras = NumToText(
Math.Truncate(value / 1000000)) + " MILLONES ";
if ((value - Math.Truncate(value / 1000000) * 1000000) > 0) enLetras = enLetras + " " + NumToText(value - Math.Truncate(value / 1000000) * 1000000);
}
else if (value == 1000000000000) enLetras = "UN BILLON";
else if (value < 2000000000000) enLetras = "UN BILLON " + NumToText(value - Math.Truncate(value / 1000000000000) * 1000000000000);
else
{
enLetras = NumToText(
Math.Truncate(value / 1000000000000)) + " BILLONES";
if ((value - Math.Truncate(value / 1000000000000) * 1000000000000) > 0) enLetras = enLetras + " " + NumToText(value - Math.Truncate(value / 1000000000000) * 1000000000000);
}
//Si tiene decimales calcular las letras
if (decimales > 0)
enLetras = enLetras + " CON " + NumToText(decimales);
return enLetras;
}


Cambiar de nombre (y crear y borrar)1 fichero de texto.

La finalidad de este post va a ser tener 1 fragmento de código en el que queremos mover el contenido de un fichero a otro, esto luego podrá ser usado por ejemplo para sobreescribir existentes, o lo que sea, a su vez, se verá código de comprobación, que es para crear y/o borrar archivos de texto.
Voy a poner el código directamente y con comentarios explicar paso a paso lo que hago:

using System;
using System.IO;
class Test{
public static void Main()
{
string pathOrigen = @"c:\archivoOrigen.txt";
string pathDestino = @"c:\archivoDestino.txt";
try
{
if (!File.Exists(pathOrigen)) // Aqui comprobamos que el archivo origen existe
{
// sino, pues creamos uno (que estará en blanco) para que no salte 1 excepcion
using (FileStream fs = File.Create(pathOrigen)) {}
}
// Y aqui justo lo contrario, comprobamos que no existe el destino
//y si existe (caso sobreescribir) lo tenemos que borrar
if (File.Exists(pathDestino))
File.Delete(pathDestino);

// Y aqui usamos el metodo "move",
File.Move(path, pathDestino);
MessageBox.Show(pathOrigen + " a sido movido a " + pathDestino);

// Ver si el original aún existe
if (File.Exists(pathOrigen))
{
MessageBox.Show("El archivo original aún existe, caso inexperado");
}
else
{
MessageBox.Show("El archivo original no existe, caso experado");
} }
catch (Exception ex) //Si salta alguna excepción, mostramos la causa de ésta.
{
MessageBox.Show(ex.Message)
} } }

Despues de ejecutar este código se supone que si todo a ido correctamente, el archivo origen abrá desaparecido, y el destino se abrá creado (o sobreescrito) con el contenido del origen.

Tabla en tu base de datos con todos los paises

Aquí teneis la tabla en sql con todas las insert necesarias con todos los paises.

CREATE TABLE pais
(
id varchar(3),
nombre varchar(100) not null,
PRIMARY KEY(id)
)

INSERT INTO pais VALUES (1,'Afganistán');
INSERT INTO pais VALUES (2,'Islas Gland');
INSERT INTO pais VALUES (3,'Albania');
INSERT INTO pais VALUES (4,'Alemania');
INSERT INTO pais VALUES (5,'Andorra');
INSERT INTO pais VALUES (6,'Angola');
INSERT INTO pais VALUES (7,'Anguilla');
INSERT INTO pais VALUES (8,'Antártida');
INSERT INTO pais VALUES (9,'Antigua y Barbuda');
INSERT INTO pais VALUES (10'Antillas Holandesas');
INSERT INTO pais VALUES (11,'Arabia Saudí');
INSERT INTO pais VALUES (12,'Argelia');
INSERT INTO pais VALUES (13,'Argentina');
INSERT INTO pais VALUES (14,'Armenia');
INSERT INTO pais VALUES (15,'Aruba');
INSERT INTO pais VALUES (16,'Australia');
INSERT INTO pais VALUES (17,'Austria');
INSERT INTO pais VALUES (18,'Azerbaiyán');
INSERT INTO pais VALUES (19,'Bahamas');
INSERT INTO pais VALUES (20,'Bahréin');
INSERT INTO pais VALUES (21,'Bangladesh');
INSERT INTO pais VALUES (22,'Barbados');
INSERT INTO pais VALUES (23,'Bielorrusia');
INSERT INTO pais VALUES (24,'Bélgica');
INSERT INTO pais VALUES (25,'Belice');
INSERT INTO pais VALUES (26,'Benin');
INSERT INTO pais VALUES (27,'Bermudas');
INSERT INTO pais VALUES (28,'Bhután');
INSERT INTO pais VALUES (29,'Bolivia');
INSERT INTO pais VALUES (30,'Bosnia y Herzegovina');
INSERT INTO pais VALUES (31,'Botsuana');
INSERT INTO pais VALUES (32,'Isla Bouvet');
INSERT INTO pais VALUES (33,'Brasil');
INSERT INTO pais VALUES (34,'Brunéi');
INSERT INTO pais VALUES (35,'Bulgaria');
INSERT INTO pais VALUES (36,'Burkina Faso');
INSERT INTO pais VALUES (37,'Burundi');
INSERT INTO pais VALUES (38,'Cabo Verde');
INSERT INTO pais VALUES (39,'Islas Caimán');
INSERT INTO pais VALUES (40,'Camboya');
INSERT INTO pais VALUES (41,'Camerún');
INSERT INTO pais VALUES (42,'Canadá');
INSERT INTO pais VALUES (43,'República Centroafricana');
INSERT INTO pais VALUES (44,'Chad');
INSERT INTO pais VALUES (45,'República Checa');
INSERT INTO pais VALUES (46,'Chile');
INSERT INTO pais VALUES (47,'China');
INSERT INTO pais VALUES (48,'Chipre');
INSERT INTO pais VALUES (49,'Isla de Navidad');
INSERT INTO pais VALUES (50,'Ciudad del Vaticano');
INSERT INTO pais VALUES (51,'Islas Cocos');
INSERT INTO pais VALUES (52,'Colombia');
INSERT INTO pais VALUES (53,'Comoras');
INSERT INTO pais VALUES (54,'República Democrática del Congo');
INSERT INTO pais VALUES (55,'Congo');
INSERT INTO pais VALUES (56,'Islas Cook');
INSERT INTO pais VALUES (57,'Corea del Norte');
INSERT INTO pais VALUES (58,'Corea del Sur');
INSERT INTO pais VALUES (59,'Costa de Marfil');
INSERT INTO pais VALUES (60,'Costa Rica');
INSERT INTO pais VALUES (61,'Croacia');
INSERT INTO pais VALUES (62,'Cuba');
INSERT INTO pais VALUES (63,'Dinamarca');
INSERT INTO pais VALUES (64,'Dominica');
INSERT INTO pais VALUES (65,'República Dominicana');
INSERT INTO pais VALUES (66,'Ecuador');
INSERT INTO pais VALUES (67,'Egipto');
INSERT INTO pais VALUES (68,'El Salvador');
INSERT INTO pais VALUES (69,'Emiratos Árabes Unidos');
INSERT INTO pais VALUES (70,'Eritrea');
INSERT INTO pais VALUES (71,'Eslovaquia');
INSERT INTO pais VALUES (72,'Eslovenia');
INSERT INTO pais VALUES (73,'España');
INSERT INTO pais VALUES (74,'Islas ultramarinas de Estados Unidos');
INSERT INTO pais VALUES (75,'Estados Unidos');
INSERT INTO pais VALUES (76,'Estonia');
INSERT INTO pais VALUES (77,'Etiopía');
INSERT INTO pais VALUES (78,'Islas Feroe');
INSERT INTO pais VALUES (79,'Filipinas');
INSERT INTO pais VALUES (80,'Finlandia');
INSERT INTO pais VALUES (81,'Fiyi');
INSERT INTO pais VALUES (82,'Francia');
INSERT INTO pais VALUES (83,'Gabón');
INSERT INTO pais VALUES (84,'Gambia');
INSERT INTO pais VALUES (85,'Georgia');
INSERT INTO pais VALUES (86,'Islas Georgias del Sur y Sandwich del Sur');
INSERT INTO pais VALUES (87,'Ghana');
INSERT INTO pais VALUES (88,'Gibraltar');
INSERT INTO pais VALUES (89,'Granada');
INSERT INTO pais VALUES (90,'Grecia');
INSERT INTO pais VALUES (91,'Groenlandia');
INSERT INTO pais VALUES (92,'Guadalupe');
INSERT INTO pais VALUES (93,'Guam');
INSERT INTO pais VALUES (94,'Guatemala');
INSERT INTO pais VALUES (95,'Guayana Francesa');
INSERT INTO pais VALUES (96,'Guinea');
INSERT INTO pais VALUES (97,'Guinea Ecuatorial');
INSERT INTO pais VALUES (98,'Guinea-Bissau');
INSERT INTO pais VALUES (99,'Guyana');
INSERT INTO pais VALUES (100,'Haití');
INSERT INTO pais VALUES (101,'Islas Heard y McDonald');
INSERT INTO pais VALUES (102,'Honduras');
INSERT INTO pais VALUES (103,'Hong Kong');
INSERT INTO pais VALUES (104,'Hungría');
INSERT INTO pais VALUES (105,'India');
INSERT INTO pais VALUES (106,'Indonesia');
INSERT INTO pais VALUES (107,'Irán');
INSERT INTO pais VALUES (108,'Iraq');
INSERT INTO pais VALUES (109,'Irlanda');
INSERT INTO pais VALUES (110,'Islandia');
INSERT INTO pais VALUES (111,'Israel');
INSERT INTO pais VALUES (112,'Italia');
INSERT INTO pais VALUES (113,'Jamaica');
INSERT INTO pais VALUES (114,'Japón');
INSERT INTO pais VALUES (115,'Jordania');
INSERT INTO pais VALUES (116,'Kazajstán');
INSERT INTO pais VALUES (117,'Kenia');
INSERT INTO pais VALUES (118,'Kirguistán');
INSERT INTO pais VALUES (119,'Kiribati');
INSERT INTO pais VALUES (120,'Kuwait');
INSERT INTO pais VALUES (121,'Laos');
INSERT INTO pais VALUES (122,'Lesotho');
INSERT INTO pais VALUES (123,'Letonia');
INSERT INTO pais VALUES (124,'Líbano');
INSERT INTO pais VALUES (125,'Liberia');
INSERT INTO pais VALUES (126,'Libia');
INSERT INTO pais VALUES (127,'Liechtenstein');
INSERT INTO pais VALUES (128,'Lituania');
INSERT INTO pais VALUES (129,'Luxemburgo');
INSERT INTO pais VALUES (130,'Macao');
INSERT INTO pais VALUES (131,'ARY Macedonia');
INSERT INTO pais VALUES (132,'Madagascar');
INSERT INTO pais VALUES (133,'Malasia');
INSERT INTO pais VALUES (134,'Malawi');
INSERT INTO pais VALUES (135,'Maldivas');
INSERT INTO pais VALUES (136,'Malí');
INSERT INTO pais VALUES (137,'Malta');
INSERT INTO pais VALUES (138,'Islas Malvinas');
INSERT INTO pais VALUES (139,'Islas Marianas del Norte');
INSERT INTO pais VALUES (140,'Marruecos');
INSERT INTO pais VALUES (141,'Islas Marshall');
INSERT INTO pais VALUES (142,'Martinica');
INSERT INTO pais VALUES (143,'Mauricio');
INSERT INTO pais VALUES (144,'Mauritania');
INSERT INTO pais VALUES (145,'Mayotte');
INSERT INTO pais VALUES (146,'México');
INSERT INTO pais VALUES (147,'Micronesia');
INSERT INTO pais VALUES (148,'Moldavia');
INSERT INTO pais VALUES (149,'Mónaco');
INSERT INTO pais VALUES (150,'Mongolia');
INSERT INTO pais VALUES (151,'Montserrat');
INSERT INTO pais VALUES (152,'Mozambique');
INSERT INTO pais VALUES (153,'Myanmar');
INSERT INTO pais VALUES (154,'Namibia');
INSERT INTO pais VALUES (155,'Nauru');
INSERT INTO pais VALUES (156,'Nepal');
INSERT INTO pais VALUES (157,'Nicaragua');
INSERT INTO pais VALUES (158,'Níger');
INSERT INTO pais VALUES (159,'Nigeria');
INSERT INTO pais VALUES (160,'Niue');
INSERT INTO pais VALUES (161,'Isla Norfolk');
INSERT INTO pais VALUES (162,'Noruega');
INSERT INTO pais VALUES (163,'Nueva Caledonia');
INSERT INTO pais VALUES (164,'Nueva Zelanda');
INSERT INTO pais VALUES (165,'Omán');
INSERT INTO pais VALUES (166,'Países Bajos');
INSERT INTO pais VALUES (167,'Pakistán');
INSERT INTO pais VALUES (168,'Palau');
INSERT INTO pais VALUES (169,'Palestina');
INSERT INTO pais VALUES (170,'Panamá');
INSERT INTO pais VALUES (171,'Papúa Nueva Guinea');
INSERT INTO pais VALUES (172,'Paraguay');
INSERT INTO pais VALUES (173,'Perú');
INSERT INTO pais VALUES (174,'Islas Pitcairn');
INSERT INTO pais VALUES (175,'Polinesia Francesa');
INSERT INTO pais VALUES (176,'Polonia');
INSERT INTO pais VALUES (177,'Portugal');
INSERT INTO pais VALUES (178,'Puerto Rico');
INSERT INTO pais VALUES (179,'Qatar');
INSERT INTO pais VALUES (180,'Reino Unido');
INSERT INTO pais VALUES (181,'Reunión');
INSERT INTO pais VALUES (182,'Ruanda');
INSERT INTO pais VALUES (183,'Rumania');
INSERT INTO pais VALUES (184,'Rusia');
INSERT INTO pais VALUES (185,'Sahara Occidental');
INSERT INTO pais VALUES (186,'Islas Salomón');
INSERT INTO pais VALUES (187,'Samoa');
INSERT INTO pais VALUES (188,'Samoa Americana');
INSERT INTO pais VALUES (189,'San Cristóbal y Nevis');
INSERT INTO pais VALUES (190,'San Marino');
INSERT INTO pais VALUES (191,'San Pedro y Miquelón');
INSERT INTO pais VALUES (192,'San Vicente y las Granadinas');
INSERT INTO pais VALUES (193,'Santa Helena');
INSERT INTO pais VALUES (194,'Santa Lucía');
INSERT INTO pais VALUES (195,'Santo Tomé y Príncipe');
INSERT INTO pais VALUES (196,'Senegal');
INSERT INTO pais VALUES (197,'Serbia y Montenegro');
INSERT INTO pais VALUES (198,'Seychelles');
INSERT INTO pais VALUES (199,'Sierra Leona');
INSERT INTO pais VALUES (200,'Singapur');
INSERT INTO pais VALUES (201,'Siria');
INSERT INTO pais VALUES (202,'Somalia');
INSERT INTO pais VALUES (203,'Sri Lanka');
INSERT INTO pais VALUES (204,'Suazilandia');
INSERT INTO pais VALUES (205,'Sudáfrica');
INSERT INTO pais VALUES (206,'Sudán');
INSERT INTO pais VALUES (207,'Suecia');
INSERT INTO pais VALUES (208,'Suiza');
INSERT INTO pais VALUES (209,'Surinam');
INSERT INTO pais VALUES (210,'Svalbard y Jan Mayen');
INSERT INTO pais VALUES (211,'Tailandia');
INSERT INTO pais VALUES (212,'Taiwán');
INSERT INTO pais VALUES (213,'Tanzania');
INSERT INTO pais VALUES (214,'Tayikistán');
INSERT INTO pais VALUES (215,'Territorio Británico del Océano Índico');
INSERT INTO pais VALUES (216,'Territorios Australes Franceses');
INSERT INTO pais VALUES (217,'Timor Oriental');
INSERT INTO pais VALUES (218,'Togo');
INSERT INTO pais VALUES (219,'Tokelau');
INSERT INTO pais VALUES (220,'Tonga');
INSERT INTO pais VALUES (221,'Trinidad y Tobago');
INSERT INTO pais VALUES (222,'Túnez');
INSERT INTO pais VALUES (223,'Islas Turcas y Caicos');
INSERT INTO pais VALUES (224,'Turkmenistán');
INSERT INTO pais VALUES (225,'Turquía');
INSERT INTO pais VALUES (226,'Tuvalu');
INSERT INTO pais VALUES (227,'Ucrania');
INSERT INTO pais VALUES (228,'Uganda');
INSERT INTO pais VALUES (229,'Uruguay');
INSERT INTO pais VALUES (230,'Uzbekistán');
INSERT INTO pais VALUES (231,'Vanuatu');
INSERT INTO pais VALUES (232,'Venezuela');
INSERT INTO pais VALUES (233,'Vietnam');
INSERT INTO pais VALUES (234,'Islas Vírgenes Británicas');
INSERT INTO pais VALUES (235,'Islas Vírgenes de los Estados Unidos');
INSERT INTO pais VALUES (236,'Wallis y Futuna');
INSERT INTO pais VALUES (237,'Yemen');
INSERT INTO pais VALUES (238,'Yibuti');
INSERT INTO pais VALUES (239,'Zambia');
INSERT INTO pais VALUES (240,'Zimbabue');

Funciones con cadenas de carácteres para SQL

Aquí van algunas funciones de gran utilidad para las cadenas de carácteres para SQL.

Eliminar espacios en blanco (TRIM, LTRIM, RTRIM):
  • Tanto al principio como al final de la cadena

SELECT TRIM(' dudasweb ') --> 'dudasweb'

  • Solo al principio de la cadena

SELECT LTRIM(' dudasweb ') --> 'dudasweb '

  • Solo al final de la cadena

SELECT RTRIM(' dudasweb ') --> ' dudasweb'

Tomar una parte de los datos almacenador (Dependiendo del lenguajes (mysql, sql server...) se llama de una forma u otra (SUBSTR(), SUBSTRING())):

  • Si deseas que empiece desde un cáracter de la cadena.

SELECT SUBSTR('dudasweb', 3) --> 'asweb'

  • Si deseas que vaya de un cáracter a otro de la cadena

SELECT SUBSTR('dudasweb',2,4) --> 'dasw'

Concatenar cadenas de carácteres (CONCAT):

SELECT CONCAT('dudas','web') --> dudasweb

SELECT 'dudas' + ' ' + 'web' --> dudasweb

GRAILS. Crear 1 aplicación en 1 minuto.

Con netBeans:

En net Beans, Nuevo project à groovy à Rails Application

Crea un montón de directorios (nosotros usamos 3 simplemente para poner las cosas en marcha, además muchos son carpetas vacías que crea para proyecto más complejos).

Básicamente vamos siguiendo los pasos de esta web y se crea rápidamente.

La BD (se ve en la carpeta DataSource) se reinicia (borra), porque es ‘de memoria’; cuando se hace “run”, cuando ataquemos la nuestra estática, pues no.

Nota:

Cuando creas el controlador con el nombre Book el lo llama BookController, eso es “convención”.

Scaffold à para que le de la cobertura de alta, baja, modificar, si quisiéramos más jamón (posibilidades) ya nos encargaríamos de implementarlo nosotros.

Controladores:

Los que llevan la lógica de la aplicación web.

¿Cómo funciona?

Partimos de petclinic que está por internet (en la página de grails por ejemplo) para descargar.

En siguientes post vamos a modificarlo para orientarlo más a web 2.0.

Introducción a GRAILS 2.

Sería por línea de instrucciones (configurando un montón de cosas), pero con NetBeans está todo apañado, descargamos el .Zip (versión 1.1.1 ahora mismo).

Descomprimir en cualquier sitio, y después desde NetBeans, en Herramientas à Groovy.

Proyecto nuevo à groovy, luego en configurar le damos a donde hemos descomprimido.

Actualización:
Bajar (de download de la página de grails.org la versión de Grails 1.2.M3), que parece que así va mejor las nuevas librerías de yahoo y prototipe, ya que la versión 1.1.1. pareze que está un poco desactualizado respecto al yui (yahoo).

Hacer “upgrade” del proyecto después de actualizar la ruta nueva del groovy (decir ‘y’ a la pregunta que te haga).

Acuerdate de instalar (botón derecho plugins) el grails-ui:

GRAILS plugins à New plugins à grails-ui à install

Todas las versiones tanto beta como estables :

Downloads

Poner en tu web un icono en la barra de direcciones

Es una forma de poner una imagen que identifique y que recuerden los usuarios tu web.

Este icono a parte de salir en la barra de direcciones también saldrá cuando alguna persona te agregue a favoritos.

La imagen debe ser de 16x16 que es lo más recomendando.

El archivo debe ser con la extensión .ico, la puedes guardar por ejemplo con el photoshop aunque os podeis bajar el Gimp que es igual y es gratuito.

Lo único que debeis poner entre <head></head>:

<LINK REL="SHORTCUT ICON" HREF="dudasweb.ico">