Jak sprawdzić czy w folderze są jakieś pliki?

Odpowiedz Nowy wątek
2011-07-26 13:27
das
0

Jak sprawdzić czy w folderze są jakieś pliki. Potem jeśli są program wyświetla ostrzeżenie i pyta się czy kontynuować wykonywanie programu. Jeśli użytkownik odpowie NIE, to jak przerwać dalsze wykonywanie się kodu?

Pozostało 580 znaków

2011-07-26 13:59
2011-07-26 14:20
1

obiekt DirectoryInfo i jego metoda GetFiles(), zwraca tablice znalezionych plikow w folderze, typu FileInfo[] - jeżeli tablica będzie pusta tzn że w folderze nie ma plików.
http://msdn.microsoft.com/en-[...]/system.io.directoryinfo.aspx

Jeżeli są to wyświet np. MessageBox z dwoma klawiszami Tak i Nie (YesNo) i pytaniem czy kontynuować bo w folderze znaleziono pliki. Metoda Show() obiektu MessageBox zwraca typ wyliczeniowy DialogResult, wystarczy go porównać czy będzie równy z DialogResult.No jeżeli tak to przerwac to co mialo być zrobione na pustym folderze.
http://msdn.microsoft.com/en-[...]windows.forms.messagebox.aspx
http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx

wartosci typu DialogResult:
http://msdn.microsoft.com/en-[...]ndows.forms.dialogresult.aspx

PS. Nie wykluczone że to można prościej, pewnie starzy wyjadacze znają milion innych sposobów na ten problem ;)


Sterczące kolce Pondijusa, ostre grzebienie Daktyloskopei, Trygla i latający Wieprzoryb są niczym wobec Bestii która nas gnębi...
edytowany 2x, ostatnio: Varran, 2011-07-26 20:32

Pozostało 580 znaków

2011-07-26 16:42
das
0
 
         infoOkataloguDI = new DirectoryInfo(sciezkaDoFolderuAudioBazy);
                if (infoOkataloguDI.GetFiles() != null)
                {
                    MessageBox.Show("Nagrania dla tego działo już istnieją.");
                    buttonUtworzNagrania.Enabled = false;
                }
                else
                {
                    buttonUtworzNagrania.Enabled = true;
                }
 if (infoOkataloguDI.GetFiles() != null)

czy dobrze zapisałem warunek, że tablica nie jest pusta?

Pozostało 580 znaków

2011-07-26 18:18
0

Raczej nie. Metoda DirectoryInfo.GetFiles() zwraca raczej pustą tablicę, a nie null. Pusta tablica to taka, w której liczba elementów (Length) równa się 0.

edytowany 1x, ostatnio: somekind, 2011-07-26 18:19

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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