ChkFile - Verifica existência de arquivo


Esta função abre um arquivo do sistema, em modo exclusivo ou compartilhado. Checa a existência do arquivo bem como dos índices, criando-os caso não existam. Sintaxe ChkFile - Verifica existência de arquivo ( [ cAlias], [ lExcl], [ cNewAlias], [ bCreateArq], [ uPar5], [ uPar6], [ uPar7], [ cSX2], [ lIndexOpen] ) --> lRet Parâmetros/Elementos

Nome Tipo Descrição Obrigatório Referência
cAlias Caracter Alias do arquivo a ser aberto.
lExcl Lógico Se for informado .T. o arquivo será aberto em modo exclusivo, caso contrário o arquivo será aberto em modo compartilhado. Default é .F.
cNewAlias Caracter Novo alias do arquivo.
bCreateArq Bloco de código Bloco de código a ser executado antes da criação da tabela, caso ela ainda não exista.
uPar5 Qualquer Não utilizado.
uPar6 Qualquer Não utilizado.
uPar7 Qualquer Não utilizado
cSX2 Caracter Alias da tabela SX2 quando o nome que está sendo utilizado for diferente de "SX2".
lIndexOpen Lógico Determina se abre o índice da tabela. Default é .T.
  Retorno lRet(logico) Observações

Observação:

- Sempre que desejar mudar o modo de acesso do arquivo (de compartilhado para exclusivo ou vice-versa) feche-o antes de chamae a função ChkFile. - Esta função sempre retorna verdadeiro se o arquivo já estiver aberto; - Esta função sempre retorna falso se o alias não tiver sido informado. Exemplo
User Function TESTE
    Local lOk := .T.
    Local nResp := 0
    dbSelectArea("SA1")
    dbCloseArea()
    While .T.    
        IF !ChkFile("SA1",.T.)        
            nResp := Alert("Outro usuario usando! Tenta de novo?",{"Sim","Nao"})        
            If nResp == 2            
                lOk := .F.            
                Exit        
            Endif    
        Endif
    EndDo
    
    If lOk    
        // Faz o processamento com o arquivo...
    Endif

    // Finaliza
    If Select("SA1")    
        dbCloseArea()
    Endif

    ChkFile("SA1",.F.)

Return