try
  //选择A盘
finally
  //出错时的动作
end;

解决方案 »

  1.   

    这样:if DiskSize(1)=-1 then      // 1代表A,以此类推
    ShowMessage('尚未就绪!');
    SHFormatDrive(0,$FFFF,1);  //格式化   0代表A,以此类推
      

  2.   

    一段代码:
    if disksize(1)=-1 表示软驱A中没有软盘
    **********
    ///检查驱动器中是否有磁盘
    function DiskInDrive(const Drive: char): Boolean; 
    var 
      DrvNum: byte; 
      EMode: Word; 
    begin 
      result := false; 
      DrvNum := ord(Drive); 
      if DrvNum >= ord('a') then dec(DrvNum,$20); 
      EMode := SetErrorMode(SEM_FAILCRITICALERRORS); 
      try 
        if DiskSize(DrvNum-$40) <> -1 then result := true 
        else messagebeep(0); 
      finally 
        SetErrorMode(EMode); 
      end; 
    end;
      

  3.   

    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;