![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FindFirst [D5, D6, Win95/98, NT4, Win2k]
esprit_bel © (2002-05-28 08:20:00)Б.Б. нужно проверить есть ли дискета в дисководе.Скачал пример, но он работает не корректно.Подскажите как разбить возвращаемые значения FindFirst на два подмножества (есть диск и нет его).
Заранее спасибо.
MBo (2002-05-28 08:30:00) [1]Determining if there is a disk/diskette/CD in a removable-disk drive
var
DrivePath: array [0..3] of char = "A:\";
function IsDiskIn(drive: char): boolean;
var
d1, d2, d3, d4: longword;
begin
DrivePath[0] := drive;
Result := GetDiskFreeSpace(DrivePath, d1, d2, d3, d4);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not IsDiskIn("A") then
ShowMessage("Drive A: Not Ready");
end;
Reindeer Moss Eater (2002-05-28 08:28:00) [2]function IsDriveReady(DriveLetter : char) : bool;
var
OldErrorMode : Word;
OldDirectory : string;
begin
OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
GetDir(0, OldDirectory);
{$I-}
ChDir(DriveLetter + ":\");
{$I+}
if IoResult <> 0 then
Result := False
else
Result := True;
ChDir(OldDirectory);
SetErrorMode(OldErrorMode);
end;