0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88

Файловый менеджер и ошибка "устройство не готово"

20.05.2016, 21:28. Показов 4144. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, начал писать файловый менеджер но тут столкнулся с проблемой. выбивает ошибку в выборе CD приводов. скидываю проект прошу посмотреть и посоветовать как это можно исправить. ну и вообще ваши предложения по улучшению его(что можно добавить, как лучше что-то сделать)
Вложения
Тип файла: rar FileM.rar (255.4 Кб, 14 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2016, 21:28
Ответы с готовыми решениями:

Ошибка Read error: ABRT "Устройство не готово" в Victoria HDD
Добра всем! Подскажите по утилите Victoria HDD. Есть флешка, которая видится в Win7 как носитель, но при попытке открыть пишет...

Всегда ошибка при открытии файла StreamReader, StreamWriter: "Устройство не готово"
using (StreamReader sr = new StreamReader(filename)) Делаю так, и всегда ошибка, всегда. Необработанное исключение типа...

Ошибка в Victoria 16:22:01 : Block start at 580491264 (297 GB) Read error: ABRT "Устройство не готово"
Есть хаб DEXP HA133 для подключения жёстких дисков. Поставил проблемный диск. При проверке в victoria выдаёт ошибку: 16:22:01 : Block...

11
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2016, 22:16
Raitek, Первое, что бросилось в глаза - папочка backup
Освойте github, очень просто понять, как он работает (даже плагин для студии есть), и можно будет сколько угодно версий держать (еще и смотреть потом из теплого кресла с дымящейся чашкой чая, как проект развиваляс).

Ну а по коду сказать особо нечего, его мало, чтобы были какие-то значимые косяки. Дублирование кода, да отсутствие модульности - что еще про такой маленький проект можно сказать
0
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88
20.05.2016, 22:29  [ТС]
как мне исправить ошибку которую выбивает когда выбираю CD приводы?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
20.05.2016, 22:34
Raitek, я б помог, но у меня уже лет 5 нет cd-рома, так что я при всем желании не отвечу на этот вопрос Потому что воспроизвести ошибку не смогу. А для просмотра кода мне достаточно блокнота.
0
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88
20.05.2016, 22:39  [ТС]
вот такое выбивает
Миниатюры
Файловый менеджер и ошибка "устройство не готово"   Файловый менеджер и ошибка "устройство не готово"  
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
20.05.2016, 23:19
Raitek,
Похоже, что пытаетесь получить список папок и файлов из CD-привода, у которого есть буква диска, но сам привод пуст. Проверяйте диск на IsReady.
Просто пример:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void Form_Load(object sender, EventArgs e)
{
    DriveInfo[] allDrives = DriveInfo.GetDrives(); //список дисков
    cbDrives.Items.AddRange(allDrives.Select(x => x.Name).ToArray()); //имена дисков в комбобокс
    cbDrives.SelectedIndexChanged += cbDrives_SelectedIndexChanged; // подключаем обработчик SelectedIndexChanged
}
 
void cbDrives_SelectedIndexChanged(object sender, EventArgs e)
{
    lbDir.Items.Clear();
    DriveInfo drive = new DriveInfo(cbDrives.Text); //берем диск по выбранному имени
    if (drive.IsReady) //и проверяем на готовность/возможность чтения
    {
        lbDir.Items.AddRange(Directory.GetDirectories(drive.Name)); //список папок
        lbDir.Items.AddRange(Directory.GetFiles(drive.Name)); //список файлов
    }
}
1
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88
21.05.2016, 02:03  [ТС]
на IsReady выбивает постоянно ошибка. надо библиотеку подключать или чего так?

Ошибка 1 "System.IO.DirectoryInfo" не содержит определения для "IsReady" и не был найден метод расширения "IsReady", принимающий тип "System.IO.DirectoryInfo" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
21.05.2016, 10:02
Цитата Сообщение от Raitek Посмотреть сообщение
Ошибка 1 "System.IO.DirectoryInfo" не содержит определения для "IsReady"
Цитата Сообщение от Даценд Посмотреть сообщение
DriveInfo drive = new DriveInfo(cbDrives.Text);
Разницу замечаете?
1
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
21.05.2016, 10:06
Лучший ответ Сообщение было отмечено Raitek как решение

Решение

Raitek,
IsReady - свойство не DirectoryInfo, а DriveInfo. Позволяет определить готов ли диск к использованию.
В вашем коде можно в методе BuildList проверять так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
private void BuildList(string path, ListView lvV)
{
    lbDir.Items.Clear();
    DriveInfo drive = new DriveInfo(Path.GetPathRoot(path));
    if (drive.IsReady)
    {
        //...
    }
    else
    {
        MessageBox.Show("Устройство не готово!");
    }
}
Либо можно делать проверку в методе BuildLocalDrivers и не добавлять (или делать нерабочей) кнопку недоступного диска, но тогда нужно делать, чтобы кнопка добавилась (активизировалась) когда диск станет доступным.
1
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88
21.05.2016, 18:59  [ТС]
Спасибо большое)))

