Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: mby en 12 Junio 2020, 17:02 pm



Título: Problema con programa
Publicado por: mby en 12 Junio 2020, 17:02 pm
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. ;-) ;-)

Código:
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)
        {


        }
    }
}


Título: Re: Problema con programa
Publicado por: Tachikomaia en 13 Junio 2020, 01:02 am
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.