Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2009, 17:44   #1
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Вопрос Определить возможность записи на диск [HDD,USB FLash,other]

Доброго времени суток !

Собственно вопрос в названии .
Мой вариант такой :
Код:
function DriveRTW(DriveLetter:Char):Boolean ;
var tf:TextFile;
RndFName:string;
begin
RndFName := RndStr(8);//Рандомное имя
try
AssignFile(tf,DriveLetter + ':\' + RndFName);
{$I-}
Rewrite(tf); // создать новый файл
{$I+}
if IOResult <> 0 then // ошибка создания файла
Result := False else Result := True;
finally
{$I-}
CloseFile(tf); // закрыть файл
{$I+}
//ShowMessage('See File '+RndFName+' Now on ' + DriveLetter + ':\');
DeleteFile(PChar(DriveLetter + ':\' + RndFName));//Удаляем
end;
end;
Может есть чтонибудь "элегантнее" ?

Спасибо
Lime вне форума Ответить с цитированием
Старый 28.11.2009, 18:37   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вы объясните смысл вашей процедуры, создающей и тут же уничтожающей файл... Это что - "затирка" ? Не похоже...
mihali4 вне форума Ответить с цитированием
Старый 28.11.2009, 19:02   #3
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Смысл в том чтобы проверить возможна ли запись на данный диск файла(лов).
Поясню , у меня есть пересносной HDD и Флешка. На обоих есть замечательная функция - защита от записи(включается и отключается кнопкой на устройстве).

Таким образом я пытаюсь определить возможно ли нормально работать с "устройством".А наличие/отстутствие ошибки при создании файла как-раз и указывает на возможность записи на диск. Ну и убираю за собой.
Lime вне форума Ответить с цитированием
Старый 28.11.2009, 19:35   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Теоретически возможна такая ситуация, когда вы его запишете, а стереть не сможете...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.11.2009, 19:42   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Возможно, вам нужно это и это.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 28.11.2009, 19:53   #6
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Линк 1 я использую предварительно , для начала нужно узнать есть ли диск в устройстве ( если это Флоп или СD ) а уже потом проверяю защиту от записи.

Принципиально флешка/жд висят в системе только при подключении.

В принципе Алгоритм такой :
Получаю список дисков в системе
Пробегаюсь по ним , определяю тип
Проверяю на присутствие диска (на всякий пожарный )
Проверяю на защиту от записи
Работаю.

Естественно всё это может пригодится на будущее , и я пытаюсь сделать универсальным. У меня на данный момент вс необходимое работает , а тему я создал в поисках более "элегантного" решения ...

И ещё раз напишу , пытаюсь опредлелть : Возможна ли запись на диск. ( Под проверку попадают только устройства с диском )

Последний раз редактировалось Lime; 28.11.2009 в 19:58.
Lime вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема установкой XP на USB HDD rad-on79 Windows 14 29.06.2009 22:01
Перехватить подключение USB Flash Drive alex23xandr Win Api 5 26.05.2009 17:45
USB диск ruudik Компьютерное железо 4 21.03.2009 17:06
Проблема с USB Flash Drive Delia- Компьютерное железо 7 07.11.2008 21:02
USB Flash =LeonZone= Win Api 45 30.10.2007 10:09