24 noviembre 2010

Primer apunte sobre fotografía: ¿cómo arreglar una foto que está borrosa?



Es fácil:
1º Abres la imagen con el Photoshop y luego la guardas con formato PSD.
2º. Luego se duplica la capa, y en el menú de capas, donde pone Modo de fusión eliges entre "Luz fuerte" o "Luz suave"si hay tonos de piel.
3º. Después ve al menú Filtros, Otros, Paso alto, y le pones un valor de 2,5.

Este consejo lo leí aqui, asique no fue idea mia.

01 noviembre 2010

¿Para qué sirve la función TOP en SQL Server 2005?



En el trabajo me mandaron hacer una vista (utilizando SQL Server 2005) y sin que yo escribiera nada que incitase a la aplicación a escribir TOP 100 PORCENT, el editor la escribia, y aún yo borrándola, volvía a ponerla. Preegunté a mis compañeros y estos me dijeron que buscase en Google, y así hice. Entonces encontré este enlace: Que es el TOP 100 PERCENT de SQL Server. Y ahí descubrí que TOP 100 PORCENT es una nueva funcionalidad que nos visualiza un porcentaje de columnas que cumplan la condición solicitada. Obviamente 100 nos visualizará todas, y 50 la mitad.


La sintaxis de la función TOP es:
SELECT TOP limite_de_filas FROM MyTable.
En este caso, con TOP hemos limitado a un número exacto el limite de filas que queremos que sean devueltas.

SELECT TOP limite_de_filas PERCENT * FROM MyTabla
En este caso, ya usando PERCENT, limitamos al el número de filas con un porcentaje como limite.

Lo malo es que ORDER BY y TOP son ligeramente incompatibles porque al combinar con PORCENT. Y para que su funcionamiento sea positivo uno tiene que hacer cosas como esta:

SELECT * FROM (SELECT TOP 99 PERCENT * FROM T ORDER BY col1) AS A


Para profundizar más vayan al enlace que meniono arriba.

09 octubre 2010

Probables soluciones para arreglar los puertos USB

Mi amigo Salva tiene en su casa un ordenador al que no le marchan los puertos USB, detectando a veces un dispositivo conectado, y otras no.

Aquí os dejo posibles solucione que hayé en esta web:
No me funcionan los puertos USB... AYUDA, DESESPERACIÓN!!! - :

1. Probaremos a actuaizar los controladores. Ve a administrador de dispositivos y busca controladores de bus serie universal (USB). Te saldrá un asistente que te buscará e instalará los drivers.

2. También tienes un solucionador de problemas ahí. ve a
Panel de control-rendimiento y mantenimiento-herramientas administrativas-administracion de equipos y administrador de dispositivos.

3. En última instancia puedes desinstalar e instalar (el conrolador) y quizas así entren en funcionamiento.



Salu2

26 septiembre 2010

En C#: Gestor de directorios

Basandome en En C#: Cómo montar un navegador en un TreeView ( 2º versión) hice los apaños necesarios para que ahora me sacara los subdirectorios del direwctorio raiz llamado Documentos y ubicado dentro de la carpeta Debug del proyecto. Algo que se hace así:
Application.StartupPath + "\\Documentos";
Si, y es esa barra, y no esta /. Aviso porque luego la piciamos confundiendonos con Linux.


Las diferencias enrtre un proyecto y otro son:


1. Ahora cargo el contenido de una carpeta, sus subdirectorios. Utilizando como nodo-raiz uno que tenga por ruta la ruta-inicial, que vale la concatenación de Application.StartupPath más el nombre del directorio raiz. Para el nombre del nodo-raiz, poodemos usar la \tipica o el nombre de la carpeta contanedora. Anteriormente, en la segunda versión, usabamos una función que cargaba los drivers, ahora no, ahora cargamos los subdirectorios. Así:

public void Inicio2()

{
//lo primero, cargsr el contenido de la carpeta raiz
rutaInicial = Application.StartupPath + "\\Documentos";

DirectoryInfo dirInf = new DirectoryInfo(rutaInicial);
try
{
foreach (DirectoryInfo subdir in dirInf.GetDirectories())
{
//de cada directorio se obtiene el nombre y el fullname y se convierte a nodo. El nodo se agrega al principal
SuperTreeNode nodo = new SuperTreeNode();
nodo.Text = subdir.Name;
nodo.Ruta = subdir.FullName;
NodoRaiz.Nodes.Add(nodo);
StateLblInformacion.Text = "";
}
}
catch (Exception ex)
{
//en la barra de estado uestro los errores q se pueden gnerar (falta de derechos o unidad no lista)
StateLblInformacion.Text = ex.Message;

}
}

2. La otra diferencia importante, no es nada del otro mundo: deshabilitar el botón que permite suprimir un directorio y la opción del menú contextual. Y esto se hace en el evento AfterSelect del control TreeView. Así:

if (NodoSeleccionado.Ruta.CompareTo(NodoRaiz.Ruta) == 0)
BtnBorrarDirectorio.Enabled = false;
else
BtnBorrarDirectorio.Enabled = true;
MenuItemBorrarDirectorio.Enabled = BtnBorrarDirectorio.Enabled;



Saludos.

19 septiembre 2010

Cómo quitar del Windows la seguridad UAC


Cinco secillos pasos para deshacernos de las pesadas preguntas que Windows nos hace para evitar posibles cagadas:

1º. Vamos a Panel de control.
2º Cuentas de usuario.
3º Clicamo en Activar o desactivar el control de cuentas del usuario-.
4. Wala! Desactivamos la casilla de Usar el control de cuentas de usuario (UAC) para ayudar a proteger el equipo.
5º Tras esto, al pulsar el botón Aceptar nos preguntará si queremos reiniciar ahora o más tarde. Tras el reincio el Windows Vista, o 7, porque para sendos es igual, no será tan protector.


El dibujo lo saqué de esta web.

Saludos.

08 septiembre 2010

Reparar el acceso a internet en un Windows Vista

Tuve que arreglarle el ordenador a una amiga porque no tenía acceso a nternet usando su Windows Vista. Entonces busqué en Google y localicé esta web. En ella su propietario, mil gracias, nos indica que vayamos al Simbolo del sistema (ir a administración), y antes de abrirlo para meter comando, clicar sobre el icono con el botón derecho para abrirlo como Ejecutar como Administrador. Después, ya dentro, tecleen netsh winsock reset. Tras la ejecución del programa, deberás reiniciar el ordenador. Y walá! Funciona! Y sin rezar a dios.

