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?
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-us/library/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-us/library/system.windows.forms.messagebox.aspx
http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx
wartosci typu DialogResult:
http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx
PS. Nie wykluczone że to można prościej, pewnie starzy wyjadacze znają milion innych sposobów na ten problem ;)
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?
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.