Funçao, Verificar se o Arq. esta vazio ?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Funçao, Verificar se o Arq. esta vazio ?

Mensagem por Ale SB »

Blz Galera,

Tem alguma Funçao q possa verificar se o Arq. esta vazio, só preciso q ele retorne, True ou False.


@braços Ale
Imagemr]
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Veja a síntese da função LASTREC().
Ela retorna o número de registros válidos no banco de dados (dbf).
Se o número for igual a 0, o arquivo está vazio.
Atenção: verifique o estado de set deleted, ou seja, se a análise vai ou não considerar os registros marcados para exclusão (deletados).

Espero ter ajudado.

MarceloG
clebermano
Usuário Nível 3
Usuário Nível 3
Mensagens: 187
Registrado em: 03 Out 2004 12:39
Contato:

Mensagem por clebermano »

pode usar tb a funcao bof()
if bof()
? "arquivo vazio"
return .f.
endif
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Nunca use a função BOF para verificar este tipo de situação, pois ela retornar .T. se o banco se encontrar em outras condições tambem (filtrado, registro fantasma, etc), sem use a LASTREC ou RECCOUNT que são exatamente a mesma rotina, a LASTREC existe apenas por questões de compatibilidades, logo o mais indicado é usar como RECCOUNT

Código: Selecionar todos

Function estavazio(banco)
local ret
use &banco shared
ret=reccount()=0
use
return ret
Sem mais
Wagner Nunes
www.vagucs.com.br
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

Exatamente o contrário Wagner, Reccount() que foi mantida para compatibilidade com versões anteriores, Lastrec() é a mais recente. Set Filter e Set Deleted não tem efeito sobre a função Lastrec().
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Vivendo e aprendendo, li mesmo na documentação que a RECCOUNT que é a rotina para compatibilidade, e disse que o FILTER so influencia na BOF e nao na RECCOUNT/LASTREC.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Mensagem por Ale SB »

Valeu galera,

Com o LastRec() ficou :)Pos .


@braços Ale -:]
Imagemr]
Responder