Verificar se o disquete está no drive
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]
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
Curtidas 0
Respostas
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
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
12/02/2004
Melhor testei agora.. Funciona com disket formatado
GOSTEI 0
Jairo-go
12/02/2004
Obrigado pela dicas galera........
GOSTEI 0