亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vclunzip.pas

?? FIR引擎最新源碼+注冊
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
      property FlushFilesOnClose: Boolean READ FFlushFilesOnClose WRITE FFlushFilesOnClose
         DEFAULT False;
      property BlockMode: TBlockMode read FBlockMode write FBlockMode default bmStandard;
      { Event Properties }
      property OnStartUnZipInfo: TStartUnzipInfo READ FOnStartUnzipInfo
         WRITE FOnStartUnzipInfo;
      property OnFilePercentDone: TFilePercentDone READ FOnFilePercentDone
         WRITE FOnFilePercentDone;
      property OnTotalPercentDone: TTotalPercentDone READ FOnTotalPercentDone
         WRITE FOnTotalPercentDone;
      property OnStartUnZip: TStartUnZipEvent READ FOnStartUnZip WRITE FOnStartUnZip;
      property OnEndUnZip: TEndUnZipEvent READ FOnEndUnZip WRITE FOnEndUnZip;
      property OnPromptForOverwrite: TPromptForOverwrite READ FOnPromptForOverwrite
         WRITE FOnPromptForOverwrite;
      property OnSkippingFile: TSkippingFile READ FOnSkippingFile WRITE FOnSkippingFile;
      property OnBadPassword: TBadPassword READ FOnBadPassword WRITE FOnBadPassword;
      property OnBadCRC: TBadCRC READ FOnBadCRC WRITE FOnBadCRC;
      property OnInCompleteZip: TInCompleteZip READ FOnInCompleteZip WRITE FOnInCompleteZip;
      property OnGetNextDisk: TGetNextDisk READ FOnGetNextDisk WRITE FOnGetNextDisk;
      property OnUnZipComplete: TUnZipComplete READ FOnUnZipComplete WRITE FOnUnZipComplete;
      property OnGetNextBuffer: TGetNextBuffer READ FOnGetNextBuffer WRITE FOnGetNextBuffer;
      property OnDecrypt: TDecryptEvent READ FOnDecrypt WRITE FOnDecrypt;
      property OEMConvert: TOEMConvert read FOEMConvert write FOEMConvert default oemAlways;
      property OnFileNameForSplitPart: TFileNameForSplitPartEvent read FOnFileNameForSplitPart
            write FOnFileNameForSplitPart;
      property OnHandleMessage: THandleMessageEvent read FOnHandleMessage write FOnHandleMessage;


   end;

   {$IFNDEF KPSMALL}
var
   OpenZipDlg            : TOpenDialog;
   {$ENDIF}

{$IFNDEF FULLPACK}
procedure Register;
{$ENDIF}
{$IFDEF KPDEMO}
function DelphiIsRunning: Boolean;
{$ENDIF}

{$IFDEF USE_ZLIB}
type
  TZAlloc = function (opaque: Pointer; items, size: Integer): Pointer;
  TZFree  = procedure (opaque, block: Pointer);

  TZCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax);

  {** TZStreamRec ***********************************************************}

  TZStreamRec = packed record
    next_in  : PChar;     // next input byte
    avail_in : Longint;   // number of bytes available at next_in
    total_in : Longint;   // total nb of input bytes read so far

    next_out : PChar;     // next output byte should be put here
    avail_out: Longint;   // remaining free space at next_out
    total_out: Longint;   // total nb of bytes output so far

    msg      : PChar;     // last error message, NULL if no error
    state    : Pointer;   // not visible by applications

    zalloc   : TZAlloc;   // used to allocate the internal state
    zfree    : TZFree;    // used to free the internal state
    opaque   : Pointer;   // private data object passed to zalloc and zfree

    data_type: Integer;   // best guess about the data type: ascii or binary
    adler    : Longint;   // adler32 value of the uncompressed data
    reserved : Longint;   // reserved for future use
  end;

type
  EZLibError = class(Exception);

  EZCompressionError = class(EZLibError);
  EZDecompressionError = class(EZLibError);

