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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2009, 23:07   #1
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию Как определить находится ли диск в системе?

Вобщем такой трабл, мне надо скопировать файл на диск, и записать его, я определяю с помощью функции IsDriveReady в системе ли диск, с дисководом эта функция прокатывает, а вот с картридером нет, та когда флешка не вставлена всеравно показывает как будто диск вставлен

вот код функции
Код:
function IsDriveReady(DriveLetter : char) : bool;
var
OldErrorMode : Word;
OldDirectory : string;
begin
OldErrorMode := SetErrorMode(SEM_NOOPENFILEERRORBOX);
GetDir(0, OldDirectory);
{$I-}
ChDir(DriveLetter + ':\');
{$I+}
if IoResult > 0 then
Result := False
else
Result := True;
ChDir(OldDirectory);
SetErrorMode(OldErrorMode);
end;
пробовал {$I-} на весь код, не помогло!
пробовал
Код:
try ... except exit
не помогает
dolphin705 вне форума Ответить с цитированием
Старый 03.07.2009, 23:14   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,480
По умолчанию

Всё прекрасно работает ! Вы, как используйте(подкл) эту функцию ?
uberchel вне форума Ответить с цитированием
Старый 04.07.2009, 00:01   #3
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

так
Код:
if IsDriveReady('D') = True then ...
dolphin705 вне форума Ответить с цитированием
Старый 04.07.2009, 00:03   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,480
По умолчанию

Не знай, я также и у меня все нарм опредиляет, может с материнкай чето не так или винда глючит?
uberchel вне форума Ответить с цитированием
Старый 04.07.2009, 00:12   #5
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Да у мя тоже, только карт ридер не определяет, что там диска нет!

Ну что кто нибудь поможет или нет???

В дисках G и H определяет что нет устроуства, а вот в i пишет ошбки при выполнении кода!
Изображения
Тип файла: jpg 3.jpg (28.5 Кб, 120 просмотров)

Последний раз редактировалось Stilet; 08.07.2009 в 12:05.
dolphin705 вне форума Ответить с цитированием
Старый 08.07.2009, 12:07   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если попробовать
Код:
if DirectoryExists(DriveLetter + ':\') then //
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2009, 12:25   #7
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Спасибо, так работает!
dolphin705 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив в Си. как определить и удалить строчку в которой находится макс элемент Софья9 Помощь студентам 15 11.06.2009 18:46
Определить какая из точек находится ближе к началу координат(алгоритм ветвления). Rakfeller Паскаль, Turbo Pascal, PascalABC.NET 16 25.01.2009 02:01
Задана точка с координатами (x, y). Определить, на какой оси или в каком квадранте она находится. С++ Wia Помощь студентам 4 13.12.2008 14:17