Arquivos cliente e servidor no Protheus
Identifica onde File procura um arquivo antes de montar um fluxo de leitura.
Visão geral
Um caminho não identifica sozinho a máquina envolvida. File recebe nWhere: 0 usa a regra de caminho relativo no Application Server e absoluto no SmartClient; 1 procura no diretório de instalação do Application Server; 2 no diretório de instalação do SmartClient. Em Job, uma consulta a caminho absoluto do cliente pode devolver falso e FError -1. A opção lChangeCase interfere na capitalização, com comportamento condicionado ao build e à configuração. A existência não comprova permissão de leitura, identidade do conteúdo ou transferência entre máquinas. (TOTVS, s.d., ref. 1)
Retorno
Não há retorno único: trata-se de um roteiro composto.
Exemplo comentado
#Include "Protheus.ch"
User Function EdFiles()
Local cArquivo := "editorial-test.txt"
// Sessao interativa: apenas consulta, sem criar ou transferir.
ConOut(cValToChar(File(cArquivo, 1, .F.)))
ConOut(cValToChar(File(cArquivo, 2, .F.)))
Return NilDois valores lógicos, dependentes dos arquivos reais em cada instalação. Não há resultado fixo nem transferência. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Definir máquina, diretório permitido, nome e tratamento de erro antes de abrir. Não aceitar caminhos arbitrários fornecidos por usuários; testar separadamente SmartClient e Job.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.