Boa tarde!!
tem algum jeito de saber se o arquivo DBF esta corrompido ou somente leitura antes de usar o USE?
como Saber se o comando USE vai ou não abrir o Arquivo DBF?
Moderador: Moderadores
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará
como Saber se o comando USE vai ou não abrir o Arquivo DBF?
alxsts
só mais uma duvida :
* eu so posso usar o FClose( nHandle ) somente se FError == 0?
só mais uma duvida :
* eu so posso usar o FClose( nHandle ) somente se FError == 0?
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
como Saber se o comando USE vai ou não abrir o Arquivo DBF?
Olá!
Sim, se o valor de FError() se referir à operação de abertura do arquivo em questão. FError() vai sendo alterado à medida que algumas operações forem sendo executadas.
Quando a operação de abertura de arquivo é bem sucedida, FOpen() retorna um file handler, que é o numero do arquivo perante o sistema operacional. Este número pode estar entre 0 e 65535. Se falhar, FOpen() retornará -1.
Eu prefiro verificar se o file handle é diferente de -1 e não o FError().
Sim, se o valor de FError() se referir à operação de abertura do arquivo em questão. FError() vai sendo alterado à medida que algumas operações forem sendo executadas.
Quando a operação de abertura de arquivo é bem sucedida, FOpen() retorna um file handler, que é o numero do arquivo perante o sistema operacional. Este número pode estar entre 0 e 65535. Se falhar, FOpen() retornará -1.
Eu prefiro verificar se o file handle é diferente de -1 e não o FError().
Código: Selecionar todos
#include "Fileio.ch"
Function Foo()
LOCAL nHandle
//
nHandle := FOPEN("Temp.txt", FO_READWRITE + FO_SHARED)
//
IF nHandle == -1
Alert( 'Mensagem' )
RETURN .F.
ENDIF
//
// Outras operações
//
FClose( nHandle )
RETURN .T.[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- juniorcamilo
- Usuário Nível 3

- Mensagens: 343
- Registrado em: 10 Nov 2006 09:12
- Localização: Pará