Chamar função
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?
[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
Curtidas 0
Respostas
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..
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
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.
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
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
28/02/2004
Fiz o que o colega mostrou, mas surge o seguinte erro
[Error] U_ColarNF.pas(239): Undeclared identifier: ´A´
[Error] U_ColarNF.pas(239): Undeclared identifier: ´A´
GOSTEI 0
Marcelo.l
28/02/2004
Tente assim...
com a letra do drive entre aspas já que é um chararacter.
DiskInDrive(´A´);
com a letra do drive entre aspas já que é um chararacter.
GOSTEI 0
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:
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
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...
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
28/02/2004
Gostaria de agradecer a ajuda prestada.
Valeu, Funcionou.
Valeu, Funcionou.
GOSTEI 0