{** link zlib code **********************************************************}
{$IFDEF ZLIB114}          // MUST DEFINE ZLIB114 to get the older version
{$L deflate.obj}
{$L inflate.obj}
{$L infblock.obj}
{$L inftrees.obj}
{$L infcodes.obj}
{$L infutil.obj}
{$L inffast.obj}
{$L trees.obj}
{$L adler32.obj}
{$ELSE}                   // ZLIB_VERSION 1.2.2 is now the default
{$L zlib122\adler32.obj}
{$L zlib122\compress.obj}
{$L zlib122\crc32.obj}
{$L zlib122\deflate.obj}
{$L zlib122\infback.obj}
{$L zlib122\inffast.obj}
{$L zlib122\inflate.obj}
{$L zlib122\inftrees.obj}
{$L zlib122\trees.obj}
procedure adler32; external;
procedure compressBound; external;
procedure crc32; external;
{$ENDIF}
{*****************************************************************************
*  note: do not reorder the above -- doing so will result in external        *
*  functions being undefined                                                 *
*****************************************************************************}


const

  {** flush constants *******************************************************}

  Z_NO_FLUSH      = 0;
  Z_PARTIAL_FLUSH = 1;
  Z_SYNC_FLUSH    = 2;
  Z_FULL_FLUSH    = 3;
  Z_FINISH        = 4;

  {** return codes **********************************************************}

  Z_OK            = 0;
  Z_STREAM_END    = 1;
  Z_NEED_DICT     = 2;
  Z_ERRNO         = (-1);
  Z_STREAM_ERROR  = (-2);
  Z_DATA_ERROR    = (-3);
  Z_MEM_ERROR     = (-4);
  Z_BUF_ERROR     = (-5);
  Z_VERSION_ERROR = (-6);

  {** compression levels ****************************************************}

  Z_NO_COMPRESSION       =   0;
  Z_BEST_SPEED           =   1;
  Z_BEST_COMPRESSION     =   9;
  Z_DEFAULT_COMPRESSION  = (-1);

  {** compression strategies ************************************************}

  Z_FILTERED            = 1;
  Z_HUFFMAN_ONLY        = 2;
  Z_DEFAULT_STRATEGY    = 0;

  {** data types ************************************************************}

  Z_BINARY   = 0;
  Z_ASCII    = 1;
  Z_UNKNOWN  = 2;

  {** compression methods ***************************************************}

  Z_DEFLATED = 8;

  {** return code messages **************************************************}

  _z_errmsg: array[0..9] of PChar = (
    'need dictionary',      // Z_NEED_DICT      (2)
    'stream end',           // Z_STREAM_END     (1)
    '',                     // Z_OK             (0)
    'file error',           // Z_ERRNO          (-1)
    'stream error',         // Z_STREAM_ERROR   (-2)
    'data error',           // Z_DATA_ERROR     (-3)
    'insufficient memory',  // Z_MEM_ERROR      (-4)
    'buffer error',         // Z_BUF_ERROR      (-5)
    'incompatible version', // Z_VERSION_ERROR  (-6)
    ''
  );

  ZLevels: array [TZCompressionLevel] of Shortint = (
    Z_NO_COMPRESSION,
    Z_BEST_SPEED,
    Z_DEFAULT_COMPRESSION,
    Z_BEST_COMPRESSION
  );

  SZInvalid = 'Invalid ZStream operation!';

{** deflate routines ********************************************************}

function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar;
  recsize: Integer): Integer; external;

function deflateInit2_(var strm: TZStreamRec; level: Integer; method: Integer;
    windowBits: Integer; memLevel: Integer; strategy: Integer; version: PChar;
  recsize: Integer): Integer; external;

function deflate(var strm: TZStreamRec; flush: Integer): Integer;
  external;

function deflateEnd(var strm: TZStreamRec): Integer; external;

{** inflate routines ********************************************************}

function inflateInit2_(var strm: TZStreamRec; WindowBits: Integer; version: PChar;
  recsize: Integer): Integer; external;

function inflateInit_(var strm: TZStreamRec; version: PChar;
  recsize: Integer): Integer; external;

function inflate(var strm: TZStreamRec; flush: Integer): Integer;
  external;

function inflateEnd(var strm: TZStreamRec): Integer; external;

function inflateReset(var strm: TZStreamRec): Integer; external;

{** custom zlib routines ****************************************************}

function DeflateInit(var stream: TZStreamRec; level: Integer): Integer;
function DeflateInit2(var stream: TZStreamRec; level, method, windowBits,
  memLevel, strategy: Integer): Integer;
