Форматиране на дискета

2 отговора 137 прегледа
#1

Форматиране на дискета

Някой да знае начин за форматиране на дискета без да излиза shell диалога, т.е. директно да се форматира дискетата без да тормозя юзера с диалози на английски ?
Ако може линк или примерен код ...

За тези които искат да ползват стандартния диалог:

function SHFormatDrive(hWnd : HWND;
Drive : Word;
fmtID : Word;
Options : Word) : Longint
stdcall; external 'Shell32.dll' name 'SHFormatDrive';

...........
procedure MyFormat;
const
SHFMT_DRV_A = 0;
SHFMT_DRV_B = 1;
SHFMT_ID_DEFAULT = $FFFF;
SHFMT_OPT_QUICKFORMAT = 0;
SHFMT_OPT_FULLFORMAT = 1;
SHFMT_OPT_SYSONLY = 2;
SHFMT_ERROR = -1;
SHFMT_CANCEL = -2;
SHFMT_NOFORMAT = -3;
var
FmtRes : LongInt;
begin
try
FmtRes:=ShFormatDrive(Handle,
SHFMT_DRV_A,
SHFMT_ID_DEFAULT,
SHFMT_OPT_QUICKFORMAT);
case FmtRes of
SHFMT_ERROR:
ShowMessage('Error formatting the drive');
SHFMT_CANCEL:
ShowMessage('User canceled formatting the drive');
SHFMT_NOFORMAT:
ShowMessage('Drive is not formatable')
else
ShowMessage('Disk has been formatted');
end;
except
ShowMessage('Error occurred!')
end;
end;



Николай Тодоров
Отговор
в отговор на Nik© #2

Re: Форматиране на дискета

Потърси в torry - там последно гледах компонент за формат - даже поддържаше май и нестандартни формати.

---
Е т'ва е живот!
Отговор
в отговор на Nik© #3

Re: Форматиране на дискета

За старите Прозорчета може да помогне следния пример:
[линк]
За новите не съм напипал нищо още. Ще се пробвам да намеря обаче.

чети и дишай по-леко
Отговор