wczytanie tekstu z pliku txt do text boxa

0

Witam

Mam bardzo duzy problem, dla was bedzie pewnie smieszny. Nie mam najmniejszego pojecia jak zczytac plik txt do text boxa albo do zmiennej.

Prosil bym o pomoc: mam plik.txt i chcialbym zeby jego zawartosc znalazla sie w textboxie :-)

0

Chyba najszybciej i najprośćiej możesz to zrobić w następujący sposób:

StreamReader s = new StreamReader(sciezka do pliku); // sciezka np. "C:\\plik.txt" lub @"C:\plik.txt"
textBox1.Text = s.ReadToEnd();

Pozdrawiam.

0

Dzieki Wielkie

Mam jeszcze 2 pytania

  1. Jak podstawic to co mam w pliku txt(liczba) do zmiennej typu double

  2. czy da sie jakos nadpisywac pliki txt, mam taki kod

FileStream plik1 = new FileStream("historia.txt", FileMode.Create);
            StreamWriter strumien1 = new StreamWriter(plik1, Encoding.Unicode);

           
            strumien1.WriteLine(opis);

            strumien1.Close();
            plik1.Close();

i za kazdym razem to co wpisze zastepuje mi stary wpis a potrzebuje miec je wszystkie

0
  1. double liczba = Convert.ToDouble(plikTxt.ReadLine()); // wczytuje tekst z pierwszego wiersza pliku txt i podstawia go pod zmienną double (w pliku liczba powinna być zapisan np. 4,56)

  2. To jest spowodowane tym że plik jest otwarty za pomocą FileMode.Create co oznacza że tworzy nowy plik, a jeśli plik istnieje to go nadpisuje. U siebie powinienneś użyć FileMode.Append.

Pozdrawiam.

0

To drugie dziala rewelacyjnie ale nie moge dojsc do ladu z tym pierwszym, brakuje mi tylko tego zebym mogl jusz ruszyc dalej - nic wiecej jusz mi nie bedzie potrzebne

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace Portfel_ver.beta
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            
        }


       
        
        private void button3_Click(object sender, EventArgs e)
        {
            //pytanie o zamkniecie programu
                if (MessageBox.Show("Czy operacje zostały skończone?", "Uwaga", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) this.Close();
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //wplata-wartosc wplacana
            //glowny-zczytywana zawartosc portfela z pliku stan.txt
            //pomocny-zmienna dublujaca glowny
            //opis-historia wplacania

            Double wplata,robol;
            String opis;

            
            //operacja wplaty
            
            wplata = Double.Parse(textBox1.Text);
            if (wplata >= 0)
            {
                MessageBox.Show("wplata wynosi: " + wplata.ToString("N4"), "Wplata", MessageBoxButtons.OK, MessageBoxIcon.Information);

                MessageBox.Show("Operacja zakończona pomyślnie", "Wpłata", MessageBoxButtons.OK);
            }
            else
                MessageBox.Show("Skorzystaj z opcji wyplata", "Blad", MessageBoxButtons.OK, MessageBoxIcon.Error);

           //pobieranie wartosci stanu portfela z pliku stan.txt i zapis do zmiennej robol
          // nie dziala          double robol = Convert.ToDouble("stan.txt", ReadLine());
            
         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   
         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   
            
            
            //operacja wplaty 
            FileStream plik = new FileStream("operacja.txt", FileMode.Create);
            StreamWriter strumien = new StreamWriter(plik, Encoding.Unicode);
            
            strumien.WriteLine(wplata);

            strumien.Close();
            plik.Close();

            opis = textBox2.Text;

            FileStream plik1 = new FileStream("historia.txt", FileMode.Append);
            StreamWriter strumien1 = new StreamWriter(plik1, Encoding.Unicode);

           
            strumien1.WriteLine(opis);

            strumien1.Close();
            plik1.Close();


}
    }
0

sprawa rozwiazana


//pobieranie wartosci stanu portfela z pliku stan.txt i zapis do zmiennej
            StreamReader s = new StreamReader("stan.txt");
            robol = Convert.ToDouble(s.ReadLine());

[browar] [browar] [browar] [browar] [browar]