function InflateInit(var stream: TZStreamRec): Integer;
function InflateInit2(var stream: TZStreamRec; windowBits: Integer): Integer;
function zcalloc(opaque: Pointer; items, size: Integer): Pointer;
procedure zcfree(opaque, block: Pointer);
function CCheck(code: Integer): Integer;
function DCheck(code: Integer): Integer;
procedure MoveI32(const Source; var Dest; Count: Integer); register;

{$ENDIF}

implementation


{$IFDEF USE_ZLIB}

{** custom zlib routines ****************************************************}

function DeflateInit(var stream: TZStreamRec; level: Integer): Integer;
begin
  result := DeflateInit_(stream, level, ZLIB_VERSION, SizeOf(TZStreamRec));
end;

function DeflateInit2(var stream: TZStreamRec; level, method, windowBits,
  memLevel, strategy: Integer): Integer;
begin
  result := DeflateInit2_(stream, level, method, windowBits, memLevel, strategy, ZLIB_VERSION, SizeOf(TZStreamRec));
end;

function InflateInit(var stream: TZStreamRec): Integer;
begin
  result := InflateInit_(stream, ZLIB_VERSION, SizeOf(TZStreamRec));
end;

function InflateInit2(var stream: TZStreamRec; windowBits: Integer): Integer;
begin
  result := InflateInit2_(stream, windowBits, ZLIB_VERSION, SizeOf(TZStreamRec));
end;

function zcalloc(opaque: Pointer; items, size: Integer): Pointer;
begin
  GetMem(result,items * size);
end;

procedure zcfree(opaque, block: Pointer);
begin
  FreeMem(block);
end;

  procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl;
  begin
     FillChar(P^, count, B);
  end;

  procedure _memcpy(dest, source: Pointer; count: Integer); cdecl;
  begin
     Move(source^, dest^, count);
  end;

function _malloc(Size: Integer): Pointer; cdecl;
begin
  Result := AllocMem(Size);
end;

procedure _free(Block: Pointer); cdecl;
begin
  FreeMem(Block);
end;

function CCheck(code: Integer): Integer;
begin
  Result := code;
  if code < 0 then
    raise EZCompressionError.Create('error'); //!!
end;

function DCheck(code: Integer): Integer;
begin
  Result := code;
  if code < 0 then
    raise EZDecompressionError.Create('error');  //!!
end;

procedure MoveI32(const Source; var Dest; Count: Integer); register;
asm
        cmp   ECX,0
        Je    @JustQuit
        push  ESI
        push  EDI
        mov   ESI, EAX
        mov   EDI, EDX
    @Loop:
	Mov   AL, [ESI]
        Inc   ESI
        mov   [EDI], AL
        Inc   EDI
        Dec   ECX
        Jnz   @Loop
        pop   EDI
        pop   ESI
    @JustQuit:
end;

{$ENDIF}


{$I kpUnzipp.Pas}

{******************************************************************}

constructor TVCLUnZip.Create(AOwner: TComponent);
{$IFDEF KPDEMO}
var
   tmpMstr2              : string;
   {$ENDIF}
