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">

Introducción a GRAILS

Instalar GRAILS:

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).

Descargar desde la página oficial.

Es algo así cómo el punto intermedio entre RubyOnRails y Java.

Ruby on Rails _RoR

Ruby: lenguaje de programación orientado a objetos (mucho más completo en cuanto a diseño, de métodos, que Java).

Rails: se basa en seguir “convenciones” para ahorrar mucho código y tiempo.

GRAILS:

Desarrollo fácil (y rápida cuando aprendéis la filosofía y os es familiar) de aplicaciones pequeñas o medianas.

Juego de palabras con grial (grail).

La “G” porque se parece (basa) en Groovy (lenguaje de scripting, hace todo lo que hace Java (la sintaxis es casi igual) y además le añade cosas como la clausula (“findAllByLastName”, esto es de groovy) al entorno de desarrollo, trabaja con una máquina virtual de Java para ponerlo todo en marcha.

Rails (obvio).

En Java necesitas saber cómo funcionan todas las tecnologías y como engancharlas y con Grails tienes las ventajas básicas de Java pero imitando las ventajas de RoR también.

Grails es más fácil de enganchar con Java que con RoR y con sus ventajas.

Todo tiene plugins, por si es ampliamente es demandado.

No están orientados a la web 2.0 (dan pantallazos).


Validar mail con expresion regular.

Vamos a ver 1 método para validar, mediante una expresión regular una dirección de correo electrónico, la expresión en sí, es una rápida puesta de ejemplo, que funciona bien, pero por internet se pueden encontrar muchas más, desde algunas que no van, hasta incluso algunas más optimas, esto es un ejemplo para una solución rápida o de iniciativa a usar E.R.

Primero de todo, hay que añadir en la cabecera de las librerías la siguiente para poder usar los objetos y métodos específicos de las clases regulares:

using System.Text.RegularExpressions;

Este es el método en si, se le pasa una cadena de texto por parámetro, y devuelve en un booleano true, si cumple con la expresión o false en caso contrario.

private static bool validarEmail(string email)
{
bool salida = false;
//expresion regular
string expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
if (Regex.IsMatch(email, expresion) && (Regex.Replace(email, expresion, String.Empty).Length == 0))
salida = true;
return salida;
}

Ahora ya, cuando queramos comprobar si una cadena por ejemplo "jamon", es un mail válido, haremos
validarEmail("jamon"), y esto nos devolverá "false" obviamente.

Saber el posición que tiene tu web entre todas

Con la web http://www.alexa.com/ podrás saber cual es la posición que abarca tu web en el mundo y en tu pais, de esta forma sabrás si vas mejorandola o no, viendo asiduamente los cambios de posición de tu web en el ranking.

A parte de eso Alexa te da a conocer muchos datos, como la mejora de tu porcentaje de visitas, los enlaces que apunta a tu web, las palabras más utilizadas para entrar a tu web o desde que paises entran más, entre muchas más cosas.

Es un complemente que te puede ayudar a mejorar la promoción de tu web en Internet.

Mirar este artículo para tener todas las estadísticas de tu web Google Analytic