none
Abrir archivo, modificar y guardar RRS feed

  • Pregunta

  • Buenas tardes, estoy aprendiendo c# y estoy realizando un programita para practicar y ponerlo en practica en la empresa, este lo que va a hacer es que va a abrir el archivo host, luego lo muestra en un richtextBox, hasta aqui ya lo tengo, luego de eso tengo unos botones, marcados con las difrentes redes sociales que hay;

    Mi duda es, ya abierto el archivo desde que busque el "hosts", no quero cerrarlo aun, si no mas bien, mas adelante con un boton guardar.

    No se como hacer esa parte, les pongo el codigo que llevo hasta ahora:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    
    namespace Bloqueo_Paginas_Web
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)//No se que es esto...
            {
    
            }
    
            /*Boton ver contenido del archivo host, este es el primer boton que se debe usar 
            para abrir el host a modificar*/
            public void ver_host_Click(object btnhost, EventArgs e)
            {
                OpenFileDialog abrir = new OpenFileDialog();//Abrimos el dialogo, donde elegimos el archivo
                abrir.InitialDirectory = ("C:\\Windows\\System32\\drivers\\etc");//Se define la ruta donde se va a abrir el cuadro de dialos
                abrir.Filter = "|hosts";//Filtro para que muestre solo los archivos con determinado nombre o extencion
                abrir.Title = "Abrir hosts...";//Titulo de la ventana de dialogo
                abrir.FileName = "Archivo hosts...";//Texto que aparece en el espacio, donde aparece el nombre del archivo cuando lo elegimos. 
                var cargado = abrir.ShowDialog();//guardamos en la variable "cargado" el archivo elegido para despues
                if (cargado == DialogResult.OK)//"si "cargado" es igual a un ok en el cuadro de dialogo: "
                {
                    StreamReader leer = new StreamReader(abrir.FileName);//leer el archivo y guardarlo en leer
                    richTextBox1.Text = leer.ReadToEnd();//muestra el archivo guardado en "leer", en el richtexBox1 
                    leer.Close();//Cerramos el archivo para evitar errores
                }
            }
    
            //Group Box Redes Sociales
            //Bloquea www.facebook.com & www.es-la.facebook.com
            private void btn_facebook_Click(object sender, EventArgs e)
            {
                
            }
            //Bloquea www.youtube.com
            private void btn_youtube_Click(object sender, EventArgs e)
            {
    
            }
            //Bloquea www.instagram.com
            private void btn_instagram_Click(object sender, EventArgs e)
            {
    
            }
            //Bloquea www.snapchat.com
            private void btn_snapchat_Click(object sender, EventArgs e)
            {
    
            }
            //Bloquea twitter www.twitter.com
            private void btn_twitter_Click(object sender, EventArgs e)
            {
    
            }
            //Este boton bloquea todas las redes sociales de los botones anteriores
            private void btn_todas_Click(object sender, EventArgs e)
            {
    
            }
            //Boton de guardado
            private void guardar_Click(object sender, EventArgs e)
            {
    //Aqui quisiera tener el Close();
            }
        }
    }
    

    Les agradeceria de paso si me corrigen algun error aparte que tenga.

    Muchas Gracias.

    sábado, 4 de agosto de 2018 20:15

Respuestas

  • hola

    Se que editar el archivo host es un problema porque este puede quedar lockeado por windows impidiendo su escributa

    Pero bueno si esto no es un problema podrias usar el

    RichTextBox.SaveFile()

    recuerda definir el type que sea plain text

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 5 de agosto de 2018 0:20