Проверить, вставлен ли диск

function DiskInDrive(Drive: Char): Boolean;

// Disk can be a floppy, CD-ROM,...

var

ErrorMode: Word;

begin

{ make it upper case }

if Drive in ['a'..'z'] then Dec(Drive, $20);

{ make sure it's a letter }

if not (Drive in ['A'..'Z']) then

raise EConvertError.Create('Not a valid drive ID');

{ turn off critical errors }

ErrorMode := SetErrorMode(SEM_FailCriticalErrors);

try

{ drive 1 = a, 2 = b, 3 = c, etc. }

if DiskSize(Ord(Drive) - $40) = -1 then

Result := False

else

Result := True;

finally

{ Restore old error mode }

SetErrorMode(ErrorMode);

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if DiskInDrive('a') = False then

ShowMessage('Drive not ready');

end;

Добавить комментарий