Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
MSCompress
MSCompress

Função:

MSCompress

MsCompress

Compacta um ou vários arquivos em um único arquivo
com
 no formato Microsiga Zip (extensão 
"*
.mzp
" (Microsiga Zip
).

MSCompress MsCompress ( < cArquivo | aArquivos>, [ cDestino], [ cSenha] ) --> cRet

 

NomeTipoDescriçãoObrigatórioReferência
cArquivo | aArquivosCaracterIndica o arquivo ou lista de arquivos que serão compactados. Os tipos de dados válidos para este parâmetro são : Caracter, para especificar um único arquivo, ou Array de caracteres, para especificar um ou mais arquivos.X 
cDestinoCaracterIndica o nome do arquivo destino. Se a extensão não for informada, o padrão assumido será "*.mzp". Desta forma, o padrão será o mesmo nome do arquivo, do parâmetro cArquivo, ou o nome do 1º arquivo, do parâmetro aArquivos, com a extensão "*.mzp".  
cSenhaCaracterIndica a senha que será utilizada para criptografar o arquivo compactado.  

 

cRet
    (caracter)
  • Retorna uma string, se compactado com sucesso, com o nome do arquivo gerado; caso contrário, por falta de espaço no disco rígido ou erro de acesso em algum dos arquivos, retornará uma string em branco ("").
  • O formato MZP (Microsiga Zip) é proprietário e multiplataforma.
  • Caso a senha seja informada na compactação, somente será possível descompactar o arquivo especificando a mesma senha para a função de descompactação.
  • A função trabalha com arquivos do ambiente (Environment) no Server (a partir do StartPath e/ou RootPath do ambiente) e com arquivos na estação remota, mas não com ambos ao mesmo tempo. Por exemplo, não é possível gerar um arquivo MZP dentro do RootPath do Server, passando como parâmetro um ou mais arquivo(s) de origem na estação remota, e/ou vice-versa. Caso a aplicação tente fazer isso, a execução do programa será interrompida com uma ocorrência de erro fatal AdvPL "Error in MSCOMPRESS(): MsCompress do not handle files in the server and client at same moment.", e/ou  "Error in MSCOMPRESS(): MsCompress can only refer to files in the server.", respectivamente. 
  • Quando utilizamos a função MSCompress() para gerar um arquivo MZP na estação remota, podemos especificar apenas um arquivo de origem para ser compactado. Caso seja especificado mais de um arquivo de origem neste cenário, a aplicação AdvPL é interrompida com a ocorrência de erro fatal AdvPL "Error in MSCOMPRESS(): MsCompress Client do not handle multiple files".
  • MSCompress não armazena no arquivo MZP o nome dos diretórios onde o(s) arquivo(s) se encontra(m). Portanto, caso sejam especificados múltiplos arquivos de origem, com mesmo nome, em pastas diferentes, a operação de descompactação salvará todos os arquivos na mesma pasta, onde os arquivos com mesmo nome serão sobrepostos.
// 1º Exemplo: Compacta apenas um arquivolResarquivo
lRes := MSCOMPRESSMsCompress( "APXSRV.EXE", "APXSRV.MZP" )

// 2º Exemplo:Compacta um diretório com senhaaNomesenha
aNome := {}
ADIR( "*.DBF", aNome )
lRes := MSCOMPRESSMsCompress( aNome, "ArqComp.MZP", "SENHA" )
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server