Espaco disponivel
Moderador: Moderadores
- Alexandre Silva
- Usuário Nível 3

- Mensagens: 376
- Registrado em: 26 Mar 2007 00:16
- Localização: Itapema - SC
Espaco disponivel
Alguem tem uma funcao para saber o espaco disponivel no HD .. ?
O memory() nao funciona 100% ,
Devo criar uma funcao, como por.exemplo:
DIR *.exe > rel.txt e ler a ultima linha do arquivo txt para saber o espaco disponivel, ou alguem tem uma solucao melhor ??
O memory() nao funciona 100% ,
Devo criar uma funcao, como por.exemplo:
DIR *.exe > rel.txt e ler a ultima linha do arquivo txt para saber o espaco disponivel, ou alguem tem uma solucao melhor ??
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Espaco disponivel
Usando xHarbour:
ALERT(DiskSpace('C:',1))
Usando Clipper+CA Tools
ALERT(DISKFREE('C'))
ALERT(DiskSpace('C:',1))
Usando Clipper+CA Tools
ALERT(DISKFREE('C'))
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Espaco disponivel
Existe a função DISKFREE("C") da CT.lib, mas também não expressa a verdade. No Harbour existe hb_DiskSpace("C:",1) chega ser bem próximo da realidade, se interessar: pegue o utilitário em anexo que irá gravar o HD_Livre.txt onde contém o valor de espaço livre o qual você poderá lê-lo de dentro da sua aplicação em Clipper.
Enquanto editava e compilava o anexo, o Leonardo tinha respondido. Bom, mesma resposta e ainda aplicativo de terceiros, espero que atenda as suas expectativas.
Em Clipper você pode fazer assim:
? Val(MemoRead("HD_Livre.txt"))
O segundo parâmetro do hb_DiskSpace, podem receber as seguintes constantes:
HB_DISK_AVAIL 0 Free disk space avialable to the application (default)
HB_DISK_FREE 1 Total free disk space
HB_DISK_USED 2 Used disk space
HB_DISK_TOTAL 3 Total disk space
Portanto se precisar podemos mudar para que receba o primeiro e o segundo paramêtros (se achar necessário).
Enquanto editava e compilava o anexo, o Leonardo tinha respondido. Bom, mesma resposta e ainda aplicativo de terceiros, espero que atenda as suas expectativas.
Em Clipper você pode fazer assim:
? Val(MemoRead("HD_Livre.txt"))
O segundo parâmetro do hb_DiskSpace, podem receber as seguintes constantes:
HB_DISK_AVAIL 0 Free disk space avialable to the application (default)
HB_DISK_FREE 1 Total free disk space
HB_DISK_USED 2 Used disk space
HB_DISK_TOTAL 3 Total disk space
Portanto se precisar podemos mudar para que receba o primeiro e o segundo paramêtros (se achar necessário).
- Anexos
-
HDFreeSpace.rar- (374.44 KiB) Baixado 216 vezes
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Alexandre Silva
- Usuário Nível 3

- Mensagens: 376
- Registrado em: 26 Mar 2007 00:16
- Localização: Itapema - SC
Espaco disponivel
Obrigado..Para o Harbour ok.
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Espaco disponivel
Olá!
Só para não ficar a dúvida: a função Memory(nTipo) retorna a quantidade de memória disponível, por tipo.Alexandre Silva escreveu:O memory() nao funciona 100%
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Espaco disponivel
Olá Alexandre,
Em Clipper você pode usar assim:
Em Clipper você pode usar assim:
Código: Selecionar todos
Function Main()
Local nSpaceDisk, nUnidade := 3
/*
Onde nUnidade 1 corresponde a A, 2 = B, 3 = C, e assim sucessivamente...
Sem parâmetro, retorna a unidade corrente.
PS: O retorno é em bytes exatamente como no comando dir, sem os separadores.
*/
nSpaceDisk := DISKSPACE()
Clear Screen
?
@ 2,2 Say Tran( nSpaceDisk, "@E 999,999,999,999,999" )
?
Return Nil
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Espaco disponivel
Olá!
Creio que o que o Alexandre Silva quis dizer é que essa função DiskSpace() retorna valores incorretos para os HDs atuais e se confundiu com Memory().
Você testou DiskSpace(), em Clipper, com HD grande Jairo?
O problema do Silva já foi resolvido mas, de qualquer forma, é sempre bom tirar dúvidas e ter outras opções.
Creio que o que o Alexandre Silva quis dizer é que essa função DiskSpace() retorna valores incorretos para os HDs atuais e se confundiu com Memory().
Você testou DiskSpace(), em Clipper, com HD grande Jairo?
O problema do Silva já foi resolvido mas, de qualquer forma, é sempre bom tirar dúvidas e ter outras opções.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Espaco disponivel
Xiiii... Alexandre Santos,
Dei mancada "Braba". Em HD grande nada a ver mesmo. Você tem razão, Obrigado. Somente em Harbour o resultado é correto, e não é o caso do colega.
Alexandre Silva, Desculpe cara, desconsidere meu exemplo.
Dei mancada "Braba". Em HD grande nada a ver mesmo. Você tem razão, Obrigado. Somente em Harbour o resultado é correto, e não é o caso do colega.
Alexandre Silva, Desculpe cara, desconsidere meu exemplo.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Espaco disponivel
Olá!
Mancada nada. Às vezes nos confundimos.
Então, para Clipper, fica a sugestão do Leonardo: DiskFree() da CATools. Eu não testei e não sei se realmente funciona.
Mancada nada. Às vezes nos confundimos.
Então, para Clipper, fica a sugestão do Leonardo: DiskFree() da CATools. Eu não testei e não sei se realmente funciona.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)