Добавлено через 5 часов 33 минуты
а вот такое ещё дело как бы по поводу приводов разобрался по папка нормально просматривается но если открывать файлы то всё равно ошибка на том же месте чего-то...
0
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88
22.05.2016, 13:56  [ТС]
я разобрался с приводами но чего у меня на том же месте выбивает снова ошибку но уже тогда когда я хочу открыть файлы любые.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 private void BuildList(string path, ListView lvV)
        {
            lvV.Clear();
            
            DriveInfo drive = new DriveInfo(Path.GetPathRoot(path));
            if (drive.IsReady)
            {
            ListView lv = Build.BuildColumnHeaders(lvV);
            lv.SmallImageList = ilIcon;
            lv.LargeImageList = ilIcon;
 
            DirectoryInfo DirInfo = new DirectoryInfo(path);
 
           DirectoryInfo[] dirFromArr = DirInfo.GetDirectories();
 
            FileInfo[] DirFiles = DirInfo.GetFiles();
 
            if(path != DirInfo.Root.ToString())
                lv.Items.Add(new ListViewItem(new string[] { "...", "", "<Папка>", "" }));
 
            int cntDir = 0;
            foreach (DirectoryInfo DirName in dirFromArr)
            {
                if (!Properties.Settings.Default.ShowHidden)
                {
 
                    if ((DirName.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
                    {
                        continue;
                    }                
                }
 
                Icon iicn = SystemIcon.GetFolderIcon(path + DirName.Name, SystemIcon.IconSize.Small, false);
                ilIcon.Images.Add(iicn);
 
                ListViewItem lvDiri = new ListViewItem(new string[] { DirName.Name, "", "<Папка>", DirName.LastAccessTime.ToShortDateString() + " " + DirName.LastAccessTime.ToShortTimeString() });
 
                if (cntDir == 0)
                {
                    lvDiri.Selected = true;
                    lvDiri.Focused = true;
                }
                lvDiri.ImageIndex = nIco++;
                lv.Items.Add(lvDiri);
                cntDir++;
            }
            
            foreach (FileInfo DirFile in DirFiles)
            {
 
                if (!Properties.Settings.Default.ShowHidden)
                {
 
                    if ((DirFile.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
                    {
                        continue;
                    }
                }
 
                ilIcon.Images.Add(SystemIcon.GetFileIcon(path + DirFile.Name, SystemIcon.IconSize.Small, false));
 
                ListViewItem lvFilei = new ListViewItem(new string[] { Path.GetFileNameWithoutExtension(path + DirFile.Name), DirFile.Extension, DirFile.Length.ToString(), DirFile.LastAccessTime.ToShortDateString() + " " + DirFile.LastAccessTime.ToShortTimeString() });
                lvFilei.ImageIndex = nIco++;
                lv.Items.Add(lvFilei);
            }
            }
            else
            {
                MessageBox.Show("Устройство не готово!");
            }
            
            }
Миниатюры
Файловый менеджер и ошибка "устройство не готово"  
0
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88
25.05.2016, 12:20  [ТС]
а чего когда я пытаюсь открывать файлы выбивает на том же месте ошибку типо путь не был найден? как это можно исправить.. искал пытался сам сделать но у меня какой-то застой ничего не получается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2016, 12:20
Помогаю со студенческими работами здесь

Устройство не готово
Диск форматируется утилитой, но виндой не видится объём в управлении дисками . Выдаёт ошибки на картинках при установке винды.

Устройство не готово
Всем привет! Есть Builder 6 и Builder XE, на них установлены сторонние компоненты AlphaControls. Все прекрасно работало и не возникало...

Windows - Устройство не готово!
Устройство Transcend StoreJet 25m3 500 gb. Подключаю к ноутбуку (Windows XP) Устройство не отображается в Моем компьютере.

System.IO.IOException: Устройство не готово.
Чем может вызвана данная проблема? ==================================== Подробная информация об использовании оперативной (JIT)...

Не работает запись в файл - устройство не готово
System.IO.Exception устройство не готово. Подскажите, как исправить?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru