Otevření souboru a zároveň uložení textu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Otevření souboru a zároveň uložení textu – .NET – Fórum – Programujte.comOtevření souboru a zároveň uložení textu – .NET – Fórum – Programujte.com

 

Amik980
Duch
1. 9. 2021   #1
-
0
-

Zdravím,

měl bych opět dotaz, tentokrát ohledně otevření souboru třeba .txt přes WFA v C# a následně, když se mi ten soubor otevře tak mi vypíše obsah v rich boxu, což mám hotové, ale rád bych do toho otevřeného souboru něco připsal(opět pomocí richboxu) a pak to uložil, ale nějak vůbec nevím, jak to zkombinovat, abych do toho otevřeného souboru mohl rovnou uložit nový text nevěděl by jste prosím někdo?

Mám toto:

        private void button13_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            if (open.ShowDialog() == DialogResult.OK)
            { 
                string file = open.FileName;
                String opened = File.ReadAllText(file);
                richTextBox1.Text = opened;
            }    
        }

        private void button14_Click(object sender, EventArgs e)
        {
            StreamWriter zapis = new StreamWriter(textBox4.Text);
            zapis.Write(richTextBox1.Text);
            MessageBox.Show("Soubor uložen");
            zapis.Close();

        }

Děkuji moc.

Připojen obrázek.

Nahlásit jako SPAM
IP: 2a00:1028:8396:16f2:a8fb:c8f6:13e6:b8a8...–
gna
~ Anonymní uživatel
1891 příspěvků
1. 9. 2021   #2
-
0
-

Není mi jasné, na co se ptáš a o co se v tom kódu pokoušíš. Opakem ReadAllText je WriteAllText.

richTextBox1.Text = File.ReadAllText(soubor);
...
File.WriteAllText(soubor, richTextBox1.Text);
Nahlásit jako SPAM
IP: 213.211.51.–
Amik980
Duch
1. 9. 2021   #3
-
0
-

#2 gna
Trochu jsem to udělal jinak

        private void button13_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            if (open.ShowDialog() == DialogResult.OK)
            { 
                string file = open.FileName;
                String opened = File.ReadAllText(file);
                richTextBox1.Text = opened;
            }    
        }

        private void button14_Click(object sender, EventArgs e)
        {
            
            using (StreamWriter stream = File.AppendText(@"kukajbraško.txt"))
            {
                stream.Write(richTextBox1.Text);
                MessageBox.Show("Text byl přidán");

            }

button 13 otevře soubor a jeho obsah vypíše do richboxu1

button 14 vezme text co napíšu do richbox1  a přidá ho do souboru "kukajbráško.txt"... ale co já bych chtěl a jestli to jde je... možnost vybrat si do jakého souboru .txt přidám ten text co napíšu do richboxu. To znamená, že teď se mi to natvrdo uloží, nebo teda přidá do "kukajbráško.txt" ale chtěl bych mít právě možnost si vybrat nějaký jiný textový soubor z pc a právě do něj dát ten text.

Proto jsem se ptal, jestli jde nějak načíst textový soubor z pc třeba přes button tlačíko a do něj vložit libovolný text pomocí toho richbox1, prostě aby to nebylo napevno určené v kódu do jakého souboru ten text půjde, ale aby si měl třeba uživatel možnost vybrat sám a nemusel se kvůli tomu zase upravovat kód. Snad je to trochu více srozumitelnější oč se ptám, jestli to vůbec nějak takto jednodušše jde.

Děkuji

Nahlásit jako SPAM
IP: 2a00:1028:8396:16f2:40d9:4023:6c4b:1e13...–
gna
~ Anonymní uživatel
1891 příspěvků
1. 9. 2021   #4
-
0
-

Jako jak tam máš OpenFileDialog pro otevření, tak chceš variantu pro uložení? To je SaveFileDialog.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
1. 9. 2021   #5
-
0
-

tady to máš napsaný ... pro tetxový soubor

https://docs.microsoft.com/cs-cz/dotnet/api/system.io.file.appendtext?view=net-5.0

https://docs.microsoft.com/cs-cz/dotnet/standard/io/how-to-open-and-append-to-a-log-file

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:ed46:4c9:4de8:61fb...–
JerryM0
Věrný člen
1. 9. 2021   #6
-
0
-

mimochodem styl "buttonXX_Click" se už nepoužívá ... měl by ses naučit co je to MVVM styl ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:ed46:4c9:4de8:61fb...–
Amik980
Duch
1. 9. 2021   #7
-
0
-

Chtěl bych, aby místo této části pod button14 :(@"kukajbraško.txt"))

Tak abych místo kukajbraško.txt mohl dát nějaky libovolný textový dokument, který si otevřu z pc a ne jenom tento jeden, který natvrdo v kódu.

Tak jsem to myslel. 

Nahlásit jako SPAM
IP: 89.24.42.–
JerryM0
Věrný člen
1. 9. 2021   #8
-
0
-

#7 Amik98
mluvíš jako Dežo z OstravýMuglínova :)

jestli chceš jakýkoliv soubor musíš uživateli dát možnost zadat jeho jméno ... takže přidáš dialog OpenFileDialog...chápeš jo ? a podle toho co vrátí v proměnné FileName pak otevřeš soubor

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:ed46:4c9:4de8:61fb...–
JerryM0
Věrný člen
1. 9. 2021   #9
-
0
-

tady to máš napsaný

https://docs.microsoft.com/cs-cz/dotnet/api/system.windows.forms.openfiledialog?view=net-5.0

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:ed46:4c9:4de8:61fb...–
gna
~ Anonymní uživatel
1891 příspěvků
1. 9. 2021   #10
-
0
-

#7 Amik98
No tak tam nedáš string natvrdo, ale to co uživatel vybral, ne? Máš to při načítání a pak při ukládání najednou nevíš?

private void button13_Click(object sender, EventArgs e)
{
    OpenFileDialog dialog = new OpenFileDialog();
    if (dialog.ShowDialog() == DialogResult.OK)
    { 
        richTextBox1.Text = File.ReadAllText(dialog.FileName);
    }
}

private void button14_Click(object sender, EventArgs e)
{
    // asi budeš chtít upravit některé vlastnosti toho dialogu
    // viz dokumentace
    SaveFileDialog dialog = new SaveFileDialog();
    if (dialog.ShowDialog() == DialogResult.OK)
    {
        File.AppendAllText(dialog.FileName, richTextBox1.Text);
    }
}
Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý