lunedì 16 giugno 2014

Lavorare con gli archivi ZIP

Livecode contiene il necessario per comprimere e decomprimere file con archivi ZIP.
Per comprimere un file o una cartella bisogna indicare il percorso assoluto dell'archivio zip che vogliamo creare:

revZipOpenArchive "C:/myarchive.zip", "write"



Poi bisogna indicare il percorso assoluto dei file che vogliamo mettere nel nostro archivio, e anche il percorso relativo dentro il nostro archivio:

revZipAddItemWithFile "C:/myarchive.zip", "test.txt", "C:/Programs/RunRev/test.txt"
revZipAddItemWithFile "C:/myarchive.zip", "folder1/test.txt", "C:/Programs/RunRev/test.txt"
revZipAddItemWithFile "C:/myarchive.zip", "temp/folder2/test.txt", "C:/Programs/RunRev/test.txt"



Una volta fatto ciò, ci basta chiudere l'archivio e il nostro file ZIP sarà creato definitivamente:

revZipCloseArchive "C:/myarchive.zip"


Se invece scompattare un archivio ZIP (unzip), dovete prima avere la lista dei file e poi creare le cartelle necessarie per scompattarlo, ecco il codice di un pulsante che chiede un file e lo scompatta sul desktop di Windows:


on mouseUp
   answer file "Scegli il file:"
   put it into myzip
   revZipOpenArchive myzip,"read"
   put revZipEnumerateItems(myzip) into tItems
   repeat for each line tline in tItems
      if last char of tline is "/" then
         create folder "C:/Documents and Settings/max/Desktop/" & tline
      else         
         put "C:/Documents and Settings/max/Desktop/" & tline into temp
         revZipExtractItemToFile myzip, tline, temp
      end if
   end repeat
   revZipCloseArchive myzip
end mouseUp

Potete adattare il codice precedente ad ogni esigenza.