none
Como Guardar, Leer y Modificar un archivo de Configuracion.ini para mi aplicacion; como el Properties.Settings.Default

    Question

  •  

    Hola soy principiante en C# y quiero saber si alguien sabe donde bajar algún CODE de ejemplo o algún componente free, para que una aplicación pueda Leer, Crear y Modificar un archivos de configuración.ini donde guarde la información que quiero utilizar. Al estilo de los Properties.Settings.Default.MiVariable.

    Pero teniendo la ventaja de que sea mas fácil hacer backup de la configuración de la aplicación. Ya que es solo copiar el archivo.ini

    Y que no esta tan atado a la plataforma .NET 2.0

     

    Ya que por lo que lei Properties.Settings no esta disponible o no es compatible en el Framework .NET 2.0 bajo Windows NT y 98 SE

      

    Eje:

    //Carga configuracion de otra manera que no sea esta

    frmConfig frm = new frmConfig();

    ToolStripManager.LoadSettings(frm);

    this.dirDeLosArchivosTecan = Properties.Settings.Default.TecanGenesisDir;

     

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    //Yo busca algo como esto no como el codigo anterio

    AppConfig Config = new AppConfig("ArchovoDeConfuracion.ini");

    TextBoxDirectorioDeTrabajo.Text = Config.ArraySet["DirDeTrabajo"];

     

    //Estuctura del archivo.INI

    /*

    DirDeTrabajo=C:\Aplicacion\dll

    ListaDePruebas=prueba.txt

    */

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Desde ya estoy muy agradecido si alguien sabe la respuesta o algún link para guiarme un poco.

    Saludos

    Tuesday, January 29, 2008 7:29 PM

Answers

All replies

  • Lo que yo haria seria crear mi propiio archivo de configuracion en XML.

     

    no es muy dificil y es rapido.

     

    Wednesday, January 30, 2008 1:25 AM
    Moderator
  • creop que te refieres a archivos de configuración en c# buscate en google app.config que es algo bastante sencillo uin xml y cargas lo que quieras guardar asi como medio entiendo en tu codigo salu2 y ojala te sirva
    Wednesday, January 30, 2008 1:39 AM
  • Hola, tienes 2 opciones, la mas facil es usar una libreria para accesar a este tipo de archivo, te recomiendo una que es lo que creo estas buscando http://nini.sourceforge.net/ otra es usar las apis nativas del SO puedes ver un ejemplo en el siguiente link http://www.codeproject.com/KB/cs/cs_ini.aspx, estoy seguro que la primera opcion te servira mas.

    Espero te sea de ayuda y recuerda marcar si te ha sido util esta respuesta
    Wednesday, January 30, 2008 5:10 PM
  • Muchas gracias
    El componente de http://nini.sourceforge.net/  era lo que buscaba..
    Saludos y muchas gracias..
    Monday, February 04, 2008 9:44 PM
  •  

    using System.xml;

     

    Si solo quieres guardar unos pocos valores en un doc XML, una forma simple y directa es:

            private void bGuardar_Click(object sender, EventArgs e)
            {
                XmlWriter w = XmlWriter.Create("miXML.xml");
                w.WriteStartElement("MiInfo");
                w.WriteElementString("TextBox", textBox1.Text);
                w.WriteElementString("CheckBox", checkBox1.Checked.ToString());
                w.WriteEndElement();
                w.Close();
            }

            private void bLeer_Click(object sender, EventArgs e)
            {
                XmlReader r = XmlReader.Create("miXML.xml");
                r.ReadStartElement("MiInfo");
                textBox1.Text = r.ReadElementContentAsString();
                checkBox1.Checked = Convert.ToBoolean(r.ReadElementContentAsString());
                r.Close();
            }

     

     

     

    Code Snippet

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Data;

    using System.Drawing;

    using System.Text;

    using System.Windows.Forms;

    using System.Xml;

     

     

     

    namespace WindowsApplication2

    {

        public partial class Form1 : Form

        {

            public Form1()

            {

                InitializeComponent();

            }

     

            private void button1_Click(object sender, EventArgs e)

            {

                label1.Text = textBox2.Text;

                XmlWriter w = XmlWriter.Create("Config.xml");

                w.WriteStartElement("REInfo_Config");

                w.WriteElementString("TextBox1", textBox1.Text);

                w.WriteElementString("CheckBox1", checkBox1.Checked.ToString());

                w.WriteElementString("comboBox1", comboBox1.Text);

                w.WriteElementString("radioButton1", radioButton1.Checked.ToString());

                w.WriteElementString("radioButton2", radioButton2.Checked.ToString());

                w.WriteElementString("TextBox2", textBox2.Text);

                w.WriteEndElement();

                w.Close();

           

            }

     

            private void button2_Click(object sender, EventArgs e)

            {

     

     

                try //Si el archivo *.xml no existe

                {

                    XmlReader r = XmlReader.Create("Config.xml");

                    r.ReadStartElement("REInfo_Config");

                    textBox1.Text = r.ReadElementContentAsString();

                    checkBox1.Checked = Convert.ToBoolean(r.ReadElementContentAsString());

                    comboBox1.Text = r.ReadElementContentAsString();

                    radioButton1.Checked = Convert.ToBoolean(r.ReadElementContentAsString());

                    radioButton2.Checked = Convert.ToBoolean(r.ReadElementContentAsString());

                    label1.Text = r.ReadElementContentAsString();

                    r.Close();

                }

     

                catch // Salte este catch

                {

                    MessageBox.Show("Error: 1040 - No encuentra el archivo Config.xml, quizás lo hayas borrado o cambiado de ubicación.", "Aviso:", MessageBoxButtons.OK, MessageBoxIcon.Warning);

     

                   

     

                }

     

     

     

                

                

     

           

            }

     

            private void Form1_Load(object sender, EventArgs e)

            {

              

            }

     

            private void checkBox1_CheckedChanged(object sender, EventArgs e)

            {

                if (pictureBox1.Visible == true)

                {

                    pictureBox1.Visible = false;

                }

                else

                {

                    pictureBox1.Visible = true;

                }

            }

     

           

        }

    }

     

     

    Monday, February 04, 2008 10:11 PM