Esta averia pudo suceder si se coló un virus. Con lo cual tras el reinicio, pase su anivirus para limpiar su pc de troyanos, gusanos y demás guarradas.

Cuando ejecutamos el comando netsh winsock reset, este limpia y resetea al estado de configuración por defecto, elimina todos los LSP (Layered Service Providers) previamente instalados, incluyendo el potencial LSP causante del mal funcionamiento para la conexión de red o internet.

Saludos y gracias al autor del blog, Gabriel Carpio por su aportación.


ANEXO ¿Qué es un Layered Service Provider (LSP)?: Layered Service Provider (LSP) es una característica de Microsoft Windows Winsock 2 Service Provider Interface (SPI).Layered Service Provider es una DLL que usa Winsock API para insertarse en la pila de TCP/IP. Una vez en la pila, un Layered Service Provider puede insertar y modificar entradas y salidas de tráfico de Internet. Esto pemite procesar todo el tráfico TCP/IP que tiene lugar entre la Internet y aplicaciones que están accesando Internet (tales como un navegador web, un cliente de correo electrónico, etc).

Sacado de la Wikipedia.

05 septiembre 2010

Consejos de Rodrigo para futuro código con ASP, JavaScript, C Sharp, componentes Devexpress y no recuerdo qué más

El viernes el colega de trabajo Rodrigo se pasó buen rato ayudandome a resolver un código sencillo, pero repleto de errores por mi novatez.

Primero, el código javascript se tiene que separar de los archivos aspx porque así se gana limpieza. Estos nuevos archivos se llamarán como los aspx pero con extensión js. Y serán incluidos en los archivos form. De esta manera, siendo esto un ejemlo:

Y ojito con qué nombre ponen a ClientInstanceName, porque en los .js, a las variables de los asp, se las conoce por ese nombre. Se sugiere que el ID de un control y el clientinstancename sean el mismo.

Segundo, javascript es C. Sin enbargo, como en nuestro caso usamos herramientas DevExpress, tendremos que usar los métodos de estas herramientas. Para saber cuales son, pues vamos a la ayuda, y allí tecleamos el nombre del control.

Tercero, ah! Ojo, ojito... No podemos usar un visible común. Sino, que tenemos que usar un clientVisible. Porque la tenemos que visualizar o dejar de hacerlo, de lado del cliente, y no del lado del servidor. En tonces si usamos Visible, nos va a fallar.

Consejo, no vayan de listos, y... Otra cosa, observen si el navegdor seleccionado no dibuja una señal de advertencia.. Porque si lo hace, en el código tienen un error, aunque no se haya detectado en el depurador.

Otros consejos, pero de diseño: usen tablas, y siempre con el mismo número de columnas. Y otra cosa. Uff, no paro. Utilicen y reutilicen UserForm, porque así les va a cundir más.


Saludos.

23 agosto 2010

Traducir componentes DevExpress


Estaba de los nervios esta mañana por no poder lograr este objetivo: traducir los componentes DevExpress del inglés al castellano, cuando mi supervisor a las 12.30 ha acudido a recatarme. Le he explicado qué quería hacer y me ha llamado melón (en su argot: tonto). Al momento ha cogido el mouse y se ha puesto a teclear en google y ha encontrado cómo hacerlo. Yo flipaba pensando qué del modo que él lo estaba haciendo se ahorraban muchos calentamientos de cabeza, a la par, que quedaba más profesional. Pero no logré quedarme muy bien con la coplilla, así que ahora, a las 16.51, me puse a buscar la soluciónj en google. No sé si será la misma.

Encontré esto, escrito en C sharp:
1. Añadir dos lineas para especificar el idioma en el proyecto (form_load):
// Necesario para traducir los componentes a Español
/*1º linea*/
System.Threading.Thread.CurrentThread.CurrentCulture =
new System.Globalization.CultureInfo("es-ES");
/*2º linea*/
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("es");
2. Añadir la carpeta con los resources en la raíz del proyecto. Esta carpeta la puedes conseguir en el sitio oficial de DevExpress, donde deberás seleccionar el idioma deseado y tu versión de DevExpress.

Los pasos los he copiado literalmente de http://www.joselite.com/traducir-componentes-devexpress. Al que pido perdón si molesto. Y doy gracias por su ayuda.

21 julio 2010

El proyecto Bouncy Castle

¡Genial, en el curso deel DNIe a se habla de programción!

La imagen promociona el proyecto Bouncy Castle, que ya se puede descargar en su web oficial, de software libre que desarrolla una serie de librerías criptográficas libres y, entre otros, ofrece un provider para el JCE de Java.

Además del código del proyecto se puede encontrar una extensa documentación así como diversos ejemplos de uso de las librerías.

