Listato completo della classe Test_FZip

package {
  import deng.fzip.FZip
  import deng.fzip.FZipFile
  import flash.display.Sprite;
  import flash.text.TextField;
  import flash.net.URLRequest;
  import flash.events.Event;
  import flash.display.Loader;
  import flash.display.StageAlign;
  import flash.display.StageScaleMode;

  public class Test_FZip extends Sprite
  {
    private var zip:FZip;
    private var file:FZipFile;
    private var testo:TextField;
    private var file_attuale:uint = 0;
    private var conta:uint = 0;
    private var fatto:Boolean = false;

    public function Test_FZip()
    {
      stage.align = StageAlign.TOP_LEFT;
      stage.scaleMode = StageScaleMode.NO_SCALE;
      testo = new TextField();
      testo.height = 20;
      testo.width = 576;
      addChild(testo);
      // load zip
      zip = new FZip();

      zip.addEventListener(Event.OPEN, Apri);
      zip.addEventListener(Event.COMPLETE, Completo);
      zip.load(new URLRequest("icone.zip"));
    }

    private function Apri(evt:Event):void{
      addEventListener(Event.ENTER_FRAME,esamina);
    }

    private function Completo(evt:Event):void{
      fatto = true;
    }

    private function esamina(evt:Event):void {
      // Se non siamo all'ultimo file dell'archivio
      if(zip.getFileCount() > file_attuale) {
        // Ricaviamo il file attuale
        file = zip.getFileAt(file_attuale);
        // Controlliamo che sia un PNG presente nella cartella ICONS
          if(file.filename.indexOf("icons/") == 0 && file.filename.indexOf(".png") != -1){
          // Lo carichiamo...
          var loader:Loader = new Loader();
          loader.loadBytes(file.content);
          // ...e lo posizioniamo sullo stage
          loader.x = 18 * (conta % 32);
          loader.y = 18 * Math.floor(conta / 32) + 20;
          addChild(loader);
          // Incrementiamo il numero di icone caricate
          conta++;
          // Mostriamo il numero di icone caricate nel campo di testo
          testo.text = conta + " icone caricate";
        }
        // Passiamo al file successivo
        file_attuale++;
      } else {
        // Se invece siamo all'ultimo file
        if(fatto) { // Se l'esame dell'archivio è stato completato
          // Rimuoviamo l'EnterFrame
          removeEventListener(Event.ENTER_FRAME,esamina);
          // Mostriamo nel campo di testo la dicitura per il caricamento completato
          testo.text = "Tutte le icone sono state caricate";
        }
      }
    }
  }
}