.NET 3.x Подсчет кол-ва папок и подпапок - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет, делал прогу, которая считает кол-во папок и подпапок. Так вот че-то не все работает. Сейчас можно в бета тесте посмотреть(без кода правда) вот почемуто глючит. вот код:
Листинг программы
  1. public partial class Form1 : Form
  2. {
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. }
  7. string[] GetDirectories;
  8. int a = 0;
  9. int i = 0;
  10. int b = 0;
  11. private void Form1_Load(object sender, EventArgs e)
  12. {
  13. comboBox1.Items.Add(@"D:\");
  14. comboBox1.Items.Add(@"C:\");
  15. comboBox1.Items.Add(@"E:\");
  16. comboBox1.Items.Add(@"H:\");
  17. comboBox1.Items.Add(@"I:\");
  18. }
  19. private void button1_Click(object sender, EventArgs e)
  20. {
  21. b = 0;
  22. GetDirectories = Directory.GetDirectories(Convert.ToString(comboBox1.SelectedItem));
  23. timer1.Enabled = true;
  24. }
  25. public void Scan()
  26. {
  27. foreach (string SetDirectories1 in GetDirectories)
  28. {
  29. a += 1;
  30. textBox1.Text = Convert.ToString(a);
  31. listBox1.Items.Add(SetDirectories1);
  32. listBox1.TopIndex = listBox1.Items.Count - 1;
  33. }
  34. i += 1;
  35. }
  36. public void Peredacha()
  37. {
  38. GetDirectories = null;
  39. try
  40. {
  41. GetDirectories = Directory.GetDirectories(Convert.ToString(listBox1.Items[i]));
  42. }
  43. catch
  44. {
  45. GetDirectories = Directory.GetDirectories(Convert.ToString(listBox1.Items[i-1]));
  46. }
  47. }
  48. private void timer1_Tick(object sender, EventArgs e)
  49. {
  50. if (b == 0)
  51. {
  52. try
  53. {
  54. Scan();
  55. Peredacha();
  56. }
  57. catch
  58. {
  59. timer1.Stop();
  60. // a = 0;
  61. //i = 0;
  62. b = 1;
  63. }
  64. }
  65. else { MessageBox.Show("Error"); b = 1; timer1.Stop(); break; }
  66. }
  67. }
некотрые части вырезаны..

Решение задачи: «.NET 3.x Подсчет кол-ва папок и подпапок»

textual
Листинг программы
  1. int KolDir(string FolderName)
  2.         {
  3.             int res = 1;
  4.             try
  5.             {
  6.                 foreach (string subdir in Directory.GetDirectories(FolderName))
  7.                 {
  8.                     res += KolDir(subdir);
  9.                 }
  10.             }
  11.             catch (Exception ex)
  12.             {
  13.             }
  14.             return res;
  15.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы