Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизФорматирование дискеты Найти похожие ветки
← →
dr0Ne64 (2002-01-24 14:05) [0]!ВНИМАНИЕ ВОПРОС! Как отформатировать дискету с помощью Delphi 5?
← →
VuDZ (2002-01-24 14:21) [1]объясняю:
Есть FormatEx функция в FMIFS.DLL:
VOID FormatEx( PWCHAR DriveRoot,>
DWORD MediaFlag,
PWCHAR Format,
PWCHAR Label,
BOOL QuickFormat,
DWORD ClusterSize,
PFMIFSCALLBACK Callback );
Есть callback функция, которая используется для связи с тем, хто её вызвал.
typedef BOOLEAN (__stdcall *PFMIFSCALLBACK)(
CALLBACKCOMMAND Command,
DWORD SubAction,
PVOID ActionInfo );
Первый аргУмент - что в данный момент делается: есть 16 вариантов ответа, разбирайся с этим сам, если есть желание
ActionInfo - указатель на DWORD - процент завершения работы
В общем разбирайся - наше дело направить на путь истинный - если не получиться - пришлю исходник на Сях, только переводить его бушь сам...
← →
-OGR- (2002-01-24 14:25) [2]const SHFMT_DRV_A = 0;
const SHFMT_DRV_B = 1;
const SHFMT_ID_DEFAULT = $FFFF;
const SHFMT_OPT_QUICKFORMAT = 0;
const SHFMT_OPT_FULLFORMAT = 1;
const SHFMT_OPT_SYSONLY = 2;
const SHFMT_ERROR = -1;
const SHFMT_CANCEL = -2;
const SHFMT_NOFORMAT = -3;
function SHFormatDrive(hWnd : HWND;
Drive : Word;
fmtID : Word;
Options : Word) : Longint
stdcall; external "Shell32.dll" name "SHFormatDrive";
procedure TForm1.Button1Click(Sender: TObject);
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("No Format")
else
ShowMessage("Disk has been formatted");
end;
except
end;
end;
← →
VuDZ (2002-01-24 14:47) [3]как то слишком просто и не интересно :(
← →
Pat (2002-01-24 16:50) [4]А чтобы винт форматнуть?
← →
Anatoly Podgoretsky (2002-01-27 16:51) [5]Пойдем сложным путем "format A:"
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c