Además de la implementación de un provider JCE para usar en Java también contiene otras utilidades que pueden ser de interés a la hora de hacer una aplicación basada en el DNI electrónico, especialmente si se quieren implementar servicios de valor añadido. Las más relevantes son:

  • Librería para leer y escribir objetos codificados en ASN.1
  • API para comunicaciones TLS de cliente
  • Generador de Certificados X.509, CRLs y ficheros PKCS#12
  • Generación de Certificados de Atributos
  • Generación y procesado de objetos S/MIME y CMS (PKCS#7/RFC 3852)
  • Generación y procesado de consultas OCSP (RFC 2560)
  • Generación y procesado de sellos de tiempo TSP (RFC 3161)
  • Generación y procesado de objetos OpenPGP (RFC 2440).


Señores, no dispongo de tiempo por l momento, aí pes, dejo este tema a mitad, para abordr cuando sepa más.

SALUDOS :P


______________________

A continuación se muestra un ejemplo de aplicación realizada en Java usando los servicios criptográficos del provider Bouncy Castle en lugar del provider por defecto que viene en el sistema.

La aplicación en cuestión realiza el Hash (resumen criptográfico) de un fichero de texto en claro.

EJEMPLO de código:

/* Cargar "provider" */

Security.addProvider(new BouncyCastleProvider());

/* Crear función resumen, SHA-1 en el ejemplo */

MessageDigest messageDigest = MessageDigest.getInstance("SHA");

/* Leer fichero de 1k en 1k y resumir*/

byte[] buffer = new byte[1000];

FileInputStream in = new FileInputStream();

int leidos = in.read(buffer, 0, 1000);

while (leidos != -1)

{

// Pasa texto claro a la función resumen

messageDigest.update(buffer);

leidos = in.read(buffer, 0, 1000);

}

in.close();

// Completar el resumen

byte[] resumen = messageDigest.digest();

// Mostrar resumen

System.out.println("RESUMEN:");

mostrarBytes(resumen);

System.out.println();

03 julio 2010

Utilidades del Sistema



No se mucho de ella. No obstante para entrar a las Utilidades del Sistema, hay que ir a Inicio, Ejecutar... y tras esto tecleear msconfig. El cmando nos abre esta ventana:


Lo poco que sé es que se puede deshabilitar el antivirus así como otros programas. También se puede seleccionar el modo de inicio, configurar el SYSTEM.INI, WIN.INI, BOOT.INI, Servicios e Inicio.

Puñetero mensaje de error del sistema: "exception processing message c0000a3 parameters"


Ayer me topé con este mensaje de error:

Previamente al combate con este mensaje, provocado por un virus, iremos akl Editor de Registro. Para hacerlo:

A. SILENCIAR EL MENSAJE DE ERROR:

Ponemos en el menú Ejecutar la intrucción Regedit, así:

Al ejecutarlo nos aparecerá una ventana como esta, y deberemos navegar hasta HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows:

Cuandio lleguemos, iremos a la sección de la derecha. Escogeremos donde pone ErrorMode y cklicaremos para modificar el valor. Pondremos 1 en lugar de 0. Esto hace que se dejen de mostrar los mensajes de error. ¿Para qué? Para así poder pasar a destruir la causa de este error de memoria conforme viene a continuación explicado.



B. MATANZA DEL VIRUS:

Para cepillarnos el error hay que arrancar en modo seguro y ha
cer un análisis completo del pc, pasando el antivirus actualizado, antiespía como spybot, limpieza de registro con regseek u otro, desfragmentar el disco y terminar con un scandisk completo.
El scandisk, que se encuentra en propiedades del disco C: en herramientas , reparar errores, lo marcas y reinicia el pc.

Si continua igual debemos hacer una restauración del sistema a un día donde todo funcionaba, en accesorios, herramientas del sistema restaurar el sistema.
Que no se puede restaurar el sistema habrá que reparar el sistema con la consola de recuperación o reinstalar el sistema.



C. VOLVER A PERMITIR LA VISUALIZACIÓN DE ERRORES:


Francamete es el mejor paso, porque unok lo hace sabiendo que todo su pc ya está sano. Para ello, hay que hacer lo mismo que en el A, salvo porque aquí hay que poner 0 al ErrorMode.



Que tengan Suerte.....



Para confeccionar este manual me basé en las webs:
GRACIAS.

02 julio 2010

¿Cómo analizar y desfragmentar un disco de Windows XP?



Esta guía paso a paso describe cómo realizar el mantenimiento en volúmenes de disco en equipos basados en Windows XP. Analizar y la desfragmentar los discos sirve para mantener el rendimiento y el funcionamiento general del sistema.

Analizar y desfragmentar volúmenes

Dado que la desfragmentación de un disco puede llevar bastante tiempo (dependiendo del tamaño del volumen, el número de archivos, el porcentaje de fragmentación y la disponibilidad de los recursos del sistema), es recomendable analizar los volúmenes antes de desfragmentarlos para decidir si vale la pena o no ejecutar el proceso desfragmentación.

Analizar un volumen

Para comprobar si existen archivos o carpetas fragmentados en un volumen:
  1. Haga clic en Inicio, seleccione Todos los programas, Accesorios, Herramientas del sistema y, a continuación, haga clic en Desfragmentador de disco.
  2. Haga clic en el volumen que desea analizar.
  3. Haga clic en Analizar para empezar el análisis.
  4. Revise los resultados del análisis después de que éste se haya completado; para ello, haga clic en Presentar informes. Si la herramienta de análisis recomienda desfragmentar el volumen, siga los pasos descritos en la sección siguiente.

Desfragmentar un volumen

  1. Si la herramienta Desfragmentador de disco no se está ejecutando ya, haga clic en Inicio, elija Todos los programas, Accesorios, Herramientas del sistema,y después, haga clic en Desfragmentador de disco.
  2. Seleccione el volumen que desea desfragmentar.
  3. Haga clic en Desfragmentar para iniciar la operación.
  4. Revise el progreso de la operación en la ventana Visualización de la desfragmentación. Los archivos de disco fragmentados se muestran en rojo, los archivos contiguos en azul y los archivos del sistema en verde. El objetivo consiste en eliminar la mayor parte del color rojo de la ventana.

Errores

Aunque cualquier usuario puede tener acceso a la herramienta Desfragmentador de disco, para poder analizar o desfragmentar un volumen, se requieren privilegios de administrador. Para realizar la desfragmentación, debe iniciar sesión como administrador o como miembro del grupo local Administradores.


NOTA: La guia la he tomado del Soporte de Microsoft. Gracias

19 junio 2010

"Hazlo como quieras, total, lo va a usar un mono"





Dicen que la innformática es difícil, pero lo complejo es hacer una aplicación sencilla, casi para zopencos. Para nosotros, los sufridos desarrolladores, va dedicada esta actualización.

1 abrazo.......

03 junio 2010

Pantalla completa "sin marco" en VirtualBox


VMWare si cuenta con una opción que dispone a pantalla completa la ventana sobre la que se carga el s.o. virtual. Pero con VirtualBox nos tenemos que calentar un poquillo la cabeza porque originalmente al elegir pantalla completa nos va a salir una ventana "con un marco een negro", y como esto es una capullada, nos vamos a retorcer un poco la cabeza pensando cómo quitar el marco, que en el VMWare no salia. Pues bien, según leí en un foro esto se arregla subiendo la resolución a 800 x 600 del s.o. virtual que corremos en el momento.




Saludetes.

02 junio 2010

¿Cómo recuperar archivos borrados de la papelera de reciclaje?



La información que aquí escribo la tomé de http://www.ayudadigital.com/Manuales_informatica/recuperar_archivos_borrados.htm a los que doy las gracias. Espero que no se sientan molestos por esta copia de su manual, pues si me agregué sus conocimientos fue para tenerlos más a mano por si surgiese la necesidad de rescatarla en el trabajo.

Cuando borramos un archivo y lo eliminamos de la papelera de reciclaje , no borramos fisicamente el archivo, lo unico que hacemos es que el archivo desaparezca de la lista de programas o archivos de Windows, pero dicho archivo continua alli en nuestro disco duro hasta que escribimos nueva información encima de ellos. Si este proceso de escritura aún no ha ocurrido todavia estamos a tiempo de recuperarlos.


Para recuperar archivos borrados de la papelera de reciclaje es buenisimo este programa: Restoration 2.5.14 que no es necesario instalar y es gratuito. Para obtenerlo pulsar aqui. Al ejecutar el programa se nos crea una carpeta como la que veis a continuación

Al abrir esta carpeta nos encontraremos los siguientes archivos:



Tenemos que pinchar sobre Restoration en esta carpeta y se nos abre la siguiente ventana



Si recuerdas el nombre del fichero borrado o una parte de él, lo escribes en la casilla All or part of the file si deseas incluir los fragmentos o clusters ocupados por ficheros que han escrito encima marca la casilla Include used cluster. Para recuperar el archivo incluso aunque tenga un tamaño de 0 bits , activa la casilla Include even . Por último, pulsa el botón Search Deleted Files y obtendras los archivos borrados que cumplan esas condiciones.



Si tenemos la suerte de encontrarlos, podemos recuparlos pulsando el icono Restore by copying.

En ocasiones es posible que no recordemos los nombres de los ficheros eliminados, en este caso no queda otra solución que hacer un barrido de la unidad para recuperar cualquier informacion coherente. Para ello entramos en el menu Others y marcamos sobre Scan all clusters. Los archivos recuperados podremos devolverlos a su ubicación original con el mencionado boton Restore by Copying.


Saludetes.


23 mayo 2010

Ideas para proyectos propios (I) y (II)


Utilizando C sharp haré una aplicación que transfiera archivos de un teléfono móvil a un ordenador a través de bluetooth y viceversa.

Y luego, haré otra para realizar copias de seguridad de la agenda del teléfono a una base de datos dl ordenador. Así mismo esta copia podrá ser exportada al télefono.

Estos dos links me servirán de algo:

Transferring files and monitoring Bluetooth ports in C#

Scanning for bluetooth devices

Importante libreria: http://www.desarrollomobile.net/devmob/BluetoothLibrary/tabid/54/Default.aspx

A ver cuánto tardo.

10 mayo 2010

Cómo hacer práctico un Pen drive para que se puedan guarrdar archivos "grandes"

Es fácil.

1. Vamos a las propiedades de MI PC (pinchando con el botón derecho).
2. Tras esto clicamos en Administrador de dispositivos.
3. Seleccionamos Unidades de Almacenamiento, pinchamos sobre USB.
4. Luego, nos salen sus propiedades, y de ahí escogemos Directivas. Entonces de las dos opciones OPTIMIZAR PARA RENDIMIENTO es la buena.
5. Aceptamos.
6. Fotmateamos el pen drive.

Y listo.

02 mayo 2010

En C#: Cómo montar un navegador en un TreeView ( 2º versión)

Para desarrollar esta segunda versión, que sustituye, mejorando a "Más código en C#: Cómo montar un navegador en un TreeView", cree una clase. La llamé "SuperTreeNode" y hereda todo de la clase "TreeNode" perteneciente a System.Windows.Forms.

Código de la clase SuperTreeNode:

class SuperTreeNode:TreeNode //los dos puntos preceden a la clase superior
{
private string ruta;

public SuperTreeNode()
: base()
{
this.ruta = "";
}
public SuperTreeNode(string ruta)
: base()
{
this.ruta = ruta;
}
public SuperTreeNode(string texto, string ruta):base(texto)
{
this.ruta = ruta;
}
public string Ruta
{
get { return ruta; }
set { ruta = value; }
}

}



El código de la clase donde se realizan las funciones relativas a la carga de los directorios, en esta versión, se cargan cuando se procede a utilizarlos, resolviendo asi el problemas con la memoria RAM, que antes se veia afectada.

Código de la clase del formulario principal, donde uso System.IO;:

public partial class Form1 : Form
{
SuperTreeNode NodoRaiz;

public Form1()
{
InitializeComponent();
NodoRaiz = new SuperTreeNode();

NodoRaiz.ImageIndex = 0;
NodoRaiz.Text = "MI PC"; //doy un texto al nodo primario

TreeVArboleda.Nodes.Add(NodoRaiz); //el nodoprimario lo agrego al arbol
}

private void Form1_Load(object sender, EventArgs e)
{

Inicio();

TreeVArboleda.ExpandAll();
}

public void Inicio()
{
//lo primero, sacar las unidades.
DriveInfo[] drivers = DriveInfo.GetDrives();//se obtienen todos los drivers
foreach (DriveInfo driver in drivers)
{
try
{
//de cada driver se obtiene el nombre y el fullname y se convierte a nodo. El nodo se agrega al principal
SuperTreeNode nodo = new SuperTreeNode();
nodo.Text = driver.Name; //nombre
nodo.Ruta = driver.RootDirectory.FullName; //ruta

NodoRaiz.Nodes.Add(nodo);

StateLblInformacion.Text ="";

}
catch (Exception ex)
{
StateLblInformacion.Text = ex.Message;
}
}

}

private void TreeVArboleda_AfterSelect(object sender, TreeViewEventArgs e)
{
SuperTreeNode nodo = (SuperTreeNode)e.Node;

TxtRutaActual.Text = nodo.Ruta; //obtengo la ruta seleccionada

try
{
//obtengo el contenido (subdirectorios) del directorio de la ruta
DirectoryInfo unDirectorio = new DirectoryInfo(TxtRutaActual.Text);

DirectoryInfo[] subdirectorios = unDirectorio.GetDirectories();
nodo.Nodes.Clear();

foreach (DirectoryInfo directorios in subdirectorios)
{
try
{
//por cada subdirectorio cro un nodo llamado hijo al que anclo al nodo creado al principio
SuperTreeNode hijo = new SuperTreeNode(directorios.Name, directorios.FullName);

nodo.Nodes.Add(hijo);

StateLblInformacion.Text = "";

}
catch (Exception ex2)
{

StateLblInformacion.Text = ex2.Message;
}
}
}
catch (Exception ex)
{
StateLblInformacion.Text = ex.Message;
}


}
}
}

