Árvore de páginas

Versões comparadas

Chave

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

...

       A api utp\ut-zip.p permite a criação de arquivos compactados (.zip).

02. Considerações

...

gerais

  • Os procedimentos internos zipFiles e zipFilesEncrypt recebem como parâmetros os atributos e dados para criação do arquivo .zip desejado e é retornada uma temp-table com os possíveis erros.
  • A include {utp/ut-zip.i} contém as definições das temp-table´s que devem ser passadas como parâmetro para o procedimentos internos zipFiles e zipFilesEncrypt. Sendo que a chamada desta include, a inclusão de valores e a execução do utilitário em modo persistente, deve ser feito antes da chamada aos procedimentos internos zipFiles ou zipFilesEncrypt.

...

Bloco de código
themeRDark
{utp/ut-zip.i}

def temp-table ttlista2 like tt-listfiles.

define variable arquivo as character   no-undo.
define variable h-zip as handle     no-undo.

run utp/ut-zip.p persistent set h-zip.

input from os-dir("c:\temp\ziptest").
repeat:
    import arquivo.
    if  arquivo begins '.' then
        next.

    create ttlista2.
    assign ttlista2.cfile = "c:\temp\ziptest\" + arquivo.
end.
input close.

for each tt-listfiles where tt-listfiles.cfile = '':
    delete tt-listfiles.
end.

pause 0 before-hide.
for each ttlista2:

    disp 
        ttlista2.cfile label 'arquivo'  format 'x(50)'
        with 
        side-label
        frame flabel
        size 70 by 3
        view-as dialog-box.
    process events.

    create tt-listfiles.
    buffer-copy ttlista2 to tt-listfiles.

    run zipfiles        in h-zip (input "c:\temp\teste02.zip",
                                  input table tt-listfiles,
                                  input true,
                                  output table tt-erros).

    delete tt-listfiles.
end.

for each tt-erros:
    disp tt-erros.
end.

delete procedure h-zip.

04. Informações

...

adicionais

Caso ocorram erros relacionados com a passagem de grande número de arquivos a serem compactados no mesmo zip, conforme exemplos abaixo, recomenda-se passar um arquivo por vez para o mesmo arquivo zip. Utilizando este formato é possível realizar a compactação de dois mil arquivos no mesmo zip.

...