anchor.diff:    applet.createwindow;
   end;
   {$ENDIF}
  +
  +// -----------------------------------------------------------------------------
  +// Takes a size, <dsize> in bytes, and converts it a human readable string with
  +// a suffix (MB or GB).
  +// -----------------------------------------------------------------------------
  +function nicesize(dsize: extended): string;
  +var
  +  kbytes: single;
  +  mbytes: single;
  +  gbytes: single;
  +begin
  + { if dsize = 0 then begin
  +    result := '0.00 kB';
  +    exit;
  +  end; --commented by beware}
  +  kbytes := dsize / 1024;
  +  mbytes := kbytes / 1024;
  +  gbytes := mbytes / 1024;
  +
  +  if kbytes < 1024 then begin
  +    result := FloatToStrF(kbytes, ffFixed, 10, 2) + ' kB';
  +    exit;
  +  end;
  +
  +  if mbytes < 1024 then begin
  +    result := FloatToStrF(mbytes, ffFixed, 10, 2) + ' MB';
  +    exit;
  +  end;
  +
  +  result := FloatToStrF(gbytes, ffFixed, 10, 2) + ' GB';
  +  exit;
  +end;
   
   function askQuestion(Question: String): boolean;
   begin
  
positive.code:   terminateDownload := true;
  end;
  
  procedure setProgress(value: integer);
  begin
    ProgressBar.progress := value;
    labelprogress.Caption :=  inttostr(value) + '%';
    //self.Caption := pChar('DMDirc Setup - '+CaptionLabel.Caption);
    //Application.Title := self.Caption;
    applet.processmessages;
  
negative.code: 	{$IFDEF KOL}
  		wantedsize: double;
  		currentsize: double;
      lastsize: double;
      i: double;
      c: longint;
  	{$ENDIF}
  begin
  	dir := IncludeTrailingPathDelimiter(ExtractFileDir(paramstr(0)));
  