Avatar
Theodor Johnson
Redaktor
Avatar
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
Avatar
matesax
Redaktor
Avatar
Odpovídá na Theodor Johnson
matesax:

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
Redaktor
Avatar
Odpovídá na matesax
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
Avatar
matesax
Redaktor
Avatar
Odpovídá na matesax
matesax:

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
Redaktor
Avatar
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
Avatar
Зайчик
Člen
Avatar
Odpovídá na Theodor Johnson
Зайчик:

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
Redaktor
Avatar
Odpovídá na Зайчик
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
Avatar
matesax
Redaktor
Avatar
Odpovídá na Theodor Johnson
matesax:

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
Redaktor
Avatar
Odpovídá na matesax
Theodor Johnson:

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

Nahoru Odpovědět 8.12.2012 21:43
Přecházím na "Cross-Platform Development"
Avatar
matesax
Redaktor
Avatar
Odpovídá na Theodor Johnson
matesax:

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
Зайчик:

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
Redaktor
Avatar
Odpovídá na Зайчик
Theodor Johnson:

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
Přecházím na "Cross-Platform Development"
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.