Saludos.

17 abril 2010

Cómo en C# obtener el tamaaño de un directorio

Esta misma función la escribí en el post anterior, pero creo necesario volverla a escribir porque puede ser útil al márgen de la otra utilidad que le dí.

private long ObtenerPesoDirectorioEnBytes(DirectoryInfo d)
{

long pesoDir = 0;

try
{

// Totalizar tamaño de archivos

FileInfo[] fis = d.GetFiles();

foreach (FileInfo fi in fis)
{

pesoDir += fi.Length;

}

// Totalizar tamaño sub-directorios

DirectoryInfo[] dis = d.GetDirectories();

foreach (DirectoryInfo di in dis)
{

pesoDir += ObtenerPesoDirectorioEnBytes(di);

}

}

catch (Exception exp)
{

// Código para la excepción va aquí

}

return pesoDir;

}


Por su puesto, gracias a quién colgó por internet este código, del que yo no he cambiado nada.

Saludos

Más código en C#: Cómo montar un navegador en un TreeView

Para implementar este código utilicé una clase, que llamé ExploradorLocal. Para su programación he usado clase IO y Windows.Forms, donde la primera se usa para el manejo de archivos y directorios. Y la otra sirve para manipular TreeView y TreeNode, clases que usaremos para el árbol, donde la segunda, es obviamente la que crea nodos dependientes del árbol.

