Problema con programa

Iniciado por mby, 12 Junio 2020, 17:02 PM

0 Miembros y 1 Visitante están viendo este tema.

mby

Muy buenas, estoy aprendiendo c# desde hace bien poco con visual studio. El caso tengo un código que se supone, debería escribir en un .txt cierto texto y luego volver a escribir sin remplazarlo, necesito ayuda plz.(Os dejo el código para que me digáis que está mal). No es muy urgente, pero aun así agradecería la ayuda. ;-) ;-)


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.IO;
using System.Windows.Forms;

namespace Recopilador
{
    public partial class Form1 : Form
    {
        //variables generales
        List<string> Lista1 = new List<string>();
        public string ruta = @"C:\Users\PC\Documents\hi\Recopilador\Recopilador\bin\Debug\Nombres.txt";

        public Form1()
        {
            InitializeComponent();
        }

        private void OkBotton_Click(object sender, EventArgs e)
        {
            string name;
            name = CajaNombre.Text;

            Lista1.Add(name);

            NombresRegistrados.DataSource = null;
            NombresRegistrados.DataSource = Lista1;

            if (Directory.Exists(ruta))
            {
                StreamWriter STwriter = File.AppendText(ruta);
                STwriter.WriteLine(name);
                STwriter.Close();
            }
            else
            {
                TextWriter writer = new StreamWriter(ruta);
                writer.WriteLine(name);
                writer.Close();
            }

            MessageBox.Show("Guardado correctamente.");
        }

        private void LimpiarLista_Click(object sender, EventArgs e)
        {
            Lista1.Remove(CajaNombre.Text);

            NombresRegistrados.DataSource = null;
            NombresRegistrados.DataSource = Lista1;
        }

        private void ModificarNombre_Click(object sender, EventArgs e)
        {
            try
            {
                var loc = Lista1.IndexOf(NombreACambiar.Text);

                Lista1.RemoveAt(loc);
                Lista1.Insert(loc, CajaNombre.Text);

                NombresRegistrados.DataSource = null;
                NombresRegistrados.DataSource = Lista1;
            }catch(Exception x)
            {
                MessageBox.Show("*****El elemento seleccionado no existe.***** Detalles del error:" + x);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void EscribirArchivo_Click(object sender, EventArgs e)
        {


        }
    }
}

Tachikomaia

Sin ánimo de criticar el lenguaje pero... estamos hablando de un
write in a txt
load a txt
write in a txt

En cualquier lenguaje deberían ser 3 líneas. Que conste que el que yo uso también requiere más.