Как программно "щелкнуть" по компоненту speed button?
Проверка готовности диска А: (вариант 2)
Written on . Posted in [Delphi] Система. Железо
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;
Дополнение от читателя:
...можно для пущей функциональности добавить ряд строк:
function DiskInDrive(const Drive: char): Boolean; var DrvNum: byte; EMode: Word; begin result := true; // было false DrvNum := ord(Drive); if DrvNum >= ord('a') then dec(DrvNum,$20); EMode := SetErrorMode(SEM_FAILCRITICALERRORS); try
while DiskSize(DrvNum-$40) = -1 do begin // при неудаче выводим
диалог
if (Application.MessageBox('Диск не готов...'+chr(1310)+