Esta clase cuenta cobn un objeto ArrayList que es Contenedor y que contiene el contenido del directorio. También trabajo con la clase ContenidoDirectorio, la cual tiene como variables nombre, tipo, ultima fecha de acceso y peso. Las tres primeras del tipo string, y la cuarta long. En el ArrayList se meterá cada componente conforme se vaya leyendo el contenido del directorio, y esto sucede enla tercera de la funciones (métodos si usamos la nomenclatura de POO).

La primera función, ExtraerEstructuraUnidades() , devuelve un objeto TreeView, donde ya se "cargaron" todas las ramificacones del arbol. Esta función se ocupa de encontrar las unidades (drivers).

public TreeView ExtraerEstructuraUnidades()
{
/*Extrae las unidades*/
try
{

oTree.Nodes.Clear();


DriveInfo[] TodosLosDrivers = DriveInfo.GetDrives();
foreach (DriveInfo driver in TodosLosDrivers)
{
TreeNode node = new TreeNode();

node.Text = driver.Name;
oTree.Nodes.Add(node);
ExtraerEstructuraDirectorios(driver.Name, node, 0);
}
}
catch (Exception ex)
{
ex.ToString();
}
return oTree;
}

La siguiente, que es recursiva tiene por finalidad, extraer los directorios que cuelgan de la ruta especificada. Superior es el nodo superior, y nivel es una variable que hace de tope, impidiendo el bucle infinito.

private void ExtraerEstructuraDirectorios(string ruta, TreeNode superior, int nivel)
{
/*Extrae el contenido de cada unidad (solo directorios)*/
try
{
nivel++;
if (nivel == 4)
return;
DirectoryInfo dir = new DirectoryInfo(ruta);
if (!dir.Exists)
Console.WriteLine("No se puede acceder a: " + ruta);
foreach(DirectoryInfo dirInfo in dir.GetDirectories())
{
TreeNode child = new TreeNode();
child.Text = dirInfo.Name;
superior.Nodes.Add(child);
ExtraerEstructuraDirectorios(child.FullPath, child, nivel);
}

}
catch (Exception ex)
{
Console.WriteLine("Ha surgido un problema: " +ex.Message);
}
}

En esta tercera función se extrae el contenido del directorio actual, aarchivos y subdirectorios, para luego, y aunque aquí no se vea, cargar su información en un objeto GridView.

public void ObtenerContenidoDirectorio()
{
/*Extrae el contenido de cada directorio (subdirectorios y ficheros)*/
Contenedor.Clear(); //borrado del arraylist
try
{
// miro si la ruta existe
DirectoryInfo dir = new DirectoryInfo(rutaSeleccionada);
if (!dir.Exists)
Console.WriteLine("El directorio " + rutaSeleccionada + " no existe.");

// lista del contenido
foreach (DirectoryInfo di in dir.GetDirectories())
{
//se obtiene el peso en bytes del subdirectorio
long peso = ObtenerPesoDirectorioEnBytes(di);
//oContenido contiene un elemento del directorio
Clases.ContenidoDirectorio oContenido = new Proyecto .Clases.ContenidoDirectorio(di.Name, "Subdirectorio", Convert.ToString(di.LastWriteTime), peso);
//Contenedor contiene muchos oContenido
Contenedor.Add(oContenido);
}

// fill the Files listbox
foreach (FileInfo fi in dir.GetFiles())
{
Clases.ContenidoDirectorio oContenido = new Proyecto.Clases.ContenidoDirectorio(fi.Name, fi.Extension, Convert.ToString(fi.LastWriteTime), fi.Length);
Contenedor.Add(oContenido);
}

}
catch (Exception ex)
{
ex.ToString();

}


}

En esta cuarta función se extrae el peso en bytes de un directorio (pasado por parametro).

private long ObtenerPesoDirectorioEnBytes(DirectoryInfo d)
{

long pesoDir = 0;

try
{

// Totalizar tamaño de archivos

FileInfo[] fis = d.GetFiles();

foreach (FileInfo fi in fis)
{

pesoDir += fi.Length;

}

// Totalizar tamaño sub-directorios

DirectoryInfo[] dis = d.GetDirectories();

foreach (DirectoryInfo di in dis)
{

pesoDir += ObtenerPesoDirectorioEnBytes(di);

}

}

catch (Exception exp)
{

// Código para la excepción va aquí

}

return pesoDir;

}


Para realizar este proyecto, cuya idea es imitar a Filezilla, estoy utilizando código encontrado pr Internet, así pues gracias a aquellos que me ilustran.

Saludos

16 abril 2010

C#: Insertar datos en un GriedView sin origen en base de datos

Fue fácil pero apunto esto para un futuro y para el que lo necesite. ste es un ejemlo, de cómo cargar un objeto GridView se carga sin etar enlazado a una Base de datos de atos, en este caso pertenecientes a un ArrayList.


/*Se carga una rejilla a traves de los datos del ArrayList Peliculas*/

Pelicula unaPeli = new Pelicula(TxtTitulo.Text, TxtGenero.Text);
//objeto de Tipo Pelicula
Peliculas.Add(unaPeli); //Peliculas es un arryList


