Verificar se o disquete está no drive

Delphi

12/02/2004

COMO FAÇO PARA VERIFICA SE O DISQUETE ESTA NO DRIVE?
CASO NÃO ESTEJA DA UMA MESAGEM.........

[b:3cff3e7e88][color=red:3cff3e7e88]Título editado pelo Moderador (AZ) - Removido: ´VERIFICA SE O DISQUETE ESTA NO DRIVE.............´[/color:3cff3e7e88][/b:3cff3e7e88]


Jairo-go

Jairo-go

Curtidas 0

Respostas

Fabio.hc

Fabio.hc

12/02/2004

Tente assim:

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;



GOSTEI 0
Ltres

Ltres

12/02/2004

Naum testei ainda...

function DiskInDrive(Drive: Char): Boolean;
  // Disk can be a floppy, CD-ROM,...
var
  ErrorMode: Word;
begin
  { make it upper case }
  if Drive in [´a´..´z´] then Dec(Drive, $20);
  { make sure it´s a letter }
  if not (Drive in [´A´..´Z´]) then
    raise EConvertError.Create(´Not a valid drive ID´);
  { turn off critical errors }
  ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
  try
    { drive 1 = a, 2 = b, 3 = c, etc. }
    if DiskSize(Ord(Drive) - $40) = -1 then
      Result := False
    else
      Result := True;
  finally
    { Restore old error mode }
    SetErrorMode(ErrorMode);
  end;
end;



GOSTEI 0
Ltres

Ltres

12/02/2004

Melhor testei agora.. Funciona com disket formatado


GOSTEI 0
Jairo-go

Jairo-go

12/02/2004

Obrigado pela dicas galera........


GOSTEI 0
POSTAR