Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:8.12.2012 21:07

Ahoj, potřeboval bych poradit zda někdo nevíte jak používat normální Stream, nemám na mysli StreamWriter, ale zápis do souboru pomocí Stream po mě vyžaduje SaveFileDialog, nevím jak mám zapsat list stringů do souboru.

Stream stream;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
**{
if (stream = saveFileDialog.OpenFile() != null)
**{
//něco
stream.Close()
}**
}**

potřeboval bych poradit co mám umístít místo toho "něco". Předem díky za odpověď.

Odpovědět
8.12.2012 21:07
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:8.12.2012 21:26

Nechápu:

openFileDialog.ShowDialog(); // nejlépe bez multiselectu a hned po tom by mohla proběhnout kontrola koncovky souboru...

if (!String.IsNullOrEmpty(openFileDialog.File))
    using (StreamWriter sw = new StreamWriter(new FileStream(openFileDialog.File, ... - třeba append)))
        foreach (string item in list)
            sw.WriteLine(item);
Editováno 8.12.2012 21:28
 
Nahoru Odpovědět
8.12.2012 21:26
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na matesax
Theodor Johnson:8.12.2012 21:33

OpenFileDialog mi zvládá otevřít existující soubor, já ho nepotřebuju přepsat, proto jsem zvolil zrovna SaveFileDialog, aby jsem mohl uložit nový soubor a do něj zapisovat.

Nahoru Odpovědět
8.12.2012 21:33
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na matesax
matesax:8.12.2012 21:34

Stream lze udělat i z FileInfo atd... Proto vůbec nechápu, co chceš - bylo by dobré to napsat... :)

Dialog si dej jaký chceš - vytvořit složku jde v obou...

Editováno 8.12.2012 21:34
 
Nahoru Odpovědět
8.12.2012 21:34
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:8.12.2012 21:36

Já jsem stream nikdy před tím nepoužíval takže nevím jak funguje, když jsem našel jak používat SaveFileDialog
http://msdn.microsoft.com/…edialog.aspx
tak k tomu potřebuju Stream, tomu ovšem nerozumím.

Editováno 8.12.2012 21:36
Nahoru Odpovědět
8.12.2012 21:36
Mo8ilε 15 Ѐλđ
Avatar
Зайчик
Člen
Avatar
Odpovídá na Theodor Johnson
Зайчик:8.12.2012 21:38

Rád bych poradil, ale úplně moc dobře to nechápu. Ty chceš otevřít soubor, ale ne ho přepsat? Takže chceš vytvořit úplně nový soubor a až tam zapisovat? To nechápu, pokud je to tak tak bohatě stačí streamwriter ne?

Nahoru Odpovědět
8.12.2012 21:38
Коммунизм для нашего будущего!
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na Зайчик
Theodor Johnson:8.12.2012 21:39

Ale to bych tím obešel dialog ve kterém si můžu vybrat název souboru a kam ho chci uložit.

Nahoru Odpovědět
8.12.2012 21:39
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:8.12.2012 21:39

Achjo - Stream je na xxx - už jsem ti kód napsal...

saveFileDialog.ShowDialog();

using (StreamWriter sw = new StreamWriter(new FileStream(saveFileDialog.FileName, ... - třeba append)))
    foreach (string item in list)
        sw.WriteLine(item);
 
Nahoru Odpovědět
8.12.2012 21:39
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na matesax
Theodor Johnson:8.12.2012 21:43

Díky, to mi funguje, před tím mě zmátlo to "openFileDialog" :)

Nahoru Odpovědět
8.12.2012 21:43
Mo8ilε 15 Ѐλđ
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Theodor Johnson
matesax:8.12.2012 21:45

Nevěděl jsem co chceš... Nezapomeň na tu podmínku - zvaliduj vstup - aby se ti to nepo xxx kazilo.

 
Nahoru Odpovědět
8.12.2012 21:45
Avatar
Зайчик
Člen
Avatar
Odpovídá na Theodor Johnson
Зайчик:8.12.2012 22:00

Jen bych chtěl doplnit že si tam můžeš šoupnout nějaký filtry. To je dobrá věc.

mujsavefiledialog.Filter = "Textový soubor|*.txt";
Nahoru Odpovědět
8.12.2012 22:00
Коммунизм для нашего будущего!
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovídá na Зайчик
Theodor Johnson:9.12.2012 13:09

Filtry už znám, openFileDialog byl v jedním z prvních programů který jsem se v C# učil :) , ale ne save

Nahoru Odpovědět
9.12.2012 13:09
Mo8ilε 15 Ѐλđ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.