Пример #1
0
        /// <summary>
        /// Создание массива элементов для отображения
        /// </summary>
        public void CreateList()
        {
            string[] dirs;
            string[] file;
            try
            {
                dirs = Directory.GetDirectories(start_directory);
                file = Directory.GetFiles(start_directory);
            }

            catch
            {
                PrintHead(start_directory);
                PrintLine.FullLine();
                PrintLine.Print("ошибка доступа");
                start_directory = Directory.GetParent(start_directory)?.FullName;
                PrintLine.FullLine();
                Console.ReadLine();
                Console.Clear();
                return;
            }

            int first_button = 1;
            int last_button  = 0;

            if (havecopy)
            {
                last_button += 1;
            }

            int list_len = dirs.Length + file.Length + first_button + last_button;

            list = new FileElement[list_len];

            list[0] = new FileElement(FileElement.TypeElement.backspace);

            if (havecopy)
            {
                list[list.Length - 1] = new FileElement(FileElement.TypeElement.copylistbutton);
            }

            for (int i = 1; i < list.Length - last_button; i++)
            {
                if (i - first_button < dirs.Length)
                {
                    list[i] = new FileElement(dirs[i - first_button]);
                }
                else if (i >= dirs.Length + first_button)
                {
                    list[i] = new FileElement(file[i - dirs.Length - first_button]);
                }
            }

            len_menu = list.Length - 1;
        }
Пример #2
0
 /// <summary>
 /// Добавить элемент в массив для копирования
 /// </summary>
 /// <param name="file_to_copy"></param>
 public void AddToCopyList(FileElement file_to_copy)
 {
     havecopy = true;
     if (copylist[copylist.Length - 1] == null)
     {
         copylist[copylist.Length - 1] = file_to_copy;
     }
     else
     {
         Array.Resize(ref copylist, copylist.Length + 1); copylist[copylist.Length - 1] = file_to_copy;
     }
 }
Пример #3
0
        /// <summary>
        /// Проверка что директория существует
        /// </summary>
        /// <returns>False если не существует</returns>
        public bool CheckDir()
        {
            if (Directory.Exists(start_directory))
            {
                return(true);
            }

            DriveInfo[] alldrive = DriveInfo.GetDrives();
            list = new FileElement[alldrive.Length];

            for (int i = 0; i < list.Length; i++)
            {
                list[i] = new FileElement(FileElement.TypeElement.drive, alldrive[i].Name);
            }
            len_menu        = list.Length - 1;
            start_directory = $"Укажите диск";

            return(false);
        }