Как проверить готовность диска А

Советы » Диски » Как проверить готовность диска А

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(13) + chr(10) +
        'Повторить?', PChar('Диск ' + UpperCase(Drive)), mb_OKCANCEL +         mb_iconexclamation
{IconQuestion}) = idcancel) then


      begin

        Result := false

;         Break;       end

;     end

;   finally


    SetErrorMode(EMode);   end

;
end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com