Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: samuelhm en 2 Junio 2014, 17:56 pm



Título: Archivo de Configuración.
Publicado por: samuelhm en 2 Junio 2014, 17:56 pm
Me gustaria implementar un Form de mi programa para cambiar las configuraciones de este.
He visto que el mismo visual studio te crea un archivo de configuracion, pero supongo que en este no se puede mantener cambios una vez compilado el programa.

Me pregunto si el uso correcto para hacer un archivo de configuracion es este:

Al abrir el programa Cargar datos en el evento Form Load de un XML externo, si no existe, crearlo con datos sobre una configuracion standard, luego usar esos datos.

Al usar el form para cambiar la configuracion, escribir en ese archivo nuestras preferencias y reiniciar el programa.


Es esto la forma correcta?

(como configuracion quiero decir por ejemplo, establezer el tamaño x y del programa, o establecer una carpeta donde se guardaran los archivos etc..)


Título: Re: Archivo de Configuración.
Publicado por: XresH en 2 Junio 2014, 23:41 pm
Lo mejor es usar un txt comun y corriente o un "punto ini" (que son archivos de configuracion de inicio) al cual le asignas valores con determinados parametros, es decir podes ponerle:

Código:
Size = 40
Font = 12


Y en  el form load cargas siempre la configuracion de tu aplicacion desde ese archivo, podes mantener cambios y valores ya que no se ejecutan directamente, sino que dependen de los datos del archivo.

Saludos.


Título: Re: Archivo de Configuración.
Publicado por: ivancea96 en 2 Junio 2014, 23:49 pm
Como dice XresH, .ini o .txt son los más comunes.

A parte, mientras te funcione, no hay problema en que uses xml, o cualquier otro formato. Incluso tus propios formatos. Tu programa, tus normas :P


Título: Re: Archivo de Configuración.
Publicado por: El Benjo en 3 Junio 2014, 06:08 am
Creo que sí la forma correcta de hacerlo sería esa:

Si el archivo existe cargas la configuración.
Si no existe se usa la configuración por defecto.

Y como te indican, puedes hacerlo de la manera en que tú quieras. Como dice Ivancea "Tu programa, tus normas".

EDITADO: Jajajajajajaja por la respuesta de abajo. XD


Título: Re: Archivo de Configuración.
Publicado por: engel lex en 3 Junio 2014, 06:20 am
como dice El Benjo:
Citar
archivo

:( me quería sentir como parte de algo, así que continué su cadena de sucesiones de citas


Título: Re: Archivo de Configuración.
Publicado por: Eleкtro en 28 Junio 2014, 06:06 am
Me pregunto si el uso correcto para hacer un archivo de configuracion es este:
...

Microsoft recomienda encarecidamente que los desarrolladores de aplicación .NET guardemos la configuración de usuario en el registro de Windows (antes que usar My.Settings).

Y si te fijas un poco en como trabajan las aplicaciones más profesionales (Ej: Photoshop), estas almacenan todo tipo de información tanto en el registro como en archivos locales, está todo bastante disperso.

Pero en mi opinión lo más correcto depende de tus necesidades...
...Por ejemplo, si yo desarrollo una aplicación y la quiero hacer portable con opciones configurables para el enduser, y que al portabilizar mi aplicación (copiar y pegar de un PC a otro) se mantenga esa configuración de usuario, pues obviamente no podré usar ni el registro, ni un archivo local que se almacene en otra ubicación como (Ej: APPDATA\Roaming\...) ni nada por el estilo ...porque eso lo complicaría un poquito para hacerlo persistente de un PC a otro, así que lo más correcto en mi opinión en un caso así es usar un archivo de inicialización (.ini) o en resumen un archivo de texto plano como un TXT o un XML que esté en el directorio de trabajo de la aplicación, aunque la estructura de un XML para manejar un par de opciones es complicarse la vida sinceramente...

Pero para un programa normal y corriente que se instala en un PC y que se suele mantener instalado hasta una reinstalación/actualización del SO, pues en ese caso yo me acomodaría a la interface que Microsoft provee y de muy facil acceso y manejo para crear un archivo de configuración gracias a My.Settings (http://msdn.microsoft.com/en-us/library/saa62613.aspx).

Saludos