Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »

Copia um arquivo da máquina onde está sendo executado o AppServer para a máquina onde está sendo executado o SmartClient.

Sintaxe

CpyS2TEx( < cServer >, < cClient >, [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cServer

caractere

Indica o caminho completo do arquivo na máquina do servidor que será copiado.

X

 

cClient

caractere

Indica o caminho completo do arquivo de destino na máquina onde está o SmartClient.

X

 

lChangeCase

lógico

Indica se colocará os caminhos de pastas e arquivos em letra minúscula.

  

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.) se o arquivo for copiado com sucesso; retorna falso (.F.) em caso de falha na cópia.

Observações

  • A função CpyS2TEx exige que o programa AdvPL que a execute seja um SmartClient, não permitindo, portanto, que seja chamada em JOB. A partir da build 7.00.120420A, caso a função seja chamada em JOB, o programa será finalizado com ocorrência de erro fatal "Function CpyS2Tex() doesn't available in JOB.". Nas builds anteriores, se CpyS2TEx fosse chamada em JOB, ela não era executada e não gerava mensagem de advertência ou ocorrência de erro.
  • Caso o arquivo no destino (client) já exista, o mesmo será sobrescrito.
  • Em caso de falha, pode ser utilizada a função FError, porém não é possível saber se a falha na cópia está relacionada com algum problema de acesso na origem, no destino, ou mesmo durante a cópia. Normalmente as causas mais prováveis de falha são inconsistências nos parâmetros, como especificar um arquivo de origem que não existe, ou que esteja em uso por outro processo; ou especificar um diretório de destino que não exista; ou que o usuário que iniciou o programa não tenha direitos de escrita; falta de espaço em disco no destino durante a cópia; falha no acesso ao sistema de arquivos na pasta temporária do servidor ou do SmartClient; ou ainda o arquivo já exista no diretório de destino, e esteja em uso por outro processo.
  • Ao contrário das funções CpyS2T ou CpyT2S, a compactação do arquivo antes de enviar está desabilitada.
  • Os caminhos de cServer e cClient serão convertidos para letra minúscula. A partir da build 7.00.121227A, o caminho não será convertido para letra minúscula para Logix.
  • A partir da build 7.00.131227A foi criado o parâmetro lChangeCase, que se for definido com o valor .T., altera o nome dos arquivos e pastas para letra minúscula, e se for .F. não altera o nome informado. O valor padrão do parâmetro é .T..
  • Em ambiente Windows, os nomes de arquivos e pastas não possuem diferenciação entre maiúsculo e minúsculo, logo, a função conseguirá tratar os arquivos e pastas independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, os nomes dos arquivos e pastas respeitam a diferenciação.
  • Quando o SmartClient utilizado for uma build nativa Linux ou Mac, sabe-se que sistema de arquivos destas plataformas não têm unidade de disco, a nomenclatura dos arquivos é case sensitive (letras minúsculas diferente de maiúsculas), e as barras separadoras de diretório / pasta são barras normais "/" ao invés de barras inversas "\". Mesmo nestes casos, deve-se especificar uma letra de unidade de disco no diretório de destino; pois quando o SmartClient em Linux e/ou Mac receber o diretório de destino, com a unidade de disco especificada, a unidade será ignorada e as barras serão internamente invertidas. Por exemplo, a cópia especificando o path de destino "C:\USER\LOCAL\TEMP\" será interpretado pelo SmartClient Linux e/ou Mac como "/user/local/temp/".

Exemplos

// Copia arquivo do servidor para o client, alterando o nome do arquivo
bOk := CpyS2TEx( "c:\protheus\environment\ApData\report.htm", "C:\Dir\index.html" )

Veja também

  • Sem rótulos