Dicas - Formatando Disquete

Esta dica mostra como formatar um disquete em uma aplicação Delphi.

Formatando Disquetes no Delphi

 

Esta dica mostra como formatar um disquete em uma aplicação Delphi. Bom para colocar na parte de utilitários de seu aplicativo. Ao invés do usuário ir no DOS ou no Explorer para formatar um disquete, ele irá formata-lo na própria aplicação. Não é o máximo?

Código

Declare as constantes mostradas abaixo imediatamente após a palavra implementation:

 

const

  SHFMT_ID_DEFAULT = $FFFF;

  { Opções de formatação }

  SHFMT_OPT_QUICKFORMAT = $0000; { Formatação rápida }

  SHFMT_OPT_FULL = $0001; { Formatação completa }

  SHFMT_OPT_SYSONLY = $0002; { Copia sistema }

 

  { Códigos de errros }

  SHFMT_ERROR = $FFFFFFFF; { Ocorreu erro }

  SHFMT_CANCEL = $FFFFFFFE; { Foi cancelado }

  SHFMT_NOFORMAT = $FFFFFFFD; { Não formatou }

 

Crie a função mostrada abaixo após as constantes declaradas:

 

function SHFormatDrive(Handle: HWND; Drive, ID, Options: Word):LongInt; stdcall; external 'shell32.dll' name 'SHFormatDrive'

 

Coloque um botão no form e altere o evento OnClick dele conforme abaixo:

 

var

  Erro: DWord;

  Msg: string;

begin

  Erro := SHFormatDrive(Handle, 0, SHFMT_ID_DEFAULT, SHFMT_OPT_QUICKFORMAT);

  case Erro of

SHFMT_ERROR: Msg := 'Ocorreu um erro.';

SHFMT_CANCEL: Msg := 'A formatação foi cancelada.';

SHFMT_NOFORMAT: Msg := 'Não foi possível formatar.';

  else

Msg := 'Disco formatado com sucesso.';

  end;

  ShowMessage(Msg);

end;

 

Obs: Para formatação completa troque SHFMT_OPT_QUICKFORMAT por SHFMT_OPT_FULL. O segundo parâmetro (zero no exemplo) indica a unidade, sendo que A é 0 (zero), B é 1, etc.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados