Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 13.03.2015
Сообщений: 88

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

20.05.2016, 21:28. Показов 4010. Ответов 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
6101 / 4957 / 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
6101 / 4957 / 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru