Função: CpyS2T
Copia um arquivo (compactado ou não) do servidor para o client (Remote).
CpyS2T ( < cOrigem>, < cDestino>, [ lCompacta] ) --> lRet
Nome | Tipo | Descrição | Obrigatório | Referência |
cOrigem | Caracter | Indica o nome do arquivo que será copiado, além de aceitar caracteres curingas (* e ?). | X | |
cDestino | Caracter | Indica o nome do diretório de destino dos arquivos no Client (Remote). | X | |
lCompacta | Lógico | Indica se o(s) arquivo(s) deve(m) ser compactado(s) antes de fazer a cópia. Default = .T. ( verdadeiro ) |
- (logico)
- Retorna verdadeiro (.T.), se o arquivo for copiado com sucesso; caso contrário, falso (.F.), em caso de falha na cópia.
Caso a compactação esteja habilitada ( Default = .T. ) , no parâmetro <lCompacta>, os arquivos serão compactados automaticamente no servidor antes do envio, e descompactados automaticamente no Client. Para grande parte dos tipos de arquivo, utilizar a compactação reduz o tempo de cópia; para tráfego de arquivos que já são compactados ( ZIP, TAR, RAR, JPG, MPG ), podemos especificar este parâmetro com .F., para que a compactação automática não seja utilizada, pois nestes casos a mesma não agregará nenhum ganho neste processo.
// Copia arquivos do servidor para o remote local, compactando antes de transmitir
bOk := CpyS2T( "\BKP\MANUAL.DOC", "C:\TEMP", .T. )
// Copia arquivos do servidor para o remote local, sem compactar antes de transmitir
bOk := CpyS2T( "\BKP\MANUAL.DOC", "C:\TEMP", .F. )
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 de disco 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 Max como "/user/local/temp/"