begin
   inherited Create(AOwner);
   FSortMode := ByNone;
   FDoAll := False;
   RecreateDirs := False;
   FFilesList := TStringList.Create;
   FRelativePathList := TStringList.Create;
   file_info := CreateNewZipHeader;        { 4/22/02  2.23+ }
   { file_info := TZipHeaderInfo.Create;}  { Moved to Loaded  2/17/02 2.22+ }
   Password := '';
   ZipIsBad := False;
   theZipFile := nil;
   files := nil;
   sortfiles := nil;
   FIncompleteZipMode := izAssumeMulti;
   ecrec := TEndCentral.Create;
   CancelOperation := False;
   PauseOperation := False;
   FKeepZipOpen := False;
   FDoProcessMessages := True;
   FCheckDiskLabels := True;
   StreamZipping := False;
   MemZipping := False;
   MemBuffer := nil;
   MemLen := 0;
   ArchiveIsStream := False;
   Fixing := False;
   FNumDisks := 1;
   CurrentDisk := 0;
   FRetainAttributes := True;
   FBusy := False;
   FTestMode := False;
   FThisVersion := kpThisVersion;
   FThisBuild := kpThisBuild;
   FReplaceReadOnly := False;                           { 03/09/99  2.17+ }
   FNumSelected := 0;
   FBufferLength := 0;
   FImproperZip := False;
   FBufferedStreamSize := DEF_BUFSTREAMSIZE;
   FEncryptBeforeCompress := False;
   FOEMConvert := oemAlways;                                 { 2/17/02 2.22+ }
   FBlockMode := bmStandard;
   {$IFDEF KPDEMO}
   if not (csDesigning in ComponentState) then
   begin
      DR := DelphiIsRunning;
      if not DelphiIsRunning then
      begin
         tmpMStr := LoadStr(IDS_NOTREGISTERED);
         tmpMStr2 := LoadStr(IDS_WARNING);
         //MessageBox(0, StringAsPChar(tmpMStr), StringAsPChar(tmpMStr2), mb_OK);
         DoHandleMessage(IDS_NOTREGISTERED,StringAsPChar(tmpMStr), StringAsPChar(tmpMStr2), mb_OK);
         Abort;
      end;
   end;
   {$ENDIF}
end;

