Witam
Mam problem z filtrowaniem plików tekstowych bez rozszerzenia w oknie OpenFileDialog. Zalezy mi na tym abym w otwartym oknie OpenFileDialog widział tylko pliki typu "*." nic wiecej. Właściwości plików do odfiltorwania przedstawiam niżej.
FileInfo fi = new FileInfo(@"C:\Documents and Settings\Polly\Pulpit\UZYWANE\BLOKADA.");
Console.WriteLine("FileInfo.Directory: " + fi.Directory);
Console.WriteLine("FileInfo.Extension: >>>" + fi.Extension + "<<<");
Console.WriteLine("FileInfo.Name: " + fi.Name + "<<<");
Console.WriteLine("FileInfo.FullName: " + fi.FullName);
Console.WriteLine(fi.Attributes);
Console.ReadLine();
Wyniki:
FileInfo.Directory: C:\Documents and Settings\Polly\Pulpit\UZYWANE
FileInfo.Extension: >>><<<
FileInfo.Name: BLOKADA.<<<
FileInfo.FullName: C:\Documents and Settings\Polly\Pulpit\UZYWANE\BLOKADA
Archive
A tak wygląda przygotowanie obiektu typu OpenFileDialog:
openFileDialog1.Filter = "SIPRO Files (*.)|*.|All Files (*.*)|*.*";
openFileDialog1.FilterIndex = 1 ;
Jeżeli ustawię FilterIndex = 1, to nie widzę żądnych plików w oknie, jeżeli ustawię FilterIndex = 2 to będę widział wszystkie pliki w tym te na których mi zależy "." - __jak zrobić aby w oknie otwierania widoczne były TYLKO pliki typu "."?__
Z FilterIndex = 2 plik typu "*." jest otwierany prawidłowo nie ma z tym problemu.
I teraz się zorientowałem, żę w oknie SaveFileDialog też mam problem z tymi plikami. Podczas próby zapisu wyskakuje mi wyjątek "Illegal characters in path." po kliknięciu w oknie SaveFileDialog przycisku Zapisz.
Tak wygląda obsługa zapisywania pliku:
StreamWriter writer;
saveFileDialog1.FileName = label5.Text; //czyli samo "BLOKADA"
//w oknie properties dodatkowo
Filter = "SIPRO Files (*.)|*.";
FilterIndex = 1 ;
RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK) //<--- tu wyskakuje wyjątek "Illegal characters in path."
{
try
{
if (saveFileDialog1.FileName != null)
{
using (writer = new StreamWriter(saveFileDialog1.OpenFile()))
{
for (int i = 0; i < progSipro.PobierzIloscLinii(); i++)
{
writer.WriteLine(progSipro.PobierzLinieProgramu(i));
}
}
}
}
catch (Exception ex)
{
MessageBox.Show("Szczegóły błędu: \n" + ex.Message , "Błąd zapisu pliku", MessageBoxButtons.OK);
writer = null;
}
}
Domyślam się że powodem tego wszystkiego może być brak rozszerzenia w nazwie pliku ale tego pewny nie jestem, mógły ktoś mnie nakierować w czym problem i jak go rozwiązać?
Właśnie sprawdziłem, że jak ustawię:
saveFileDialog1.Filter = "SIPRO Files (*.)|*.|All Files (*.*)|*.*";
saveFileDialog1.FilterIndex = 2 ;
to zapis wychodzi prawidłowo.
Więc, czy źle określam warunki filtrowania dla swojego typu plików "*." ?