|
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
ディスケットにコピーをする前にディスクが入っているかどうかの
チェックを行いたいのですが、ディスクが入っていないときにでる
『システムエラー - 読み出せません:ドライブA』
のダイアログを出さないようにしたいのですがどの様にしたらいい
のでしょうか?
[A]
次の関数を使ってみて下さい。
(* 指定されたドライブが使用可能か返す *)
(* drive : 'A'..'Z', 'a'..'z' *)
function IsDriveReady(drive : char) : boolean;
var
oldmode : word;
searchrec : tSearchRec;
findstate : integer;
begin
drive := upcase(drive);
oldmode := SetErrorMode(SEM_FAILCRITICALERRORS);
result := DiskSize(ord(drive)-$40) <> -1;
if result and (GetDriveType(ord(drive)-$41)=DRIVE_REMOTE) then begin
findstate := FindFirst(drive+':\*.*',$3f, searchrec);
FindClose(searchrec);
result := (findstate = 0);
end;
SetErrorMode(oldmode);
end;
Original document by ataru(SGR03043) in FGALWINL mes 5 'N'
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|