Asunto: ¿Cómo leer y escribir parámetros de configuración en C#?
Estoy desarrollando una aplicación con Visual C# .Net de Visual Studio .Net 2010, estoy aprendiendo a programar en este lenguaje (vengo de Delphi). He visto que tiene un "namespace" para guardar y leer la configuración de la aplicación en un xml ¿cómo se hace esto? me refiero a guardar opciones de configuración personalizadas para el usuario de la aplicación que estoy programando: tamaños de ventana, anchos de columnas, colores, valores por defecto, etc.
Estoy usando Microsoft Visual C Sharp C# de Visual Studio .Net 2010 en un equipo con Microsoft Windows 7 Ultimate x64.
Publicado:
Dom Jul 08, 2012 3:35 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: ¿Cómo leer y escribir parámetros de configuración en C#?
Anuncios
varios escribió:
Estoy desarrollando una aplicación con Visual C# .Net de Visual Studio .Net 2010, estoy aprendiendo a programar en este lenguaje (vengo de Delphi). He visto que tiene un "namespace" para guardar y leer la configuración de la aplicación en un xml ¿cómo se hace esto? me refiero a guardar opciones de configuración personalizadas para el usuario de la aplicación que estoy programando: tamaños de ventana, anchos de columnas, colores, valores por defecto, etc.
Estoy usando Microsoft Visual C Sharp C# de Visual Studio .Net 2010 en un equipo con Microsoft Windows 7 Ultimate x64.
Puedes hacerlo con XML directamente pero lo ideal es que uses un el namespace de Microsoft .Net Framework para tal efecto System.Configuration.
A continuación mostramos el código de una clase completa con dos procedimientos para leer y escribir valores en el fichero de configuración de la aplicación nombre_proyecto.EXE.config:
Código:
using System;
using System.Configuration;
using System.Windows.Forms;
public void guardarValorConfiguracion(string clave, string valor)
{
try
{
//La línea siguiente no funcionará bien en tiempo de diseño
//pues VC# usa el fichero xxx.vshost.config en la depuración
//Configuration config =
// ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//sí pues la cambiamos por:
Configuration ficheroConfXML =
ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
//eliminamos la clave actual (si existe), si no la eliminamos
//los valores se irán acumulando separados por coma
ficheroConfXML.AppSettings.Settings.Remove(clave);
//asignamos el valor en la clave indicada
ficheroConfXML.AppSettings.Settings.Add(clave, valor);
//guardamos los cambios definitivamente en el fichero de configuración
ficheroConfXML.Save(ConfigurationSaveMode.Modified);
}
catch
{
/* MessageBox.Show("Error al guardar valor de configuración: " +
System.Environment.NewLine + System.Environment.NewLine +
ex.GetType().ToString() + System.Environment.NewLine +
ex.Message, "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);*/
}
}
}
}
Un ejemplo de uso de esta clase en nuestra aplicación:
Para guardar los valores de configuración de nuestra aplicación cuando el usuario cierra el formulario principal:
Código:
private void formIndexarPDF_FormClosed(object sender, FormClosedEventArgs e)
{
Utilidades proUtilidades = new Utilidades();
cifrarAES cifradoAES = new cifrarAES();
Y al cargar el formulario principal, leemos los valores de configuración del fichero .config y los introducimos en cada componente (o tratamos cada parámetro como deseemos):
Código:
private void formIndexarPDF_Load(object sender, EventArgs e)
{
Utilidades proUtilidades = new Utilidades();
cifrarAES cifradoAES = new cifrarAES();
Importante: además de la cláusula using System.Configuration, hay que agregar una referencia a Sytem.Configuration.dll desde el menú "Proyecto" - "Agregar referencia", en la pestaña ".NET" hay que buscar "System.Configuration" y agregar esta referencia.
Publicado:
Jue Jul 12, 2012 8:14 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: ¿Cómo leer y escribir parámetros de configuración en C#?
Anuncios
alonsojpd escribió:
Puedes hacerlo con XML directamente pero lo ideal es que uses un el namespace de Microsoft .Net Framework para tal efecto System.Configuration.
A continuación mostramos el código de una clase completa con dos procedimientos para...
Importante: además de la cláusula using System.Configuration, hay que agregar una referencia a Sytem.Configuration.dll desde el menú "Proyecto" - "Agregar referencia", en la pestaña ".NET" hay que buscar "System.Configuration" y agregar esta referencia.
Ok, todo me funciona de maravilla, pero quiero guardar una contraseña como veo en el ejemplo que has puesto, sólo que la clase "cifrarAES" no la has puesto ¿puedes ponerla? así tendría todo lo que necesito.
Publicado:
Jue Jul 12, 2012 8:20 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: ¿Cómo leer y escribir parámetros de configuración en C#?
Anuncios
varios escribió:
Ok, todo me funciona de maravilla, pero quiero guardar una contraseña como veo en el ejemplo que has puesto, sólo que la clase "cifrarAES" no la has puesto ¿puedes ponerla? así tendría todo lo que necesito.
El código fuente en Visual C# de esta clase para encriptar y desencriptar en AES lo tienes en:
Asunto: Re: ¿Cómo leer y escribir parámetros de configuración en C#?
Anuncios
He formateado el equipo y he instalado Visual Studio .NET 2013 y ConfigurationManager me da el error de que no existe en el contexto actual ¿falta algo? he puesto el Using System.Configutation.
Publicado:
Dom Abr 20, 2014 5:52 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: ¿Cómo leer y escribir parámetros de configuración en C#?
Anuncios
varios escribió:
He formateado el equipo y he instalado Visual Studio .NET 2013 y ConfigurationManager me da el error de que no existe en el contexto actual ¿falta algo? he puesto el Using System.Configutation.
Efectivamente, en las indicaciones anteriores falta indicar que hay que añadir una referencia a System.Configuration, desde el menú "PROYECTO" - "Agregar referencia" y en "Ensamblados" - "Framework" marcaremos "System.Configuration".
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A