当前位置:编程文档 >> DELPHI >> 避免驱动器A没有准备好错误
首页

避免驱动器A没有准备好错误

所属类别:DELPHI
推荐指数:★★☆
文档人气:23
本周人气:2
发布日期:2007-5-11

当你的程序存取A驱动器时,可能会被'Drive Not Ready'系统错误所中断,可以使用下面的函数来测试驱动器,以避免这种情况发生,代码如下:

function DiskInDrive(Drive: Char): Boolean;

var

ErrorMode: word;

begin

Drive: = UpCase(Drive);

if not (Drive in ['A'..'Z']) then

raise EConvertError.Create('Not a valid drive ID');

ErrorMode := SetErrorMode(SEM_FailCriticalErrors);

try

if DiskSize(Ord(Drive) - $40) = -1 then

DiskInDrive := False

else

DiskInDrive := True;

finally

SetErrorMode(ErrorMode);

end;

end;

本函数的工作原理是:首先将驱动器符转换为大写字母,然后关闭系统错误报告功能,执行磁盘操作,操作成功返回True,表明驱动器里存在磁盘;操作失败返回False,表明发生错误,函数结束时打开系统错误报告功能。

文档说明:

     

相关文档


读取评论列表……