Chamar função

Delphi

28/02/2004

Achei o seguinte código na internet para verificar se existe disquete no drive:

[color=blue:616c56bcef]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;
[/color:616c56bcef]

como devo proceder para fazer esta verificação através de um Button?


Vanp

Vanp

Curtidas 0

Respostas

Jose Luiz

Jose Luiz

28/02/2004

Colega..

Tente assim

no onclick de um botão..

DiskInDrive(a:); //nome da função + o driver a ser consultado;poderia ser c:,d: etc..




ok..


GOSTEI 0
Vanp

Vanp

28/02/2004

continuo não conseguindo chamar a função.

DiskInDrive(A);

da forma acima não funciona.

De repente se alguém conhecer uma outra forma de verificar se existe drive no disquete, serei muito grato.


GOSTEI 0
Marco Salles

Marco Salles

28/02/2004

if DiskInDrive(A)Then
  ShowMessage(´Tem Disquete No Drive "A"  ´)
else
  ShowMessage(´Não Tem Disquete No Drive "A" ´);



GOSTEI 0
Vanp

Vanp

28/02/2004

Fiz o que o colega mostrou, mas surge o seguinte erro

[Error] U_ColarNF.pas(239): Undeclared identifier: ´A´


GOSTEI 0
Marcelo.l

Marcelo.l

28/02/2004

Tente assim...
DiskInDrive(´A´);


com a letra do drive entre aspas já que é um chararacter.


GOSTEI 0
Marco Salles

Marco Salles

28/02/2004

Desculpe-me Mas Peguei o Bonde Andando e Não Observei Os Parametros Da Sua Função, Ele Se Refere a Caracter e Não A Letra ´A´..
Corrija Por Favor:

if DiskInDrive(´A´)Then 
  ShowMessage(´Tem Disquete No Drive "A"  ´) 
else 
  ShowMessage(´Não Tem Disquete No Drive "A" ´);



GOSTEI 0
Jasig Aurumalfa

Jasig Aurumalfa

28/02/2004

Só uma dica:
Crie uma variável booleana...
Ex: drivea :boolean;
E depois:
[b:e450800a5d]if DiskInDrive(´A´)Then
drivea:=true
else
drivea:=false;[/b:e450800a5d]
E depois²:
If drivea:=true then;
{...}
Isto é para facilitar, caso tenha muitas funções do tipo e você não tenha que colocar muitos If, e digitar isto toda vez... :wink:
Espero ter ajudado...


GOSTEI 0
Vanp

Vanp

28/02/2004

Gostaria de agradecer a ajuda prestada.
Valeu, Funcionou.


GOSTEI 0
POSTAR