Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите !!! [D6, Win95/98, WinXP]


Мак ©   (2002-09-18 05:26:00) 

Господа! Подскажите ,пожайлуста, как мне определить,что User вставил дискету.


AME   (2002-09-18 10:16:00) [1]

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;

procedure TForm1.Button1Click(Sender: TObject);
begin
if not IsDriveReady("A") then
ShowMessage("Drive Not Ready") else
ShowMessage("Drive is Ready");
end;
////////////////////////////////////////
function DiskInDrive(const Drive: char): Boolean;
var
DrvNum: byte;
EMode: Word;
begin
result := true; // было false
DrvNum := ord(Drive);
if DrvNum >= ord("a") then dec(DrvNum,$20);
EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try

while DiskSize(DrvNum-$40) = -1 do begin // при неудаче выводим
диалог

if (Application.MessageBox("Диск не готов..."+chr(13)+chr(10)+
"Повторить?",PChar("Диск "+UpperCase(Drive)),mb_OKCANCEL+
mb_iconexclamation{IconQuestion})=idcancel) then begin
Result:=false;
Break;
end;
end;
finally
SetErrorMode(EMode);
end;
end;
//copyrigth "Kuliba"


Viktor Kushnir   (2002-09-18 07:23:00) [2]

Никак, пока не попытаешься с нее что-нибудь считать. Например найти на ней файлы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо