home *** CD-ROM | disk | FTP | other *** search
-
- 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;