Olá Jânio,
janio escreveu:Nao tem como pegar os fontes em .c dessa função? ae vc poderia colocar em qq prg seu
Jânio, desculpe ai meu lapso... rs... Deu certo. Valeu a dica!
Minha função de backup verifica todas as unidades disponíveis e apresenta um menu para o usuário escolher onde será efetuado o Backup, e avisa se a unidade é Fixa, Removível ou da Rede (desde que mapeada).
Acontece que quando verifica a unidade de DVD, emite a mensagem do Windows solicitando para o usuário inserir um disco, e precisa clicar em cancelar. Isto acontece também com a unidade do Certificado. Eu queria a função DiskReady(), porque com ela tenho como neutralizar essa mensagem:
lMode:
True = Windows/DOS mode. If a disk is not ready, open a dialog.
False = Bios mode. If a disk is not ready don´t open a dialog.
Mas para minha surpresa, essa função é em puro código xBase. Vejam:
Código: Selecionar todos
*-----------------------------------
FUNCTION DiskReady( cDrive , lMode )
*-----------------------------------
LOCAL lReturn, cCurrent := TrueName(".")
//default( @lMode , .F. )
lMode := If( Empty( lMode ), .F., lMode )
// lMode -> True = Windows/DOS mode. If a disk is not ready, open a dialog.
// False = Bios mode. If a disk is not ready don´t open a dialog.
IF empty(cDrive) .OR. !isalpha(cDrive)
cDrive := cCurrent
ENDIF
IF valtype(lMode) != "L"
lMode := .F.
ENDIF
IF !lMode
// Windows/DOS access mode. xHarbour RTL. Source is in "dirdrive.c".
lReturn := DiskChange( cDrive )
IF lReturn
DiskChange( cCurrent )
ENDIF
ELSE
// Bios access mode. xHarbour RTL. Source is in "dirdrive.c".
lReturn := IsDisk( cDrive )
ENDIF
RETURN ( lReturn )
Mensagem Editada em: 06/11/2014 - 07h59m.
Para que essa função funcione corretamente em Harbour, a linha 4 que estava assim:
Foi substituída por:
Olá Kapiaba,
Obrigado pela atenção, mas os códigos que você postou não têm esse efeito. Obrigado.
Nota: O pulo do gato esta na DiskChange().
Tag:
DiskReady
[Problema Resolvido]