Kontrola pripravenosti mechaniky.

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;