Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить есть ли дискета в дисководе [D5, Win2k]


Unknown user ©   (2003-02-04 20:39:00) 

И сделать это минуя стандартный в Win2000 dialog box -No disk -Try again, Cancel, Continue...


MARcoDEN   (2003-02-06 10:19:00) [1]

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;

...

If DiskInDrive("A") then // Drive is Ready
else // Drive is not Ready


Songoku   (2003-02-05 16:23:00) [2]

function IsFloppyOK(disk:char):Bool;
var f: THandle;
a: TWIN32FindData;
begin
Result:=True;
f:=FindFirstFile("A:\*.*",a);
if f=INVALID_HANDLE_VALUE then Result:=False;
Windows.FindClose(f);
end;

procedure TForm1.Button3Click(Sender: TObject);

begin
if IsFloppyOK("A")=False then Caption:="Don"t work" else Caption:="Ok";
end;


Song   (2003-02-04 20:43:00) [3]

В FAQ


Наверх

Титульная страница Поиск, карта сайта Написать письмо