Category: Miscellaneous
Title: Check if a disk is in the drive
Date added: 15.03.2006
Hits: 4937
function DiskInDrive(Drive: Char): Boolean;
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;