如何检查A驱中有无插入软盘?(40分)(40分)

  • 主题发起人 主题发起人 saving
  • 开始时间 开始时间
S

saving

Unregistered / Unconfirmed
GUEST, unregistred user!
如何检查A驱中有无插入软盘?(40分)
 
if disksize(1)=-1 表示软驱A中没有软盘
 
试试他:

function DiskInDrive(Drive: Char): Boolean;
var ErrorMode: word;
begin
if Drive in ['a'..'z'] then Dec(Drive, $20);
if not (Drive in ['A'..'Z']) then
raise EConvertError.Create('Not a valid drive ID');
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
SetErrorMode(ErrorMode);
end;
end;
 
这样吧...
function checka:boolean;
var f:file;
begin
assignfile(f,'a:/xx.xx');
{$I-}
rewrite(f);
{$I+}
if ioresult<>0 then result:=false else result:=true;
end;
 
procedure TForm1.Button1click(Sender : TObject);
begin
if not directoryexists('a:/') then
MessageDlg('没有软盘。',mtError,[mbOk],0)
else
{ 进行磁盘操作 }
end;
 
多人接受答案了。
 
后退
顶部