/*Creación del objeto otabla en donde se van a ir agregando uno a uno los elementos del ArrayList*/
DataTable oTabla = new DataTable(); //objeto DataTable
DataColumn oColumTitulo= new DataColumn("Titulo"); //objeto DataColumn
DataColumn oColumGenero = new DataColumn("Genero"); //objeto DataColumn

oTabla.Columns.Add(oColumTitulo); //se añaden esas columnas
oTabla.Columns.Add(oColumGenero);


int tam = Peliculas.Count; //Arrayist
for (int i = 0; i <>
{
unaPeli = (Pelicula) Peliculas[i];
string[] strFila = new string[2];
strFila[0] = unaPeli.Titulo;
strFila[1] = unaPeli.Genero;
oTabla.Rows.Add(strFila); //se añad una nueva fila
}


GrdVPeliculas.DataSource= oTabla; //se le asigna el origen
GrdClmTitulo.FieldName= oColumTitulo.ColumnName;
GrdClmGenero.FieldName = oColumGenero.ColumnName;


Espero no ser muy ilegible, jejejej.

Saludos.

Cómo en C# se ordena el código

Lo vi en un compañero del curro y me gustó mucho. Utilizar regiones es la clave. Habrá regiones para cada ámbito de archivo (clases, códigos de formularios, etc.), por ejemplo: para las variables, constructores, eventos, funciones, propiedades, y así según hagan falta.
En C Sharp las rgiones comienzan escribiendo #region nombre_de_la_región y terminan escribiendo #endregion. En las líneas de enmedio se esrcirbe el código ejecutable.
Dividir en regiones resulta ventajoso pues el código encasillado se ve a simple vista, al mismo tiempo que si se quiere se puede ocultar con un simple click en la cruz que se dibuja nada más se abre la región.

Saludos de este Victor.

15 abril 2010

Los hilos en C#, breve presentacion


Partiendo de que se cónoce qué es un hilo (thread), voy a comentar cómo se usan en este lenguaje.

Lo primero: importar Threading, using System.Threading;
Después, si ya se tiene hecha la función (procedimiento) que se quiere ejecutar en background, se hace esto: Thread hilo = new Thread(nmbre_procedimiento) Bien, las funciones no pueden tener parámetros, o al menos, aún no he visto un ejemplo donde se ejecute un hilo cuya función los tenga. Además los hilos no pueden trabajar con controles de diseño. Así que hay que ser pillo y quebrarse la cabeza con trucos.
En tercer lugar se indica que se desarrollará es Background: hilo.isBackground=true;
Cuarto, el hilo se pone en marcha con el metodo Start();
Quinto, para provocar intervalos sin actividad: Hilo.Sleep(num_milisegundos);


Y hasta aquí una resumida introducción.


Saludos.

08 abril 2010

Quireo mi pc limpio de polvo y paja


Eso, y estar con mi Claudia, siempre, bien.

Pasos para cepillarme el Windows XP de mi ordenador, para volver a reinstalarlo, pero habiendo formateado:

1. Entonces es facil, solo necesitas un disco de windows xp y los drivers para instalarlos despues de formatear y volver a instalar windows.

2. Metes el disco de windows xp nada mas encender el pc, y en la configuracion de la bios, el orden de booteo lo tienes que tener para que lea primero el cd y luego ya el discoduro miras que este eso bien, se reinicia y despues se mete directamente en el arranque del cd de windows.

3. Te cargan unas cuantas cosas y te salen las particiones que tienes y cuanta capacidad tiene cada particion y en el mismo sitio te dice como eliminar particiones, como crear nuevas y como instalar windows. Si no hay particiones, entonces solo te saldra una, con la capacidad total del disco duro...

4. Luego puedes hacer dos cosas, eliminarla y volver a crearla(eso se suele hacer si quieres mas de una particion) o directamente darle a intro y despues te salen las opciones de formateo...le das a ntfs normal(porque tambien te sale el rapido) y ya solo se encarga de formatear e instalar windows una vez que termina de instalar, que es lo que mas tarda.....ya cuando estes en el escritorio con el ordenador limpio de mierda, le metes los drivers de la placa base, tarjeta grafica, sonido, etc.... y ya esta.

Estos pasos me los ha dado mi compañera de ASI Esther.



Anexo anexado a los dos días de haber catado "Eureka!" :

En caso de que surja un error en la detección de disco duro, particiones, al ir a instalar Windows XP de nuevas, se debe hacer esto:
1. Entrar en la BIOS (para poder acceder hay que pulsar "como loco" mientras el sistema arranca F2, en mi caso.
2. Ya dentro, hay que desabilitar el RAID pues seguramente el fallo se produjese porque en el CD de instalación no van incorporados los drivers para manejar discos SCSI
.
3. Reniciar y cruzar los dedos para que ahora si se pueda lograr el objetivo.

Este consejo se lo debo a mi colega Miguel

1 abrazo

29 marzo 2010

Cómo grabar TDT



Uno de mis mejores amigos de infancia fue mi video VHS pues la otra amiga era la televisión, porque gracias a ellos no perdí memorables episodios de mis series favoritas antes de que el Utorrent existiera, ni el historico Mallorca - Lazio del 1999. Asi que cuando hoy mi madre me dijo que el apagón analógico había llegado a San Pedre, cogí, etre en Mozilla y tecleé Google.es. Y tan pronto se dice "Clint Eastwood es grande", encontré este enlace. Y lei que es sencillo poder grabar los canales del TDT en mi video VHS (y sin comprar un nuevo TDT). Sin embargo lo que el Experto comenta que, parece fácil aún no lo hice.

El Experto dice que el Euroconector del TDT tiene que ser en el que pone TV. Intercalando el video entre el TDT y la tele. Esa es la parte resumida, pues la parte detallada es esta: "el cable coaxial es para ver los analogicos y funcionan a si: de la toma de la pared al (IN) del tdt y del (OUT) del tdt al (IN del video) del OUT del video al televisor, con esto todo canal que sea analogico o en modo RF como el video se vera por la tele. si del tdt mediante euro conector lo enchufas al video y encuentras el canal para grabar al mismo tiempo deberas de localizar este canal en el televisor con lo que veras el tdt en le tele, el problema es cuando graves que no podras ver otro canal del tdt. " Y esto ya lo copio exactamente, así pues disculpe la ofensa, si la provoco. Y gracias de antemano.


Saludos-

22 marzo 2010

Máscara de formato para Emails

Tras mucho calentarnos la cabeza, descubrimos que la máscara de formato de un TextBox para la configuración de emails es así:


EDIT MASK: 0-9.a-zA-Z*\@0-9.a-zA-Z*\.a-zA-Z+{2,}
MASK TYPE: RegEx
AUTOCOMPLETE MODE: Optimistic
IGNORES MASK BLANK: True
SHOW PLACEHOLDERS: True

La imagen muesta el editos para máscaras y cómo debe de configurarse, no fuese a haber dudas, jejej.


Por si acaso, la máscara buena es la que hay en rojo, no la de la imagen, que se tomó antes de dar con la buena tras unas depuraciones.

Atentamente El autor



20 marzo 2010

Cómo solucionar que los teclados USB funcionen desde que el ordenador se enciende



El mayor problema que plantean es que hay muchas placas que no habilitan el teclado USB en el POST, por lo que no lo podemos utilizar hasta que no estamos dentro de Windows. No obstante son muchas las placas que si que pueden habilitar el teclado USB directamente en el arranque, normalmente mediante una opción en el SETUP (que suele ser una opción con un texto parecido a Enable USB Keyboard).

Esto lo encontré aquí.

14 marzo 2010

Cómo en C # obtener la ruta del proyecto

Así es la línea de código, que devuelve un string. Para hacer uso de esta linea deberemos importar la libreria IO, que pertenece a System:

System.IO.Directory.GetCurrentDirectory();


Bye

13 marzo 2010

Conexión a una base de datos Access con C# mediante código


El ejemplo lo extraje de aquí, y como reza el título, conecta el programa a una base de datos Access del Office.

En este ejemplo, seutiliza la base de datos Neptuno que se instala Trader (opcionalmente) con Microsoft Access. El programa es una aplicación de consola que simplemente carga un conjunto de datos de la tabla Clientes de la base de datos. Luego, recorrer los registros, la impresión del campo CustomerName a la pantalla.

using System;
using System.Data;
using System.Data.OleDb;

namespace csbook.ch15 {

class Example15_2 {

static void Main(string[] args) {
string conString =
@"Provider=Microsoft.JET.OLEDB.4.0;"
+ @"data source=c:\data\Northwind.mdb";


// create an open the connection
OleDbConnection conn = new OleDbConnection(conString);
conn.Open();

// create the DataSet
DataSet ds = new DataSet();

// create the adapter and fill the DataSet
OleDbDataAdapter adapter =
new OleDbDataAdapter("Select * from Customers", conn);
adapter.Fill(ds);

// close the connection
conn.Close();

DataTable dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows) {
Console.WriteLine(dr["CompanyName"].ToString());
}
}
}
}

Gracias a http://en.csharp-online.net/

05 marzo 2010

Enlaces utiles para particionar Windows Vista



Enlaces utiles para particionar Windows Vista y así, si todo sale chachy del Paraguay, disfrutar de Suse 11.2 en mi portatil, sin haberme cepillado el Windows Vista, del que sólo me gusta su programa para utiliuzar la Web cam que incorpora el propio pc. Ahí van:
1. Administrar particiones en Windows Vista.
2.Como realizar una Partición en Windows Vista (Solucionado)
3.Crear y Eliminar Particiones en Windows Vista
4.Crear particiones en windows vista sin USAR NINGUN PROGRAMA

Suerte

03 marzo 2010

Genius driver: genial gestor de drivers




Datos Técnicos
Driver Genius Professional Edition v9.0.0.180 Retail Español
Spanish | Medicina Incl. | 13.2 MB

Descripción
¡Mantén los drivers de tu sistema siempre actualizados!

* Encuentra automáticamente los drivers necesarios para tu PC
* Más de 30.000 drivers disponibles en la base de datos
* Elimina los drivers no válidos y sin utilizar
* Guarda tus drivers en un archivo ejecutable
* Driver Genius Professional es “EL programa” de administración de controladores y de diagnóstico de tu equipo.

Si reinstalas regularmente tu sistema, sabes que puede ser difícil y tardado encontrar los controladores adecuados para tu sistema. Gracias Driver Genius, puedes guardar todos tus drivers en tu PC y restaurarlos una vez que haz reinstalado el sistema. ¡Olvídate de perder tiempo en la instalación y encontrando los controladores que necesitas!

Con Driver Genius

* Mantén actualizados tus drivers gracias a la función automática de sincronización
Base de datos con más de 30.000 drivers para todo tipo de material: tarjeta de video, tarjeta de sonido, tarjeta de red, MODEM, ratón, teclado, cámara de foto digital, tarjeta de adquisición video…
* Guarda una copia de tus drivers creando un archivo ejecutable
* Restáuralos automáticamente y en un abrir y cerrar de ojos



Ventajas
Con Driver Genius puedes:

* Crear una copia de seguridad. Puedes crear una copia de todos los controladores instalados en tu sistema. Dicha copia estará comprimida en un archivo ejecutable EXE
* Reinstalar los controladores. Sólo tienes que hacer doble clic en el archivo ejecutable
* Actualizar tus controladores. A través de Internet para tener siempre la última versión
* Obtener más detalles sobre tu sistema. Procesador, memoria, unidades de disco, etc.
* Acceder a opciones ocultas de tu tarjeta gráfica NVIDIA, para ello deberás disponer de una tarjeta con dicho chip



Novedades en la versión 9

* Nuevo Descarga tus drivers de forma más rápida y confiable
* Driver Genius 9 detecta y se conecta automáticamente al servidor de descargas más rápido.
* Nuevo Detecta automáticamente el mejor servidor para incrementar la velocidad de descarga
* En el caso de una falla en la descarga, Driver Genius 9 cambia directamente a otro servidor de descarga. Nuevo El asistente de Instalación de Drivers te ayuda para que la instalación sea sencilla Ya no es necesario buscar uno por uno todos los controladores que has instalado en tu PC para reinstalarlos. Con el botón “instalar” extrae e instala todos los controladores necesarios directamente desde Driver Genius.
* Nuevo El enlace ‘Ver detalles’ te da informacion sobre los drivers que necesitan actualizarse
* Actualizado La base de datos incluye miles de drivers nuevos para los más modernos equipos
* Mejorado Gracias a la interfaz maneja de forma conveniente y más fácil tus drivers
* FASTER Respaldo de tus drivers
* Mejorado El Escaneo de Driver te permite actualizarlos más rápidamente
* Mejorado Soporta Windows Vista
* Nuevo Soporta Windows 7 y Windows Server 2008 (incluye 64-bits de soporte para los dos)

Requerimientos del Sistema

* Sistema Operativo: Windows 98, Windows Millenium, Windows 2000, Windows Server 2003, Windows XP, Windows XP 64-bit, Windows Vista 32-bit, Windows Vista 64-bit, Windows 7.

La información la he tomado de Tarriga.

Estoy del Windows Vista hasta .... los cojinetes


Estoy de Windows Vista hasta ...... los cojinetes (de mi bici),.....Y no suelto tacos por educacion, no sea que el destino ponga a una tia buena a leer este blog, vaya y se enamore de mi y deje de estarlo cuando descubra que hablo mal. Y no me refiero a mi pronunciación, que ambién es regular, siendo optimitas.


A lo que vamos, que me aburro del Vista de los cojintes: de sus preguntas, porque aunque mi ex novia me llame muñeco, hace tiempo que superé la edad de aprender a leer, entonces sé lo que hago; me canso ya de que la interface esté en inglés, porque aunque sea una de las lenguas de Sudáfrica (tierra de mi héroe Mandela), a mi se me da mejor el castellano, porque yo no pasé del aprobado en el bachiller, ni en la ESO, y ni siquiera en el cole asi que cuando me salta algun mensajito de más de tres palabras, me despisto. Además me tiene frito el Office 2007 y sus licencias, ya que aún dando la clave, que pilla bien, me machaca con errores. Creo que lo único molón de este pastel envuelto en producto guay es la web cam ya lista. aprendí a usarla tarde, ya no tenía novia. Otra cosa que me fastidia, hay más, por ejemplo no poder guardar las fotografias donde me venga en gana, poque por narices tienen que ir a la carpeta Imagenes, es ... a ver si me acuerdo... es la edad.... -y esto también me lo dice mi ex-novia, que me quiere mucho-, es que mucho programas que en Windows XP van en Vista no lo hacen, por ejemplo JBuilder 5, por ello tuve que creearme una máquina virtual donde instalé el XP, -¡un follón!-. ¡Ajá1 Recordé: odio qu baste con pasar el pntero del ratón sobre una opción para que se ejecute y eso e detstable, mas para mi dada mi discapacidad, porque el SS.OO entiende que quieres hacer cosas cuando no es verdad.



Aquí un enlace con soluciones (una de las ideas que le dan es qu reinstale el XP compartiendo PC con Ubuntu, es la distribución Linux más similar al hijo de Bill Gates) que plantean a una chica más fastidiada que yo con su PC con programas preinstalados. Aún así no es tan fácil, de echo en informática qué es fácil. Ni apagar el ordenador a veces, ... jeje Así pues formatear e instalar XP no es pan comido,... ¿Porque así que me haya cepillado el Sistema Operativo incial e donde saco los drivers pues me vendieron el ordenador sin cd's? Si, si, existen las páginas oficiales, pero te puedes morir....Entonces es cuando recuerdo un consejo de mi amigo Omar Espinoza (Pythoniso): en desarrollo todo tiene olución. Y no te asustes, en tio Google hay respuestas para todo.


Sin embargo, me pasaré a Windows 7. Tomaré los drivers que me vinieron con el Vista, y los gestionaré con el Genius Driver haciendo una copia de respaldo para luego usarlos al instalar el 7. Pero antes de lanzarme a ello, voy a verificar que mi PC es compatible con Windows Seven, usando este programilla: Windows 7 Updrague avisor.


Dessenme suerte.


Saludos

28 febrero 2010

Cómo configurar Suse 11.2 (en máquina virtual) para acceder a Internet (en máquina real)



El título mismo dice que es lo que quiero hacer, así pues manitas a ello. En Internet encontré estas instrucciones, y como mejor no se pueden explicar (yo sólo he numerado los pasos), las tomo prestadas. El autor es Henry Miler, al que espero no ofender.
1º Vamos a Yast.
2º Dispositivos de red. Ajustes de la red.
3º En opciones globales, la dejkas como IFUP, no como networkmanager, habilitado ipv6, luego en nombre del host a enviar como AUTO. Después en las opciones que puedes editar, te recomiendo que dejes la red como hotplug, para que si se ce, se active automaticamente, del mismo modo, si el modem estuviese encendido se conectaría por si sólo.
4º Tras configurar la red, marchas a la casilla ADSL y le pones añadir -> conexión habilitada por no administrador. En los proveedores pones Speedy y tu nombre de usuario y contraseña. Luego, en la siguiente casilla tickeas: llamada bajo demanda, modificar DNS al conectar y reconexión automática. Puedes agregar los servidores de télefonica.
5º Los servidores de Teléfonica son: 200.28.4.130 y 200.28.4.129, sin embargo creo que funcionan para Ámerica Latina y no en España. Todo es probar

Saludos

12 febrero 2010

C#: Uso de propiedades.


El concepto de propiedad:


Una propiedad es una mezcla entre concepto de campo y el concepto de método. Externamente se accede a ella comoo si de un campo normal se tratase, pero internamente es posible asociar código a ejecutar een cada asignación o lectura de su valor. Este código puede usarse para comprobar que no se asignen valores inválidos, para calcular su valor sólo al solicita su lectura, etc.

Una propiedad no almacena datos, sino sólo se utiliza como si los almacenase. En la práctica lo que se suele hacer escribir como código a ejecutar cuando se le asigne un valor, código que controle que ese valor sea correcto y que lo almacene en un campo privado si lo es; y como código a ejecutar cuando se lea su valor, código que devuelva el valor almacenado en ese campo público. Así se simula que se tiene un campo público sin los inconvenientes que estos presentan por no poderse controlar el acceso a ellos.

Definición de propiedades:

Para definir una propiedad se usa la siguiente sintaxis:



Java no cuanta con esta utilidad, al menos que yo lo sepa, pero si C#, asi que hay que aprovvecharla. Pues abarata código.

Ejemplo de propiedad:

public string Servidor

{
set { servidor = value; }
get { return servidor; }
}
El ejemplo da nombre a un servidor (tipo string) con el método set, y con get lo retorna. Las propiedades tilizan por defecto el tipo String, enttonces si se usan variables de otro tipo, se deverá hacer un casting.