home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 October / pcx14_9710.iso / swag / delphi.swg / 0054_Checking for Drive Ready.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-11-24  |  601 b   |  24 lines

  1.  
  2. function DiskInDrive(Drive: Char): Boolean;
  3. var
  4.   ErrorMode: word;
  5. begin
  6.   { make it upper case }
  7.   if Drive in ['a'..'z'] then Dec(Drive, $20);
  8.   { make sure it's a letter }
  9.   if not (Drive in ['A'..'Z']) then
  10.     raise EConvertError.Create('Not a valid drive ID');
  11.   { turn off critical errors }
  12.   ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
  13.   try
  14.     { drive 1 = a, 2 = b, 3 = c, etc. }
  15.     if DiskSize(Ord(Drive) - $40) = -1 then
  16.       Result := False
  17.     else
  18.       Result := True;
  19.   finally
  20.     { restore old error mode }
  21.     SetErrorMode(ErrorMode);
  22.   end;
  23. end;
  24.