0

Witam
Mam coś dosyć podobnego do Waszego tematu więc się podpinam
Mam textbox, button nadpisujący i button zerujący
kod wygląda tak:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace podmiana_pliku_test3_okienkowe
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void button1_Click(object sender, EventArgs e)
    {

    }

    private void Form1_Load(object sender, EventArgs e)
    {
        StreamReader s = new StreamReader(@"c:\Windows\System32\Drivers\etc\hosts"); // sciezka np. "C:\\plik.txt" lub @"C:\plik.txt"

textBox1.Text = s.ReadToEnd();
}
}
}


Plik odczytuje poprawnie do textboxa. chciałbym teraz by button1 powodował nadpisanie pliku nowymi wartościami, które bym wprowadził do textboxa.
Jak tego dokonać ? 

ps. laik ze mnie ale chcę opanować :)
0

Przenieś to co masz w Form1_Load do funkcji która przyjmuje parametr string path i wywołuj w zdarzeniu clik buttona umieść najpierw

textbox.Clear(); 

a potem funkcje pobierania nowego tekstu.

0
klemensior napisał(a):

Przenieś to co masz w Form1_Load do funkcji która przyjmuje parametr string path i wywołuj w zdarzeniu clik buttona umieść najpierw

textbox.Clear(); 

a potem funkcje pobierania nowego tekstu.

a mogę prosić trochę dokładniej o co chodzi bo naprawdę laik ze mnie

1

Mniej więcej tak myślę to powinno wyglądać.

  private void Download(string path)
        {
            using (StreamReader s = new StreamReader(path))
            {
                textBox1.Text = s.ReadToEnd();
            }
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            textBox1.Clear();
            Download(@"//tutaj sciezka do pliku");
        }
 

Edit: Oczywiście najlepiej byłoby zrobić button z OpenFileDialog http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx .

Edit2: Wczytując się dokładniej chyba zrozumiałem o co ci chodzi, chcesz zrobić jakby taki edytor pliku. To oprócz tego co już masz musisz zrobić jeszcze zapis przy użyciu StreamWriter http://msdn.microsoft.com/en-us/library/system.io.streamwriter.aspx

0

aktualnie wygląda to mniej więcej tak:
pobiera dane , lecz gdy nacisnę na button1 to nie nadpisuje treści wprowadzonej w textbox1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace podmiana_pliku_test3_okienkowe
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Download(string path)
{
using (StreamReader s = new StreamReader(path))
{
textBox1.Text = s.ReadToEnd();
}
}

    private void button1_Click(object sender, System.EventArgs e)
    {
        //nadpisanie pliku
        
        // pobierz ścieżkę
        DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\Windows\System32\Drivers\etc").GetDirectories();

        //tutaj mam problem z zapisem
        using (StreamWriter sw = new StreamWriter("hosts"))
        {
            foreach (DirectoryInfo dir in cDirs)
            {
                sw.WriteLine();

            }
        }
    
    

        //ipconfig /flushdns
        System.Diagnostics.Process.Start("ipconfig", "/flushdns");
    }
    private void button2_Click(object sender, EventArgs e)
    {
        //zerowanie pliku
        
        //ipconfig /flushdns
        System.Diagnostics.Process.Start("ipconfig", "/flushdns");
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        textBox1.Clear();
        Download(@"c:\Windows\System32\Drivers\etc\hosts");
        
    }

    
}

}


już mam rozwiązanie, trzeba dodać takie coś w button1
<code class="c#">
FileStream fs = File.Open("sciezka", FileMode.Create);
 
StreamWriter sw = new StreamWriter(fs);
 
sw.WriteLine(this.textbox1.Text);
 
sw.Close();
fs.Close();
0
pRoGi napisał(a):

Chyba najszybciej i najprośćiej możesz to zrobić w następujący sposób:

StreamReader s = new StreamReader(sciezka do pliku); // sciezka np. "C:\\plik.txt" lub @"C:\plik.txt"
textBox1.Text = s.ReadToEnd();
textBox1.Text = File.ReadAllText(@"c:\plik.txt");

1 użytkowników online, w tym zalogowanych: 0, gości: 1