Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

Как определить наличие диска?   Найти похожие ветки 

 
Woolen ©   (2004-01-06 16:57) [0]

Всем привет!
Подскажите, как определить наличие диска, да так, чтобы винда дурацких вопросов не задавала? На пример в FAQ можно не указывать, я и так это знаю. Дело не в этом, а в том, что у меня даже без Exception"ов ввода-вывода и при отключенном (как и положено) диалоге об ошибке обращения к файлу, все равно, появляется форточка типа "Abort, Retry, Ingnore", но на языке оси - на русском. Ось Windows XP SP1 MUI. Прошу помощи у всех, кто когда-либо сталкивался с стакой проблемой.


 
DVM ©   (2004-01-06 17:08) [1]

может так:
{$i-}
...код...
{$i+}


 
Woolen ©   (2004-01-06 17:24) [2]

так и есть.
"даже без Exception"ов ввода-вывода", - написал я выше. Если бы так все было просто, я бы вопросов здесь не задавал...


 
VMcL ©   (2004-01-06 17:50) [3]

>>2 Woolen ©  (06.01.04 16:57)

Ошибка в 17 строке :))

На какой именно фукнции выдает окно?


 
Woolen ©   (2004-01-06 18:09) [4]


> На какой именно фукнции выдает окно?

ChDir


 
YuRock ©   (2004-01-06 18:23) [5]

Используй лучше апишную SetCurrentDirectory - работать будет всегда а падать не будет никогда


 
DDA ©   (2004-01-06 18:38) [6]

ПРоверка диска на присутствие+



procedure TForm1.Button1Click(Sender: TObject);
function IsDiskInDrive(Drive: string): Boolean;
var
 ErrMode: Cardinal;
 VolName: array[0..255] of Char;
 FS: array[0..255] of Char;
 MaxComSize: Cardinal;
 Flags: Cardinal;
begin
 ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS);
 try
   Result := GetVolumeInformation(PChar(Drive), VolName, SizeOf(VolName), nil,
     MaxComSize, Flags, FS, SizeOf(FS));
 finally
   SetErrorMode(ErrMode);
 end;
end;
begin
   if not IsDiskInDrive(Edit1.Text) then ShowMessage("А диска-то нет :(")
   else ShowMessage("есть");
end;




Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
4-1074261583
MPS
2004-01-16 16:59
2004.03.28
Как получить список процессов в WinNT 2000?


6-1074172801
FOIL
2004-01-15 16:20
2004.03.28
Все процессы на удалённой машине


1-1078732046
Erik
2004-03-08 10:47
2004.03.28
Ошибка в TBaseVirtualTree.ScrollIntoView


9-1062909682
Micah'GF
2003-09-07 08:41
2004.03.28
TDIB => TImage


14-1078401098
alless
2004-03-04 14:51
2004.03.28
xaker.ru Закрылся?