Buscar

Formatando disquetes

Código

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);


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.



 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Periféricos
Adicionada dia: 04/01/05
Por: Fabiano Cavalheire
Visualizada: 1554 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009