destructor TVCLUnZip.Destroy;
begin
   ClearZip;
   if (file_info <> nil) then
      file_info.Free;
   if (ecrec <> nil) then
      ecrec.Free;
   { Moved folowing down two lines 7/10/98  2.13 }
   { Due to a user's reporting that it stopped him from getting "Invalid Pointer Operation"
   { errors.  I was unable to duplicate the problem but the move is safe enough  }
   if (FFilesList <> nil) then
      FFilesList.Free;
   if (FRelativePathList <> nil) then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产凹凸成av人导航| 亚洲高清免费视频| 婷婷一区二区三区| 成人在线视频首页| 欧美日韩在线精品一区二区三区激情| 欧美一区二区三区在| 亚洲免费三区一区二区| 国产米奇在线777精品观看| 欧美日韩1区2区| 亚洲九九爱视频| 成人午夜视频免费看| 欧美一区午夜精品| 亚洲3atv精品一区二区三区| 99久久精品久久久久久清纯| 精品福利视频一区二区三区| 午夜国产精品一区| 91国模大尺度私拍在线视频| 亚洲欧洲韩国日本视频| 国产老肥熟一区二区三区| 日韩美一区二区三区| 亚洲福利一二三区| 91九色02白丝porn| 亚洲免费毛片网站| 91在线视频播放地址| 国产精品久久久久久久午夜片| 国产真实精品久久二三区| 日韩一区二区精品葵司在线| 五月婷婷激情综合| 制服视频三区第一页精品| 亚洲精品视频在线观看网站| 色一情一乱一乱一91av| 一区二区三区不卡在线观看| 91网站在线播放| 一区二区三区中文免费| 欧美亚洲一区二区在线| 亚洲成人av一区二区三区| 欧美日韩免费在线视频| 日韩成人免费电影| 欧美大片日本大片免费观看| 另类小说综合欧美亚洲| 亚洲精品一区二区精华| 色综合久久久久综合体桃花网| 国产精品网站导航| 91免费版pro下载短视频| 亚洲精品高清在线| 5566中文字幕一区二区电影| 蜜乳av一区二区| 国产亚洲一区字幕| 99riav久久精品riav| 亚洲国产日韩a在线播放| 91精品国产综合久久久久久漫画| 男人的天堂久久精品| 久久久一区二区| heyzo一本久久综合| 亚洲国产日韩a在线播放性色| 91精品免费在线| 国产精品1024| 亚洲国产成人91porn| 日韩欧美久久一区| 成人av先锋影音| 亚洲成人精品影院| 久久五月婷婷丁香社区| 91网站在线播放| 美国三级日本三级久久99| 欧美激情综合五月色丁香 | 国产福利一区二区三区视频| 国产精品无人区| 在线播放/欧美激情| 国产成人精品免费网站| 视频一区在线播放| 国产精品高潮呻吟| 91精品国产色综合久久久蜜香臀| 国产美女在线观看一区| 亚洲大尺度视频在线观看| 久久毛片高清国产| 欧美日韩久久久一区| 国产精品一区二区久激情瑜伽| 亚洲欧美日韩国产手机在线| 欧美电影精品一区二区| 在线看不卡av| 国产成人综合在线播放| 日本午夜精品一区二区三区电影| 国产精品成人一区二区艾草| 亚洲精品一区在线观看| 欧美日韩一卡二卡| 色欧美片视频在线观看在线视频| 国产一区999| 麻豆国产欧美日韩综合精品二区| 亚洲综合色视频| 1区2区3区精品视频| 久久久蜜桃精品| 日韩亚洲欧美成人一区| 欧美在线色视频| 成人av电影在线网| 国产一区二区导航在线播放| 天堂在线亚洲视频| 亚洲电影视频在线| 一区二区三区四区视频精品免费| 国产日产精品一区| 久久精品一区二区三区不卡| 欧美大片在线观看| 日韩一区二区三区在线观看| 欧美日韩国产一级片| 欧亚洲嫩模精品一区三区| 91亚洲精品久久久蜜桃网站| 成人性生交大片免费看视频在线| 国产一区二区精品在线观看| 精品一区二区三区免费视频| 蜜桃视频在线观看一区| 日本免费在线视频不卡一不卡二| 亚洲1区2区3区视频| 午夜国产精品影院在线观看| 亚洲五码中文字幕| 亚洲第一精品在线| 三级在线观看一区二区| 免费观看久久久4p| 日本美女一区二区三区| 午夜精品123| 蜜桃av一区二区| 国产乱人伦偷精品视频免下载| 国产一区二区三区观看| 国产盗摄女厕一区二区三区| 夫妻av一区二区| 99久久国产综合精品女不卡| 色综合久久中文综合久久97| 欧美视频一区二区三区四区| 欧美日韩www| 26uuu久久天堂性欧美| 国产人妖乱国产精品人妖| 中文字幕欧美区| 一区二区三区在线看| 午夜精品影院在线观看| 久久97超碰国产精品超碰| 国产伦理精品不卡| 91网站在线播放| 欧美剧在线免费观看网站| 精品国产乱码久久久久久蜜臀| 久久色在线视频| 亚洲青青青在线视频| 日本最新不卡在线| 激情文学综合丁香| 99久久99久久精品免费观看| 欧美午夜免费电影| 久久精品在线免费观看| 夜夜嗨av一区二区三区网页| 美女视频一区在线观看| 成人精品国产福利| 欧美日韩一区二区三区在线看| 精品久久久久久久久久久久包黑料| 久久久精品免费观看| 一区二区三区日韩欧美精品| 蜜桃精品视频在线| 色婷婷综合久久久久中文一区二区| 欧美高清性hdvideosex| 国产精品女主播在线观看| 亚洲国产精品精华液网站| 国产成人无遮挡在线视频| 在线观看区一区二| 久久久国产精品午夜一区ai换脸| 一级特黄大欧美久久久| 国产成人一区在线| 91精品国产色综合久久不卡蜜臀| 欧美激情资源网| 卡一卡二国产精品 | 日韩欧美在线影院| 1区2区3区国产精品| 激情图片小说一区| 欧美天天综合网| 亚洲欧洲av另类| 国内精品自线一区二区三区视频| 色婷婷综合久久久中文一区二区| 久久久亚洲高清| 免费在线观看精品| 欧美视频一区二区在线观看| 中文字幕一区二区在线播放| 国精品**一区二区三区在线蜜桃| 欧美亚洲免费在线一区| 国产精品毛片无遮挡高清| 精品亚洲欧美一区| 这里只有精品免费| 一区二区不卡在线播放| 99re这里只有精品6| 国产情人综合久久777777| 黄色日韩网站视频| 欧美大片免费久久精品三p| 亚洲成人av一区二区| 欧美三级在线视频| 亚洲精品免费在线观看| 99久久777色| 国产精品成人午夜| gogo大胆日本视频一区| 国产精品天天摸av网| 成人免费观看av| 国产精品高潮久久久久无| 国产白丝网站精品污在线入口| 国产亚洲精品免费| 国产精品1区2区| 中文字幕高清不卡| 岛国av在线一区| 亚洲婷婷综合色高清在线|