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

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

?? zlib.pas

?? emacs的一個非常有用的插件,叫xrefactory,可以實現source insight里的那種函數跳轉.和cscope(跳回來不方便)配合使用,非常的不錯.
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
function zlibCheck(code: Integer): Integer;begin  Result := code;  if code < 0 then    raise EZlibError.Create('error');    //!!end;function CCheck(code: Integer): Integer;begin  Result := code;  if code < 0 then    raise ECompressionError.Create('error'); //!!end;function DCheck(code: Integer): Integer;begin  Result := code;  if code < 0 then    raise EDecompressionError.Create('error');  //!!end;procedure CompressBuf(const InBuf: Pointer; InBytes: Integer;                      out OutBuf: Pointer; out OutBytes: Integer);var  strm: TZStreamRec;  P: Pointer;begin  FillChar(strm, sizeof(strm), 0);  OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255;  GetMem(OutBuf, OutBytes);  try    strm.next_in := InBuf;    strm.avail_in := InBytes;    strm.next_out := OutBuf;    strm.avail_out := OutBytes;    CCheck(deflateInit_(strm, Z_BEST_COMPRESSION, zlib_version, sizeof(strm)));    try      while CCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do      begin        P := OutBuf;        Inc(OutBytes, 256);        ReallocMem(OutBuf, OutBytes);        strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));        strm.avail_out := 256;      end;    finally      CCheck(deflateEnd(strm));    end;    ReallocMem(OutBuf, strm.total_out);    OutBytes := strm.total_out;  except    FreeMem(OutBuf);    raise  end;end;procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer;  OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer);var  strm: TZStreamRec;  P: Pointer;  BufInc: Integer;begin  FillChar(strm, sizeof(strm), 0);  BufInc := (InBytes + 255) and not 255;  if OutEstimate = 0 then    OutBytes := BufInc  else    OutBytes := OutEstimate;  GetMem(OutBuf, OutBytes);  try    strm.next_in := InBuf;    strm.avail_in := InBytes;    strm.next_out := OutBuf;    strm.avail_out := OutBytes;    DCheck(inflateInit_(strm, zlib_version, sizeof(strm)));    try      while DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END do      begin        P := OutBuf;        Inc(OutBytes, BufInc);        ReallocMem(OutBuf, OutBytes);        strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P)));        strm.avail_out := BufInc;      end;    finally      DCheck(inflateEnd(strm));    end;    ReallocMem(OutBuf, strm.total_out);    OutBytes := strm.total_out;  except    FreeMem(OutBuf);    raise  end;end;// TCustomZlibStreamconstructor TCustomZLibStream.Create(Strm: TStream);begin  inherited Create;  FStrm := Strm;  FStrmPos := Strm.Position;end;procedure TCustomZLibStream.Progress(Sender: TObject);begin  if Assigned(FOnProgress) then FOnProgress(Sender);end;// TCompressionStreamconstructor TCompressionStream.Create(CompressionLevel: TCompressionLevel;  Dest: TStream);const  Levels: array [TCompressionLevel] of ShortInt =    (Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION);begin  inherited Create(Dest);  FZRec.next_out := FBuffer;  FZRec.avail_out := sizeof(FBuffer);  CCheck(deflateInit_(FZRec, Levels[CompressionLevel], zlib_version, sizeof(FZRec)));end;destructor TCompressionStream.Destroy;begin  FZRec.next_in := nil;  FZRec.avail_in := 0;  try    if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;    while (CCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END)      and (FZRec.avail_out = 0) do    begin      FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));      FZRec.next_out := FBuffer;      FZRec.avail_out := sizeof(FBuffer);    end;    if FZRec.avail_out < sizeof(FBuffer) then      FStrm.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out);  finally    deflateEnd(FZRec);  end;  inherited Destroy;end;function TCompressionStream.Read(var Buffer; Count: Longint): Longint;begin  raise ECompressionError.Create('Invalid stream operation');end;function TCompressionStream.Write(const Buffer; Count: Longint): Longint;begin  FZRec.next_in := @Buffer;  FZRec.avail_in := Count;  if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;  while (FZRec.avail_in > 0) do  begin    CCheck(deflate(FZRec, 0));    if FZRec.avail_out = 0 then    begin      FStrm.WriteBuffer(FBuffer, sizeof(FBuffer));      FZRec.next_out := FBuffer;      FZRec.avail_out := sizeof(FBuffer);      FStrmPos := FStrm.Position;      Progress(Self);    end;  end;  Result := Count;end;function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint;begin  if (Offset = 0) and (Origin = soFromCurrent) then    Result := FZRec.total_in  else    raise ECompressionError.Create('Invalid stream operation');end;function TCompressionStream.GetCompressionRate: Single;begin  if FZRec.total_in = 0 then    Result := 0  else    Result := (1.0 - (FZRec.total_out / FZRec.total_in)) * 100.0;end;// TDecompressionStreamconstructor TDecompressionStream.Create(Source: TStream);begin  inherited Create(Source);  FZRec.next_in := FBuffer;  FZRec.avail_in := 0;  DCheck(inflateInit_(FZRec, zlib_version, sizeof(FZRec)));end;destructor TDecompressionStream.Destroy;begin  inflateEnd(FZRec);  inherited Destroy;end;function TDecompressionStream.Read(var Buffer; Count: Longint): Longint;begin  FZRec.next_out := @Buffer;  FZRec.avail_out := Count;  if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos;  while (FZRec.avail_out > 0) do  begin    if FZRec.avail_in = 0 then    begin      FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer));      if FZRec.avail_in = 0 then        begin          Result := Count - FZRec.avail_out;          Exit;        end;      FZRec.next_in := FBuffer;      FStrmPos := FStrm.Position;      Progress(Self);    end;    DCheck(inflate(FZRec, 0));  end;  Result := Count;end;function TDecompressionStream.Write(const Buffer; Count: Longint): Longint;begin  raise EDecompressionError.Create('Invalid stream operation');end;function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint;var  I: Integer;  Buf: array [0..4095] of Char;begin  if (Offset = 0) and (Origin = soFromBeginning) then  begin    DCheck(inflateReset(FZRec));    FZRec.next_in := FBuffer;    FZRec.avail_in := 0;    FStrm.Position := 0;    FStrmPos := 0;  end  else if ( (Offset >= 0) and (Origin = soFromCurrent)) or          ( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then  begin    if Origin = soFromBeginning then Dec(Offset, FZRec.total_out);    if Offset > 0 then    begin      for I := 1 to Offset div sizeof(Buf) do        ReadBuffer(Buf, sizeof(Buf));      ReadBuffer(Buf, Offset mod sizeof(Buf));    end;  end  else    raise EDecompressionError.Create('Invalid stream operation');  Result := FZRec.total_out;end;end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区日韩一区| 久久这里都是精品| 精品一区二区三区免费毛片爱 | 中文字幕一区二区三区在线播放| 在线一区二区三区四区五区 | 成人国产免费视频| 日韩专区中文字幕一区二区| 欧美激情一区二区三区不卡| 亚洲国产一区二区三区青草影视| 国产午夜亚洲精品理论片色戒| 色爱区综合激月婷婷| 国产成人三级在线观看| 轻轻草成人在线| 亚洲黄色片在线观看| 国产目拍亚洲精品99久久精品| 91超碰这里只有精品国产| 色综合久久99| 成人一区二区三区视频 | 日韩精品福利网| 综合激情网...| 欧美国产一区在线| 精品99999| 欧美电影免费观看高清完整版在| 色婷婷国产精品综合在线观看| 国产精品香蕉一区二区三区| 久久成人麻豆午夜电影| 日韩精品亚洲一区| 午夜精品免费在线观看| 一区二区三区毛片| 亚洲激情五月婷婷| 一区2区3区在线看| 亚洲你懂的在线视频| 亚洲天堂精品在线观看| 中文字幕成人在线观看| 国产欧美日韩综合| 久久久激情视频| 久久免费偷拍视频| 久久久亚洲国产美女国产盗摄 | 中文字幕一区在线观看视频| 精品精品欲导航| 欧美成人三级在线| 日韩欧美亚洲一区二区| 日韩精品一区二区三区swag| 欧美电视剧在线看免费| 日韩欧美国产三级| 精品国产伦一区二区三区免费| 欧美一区二区三区四区五区| 欧美精品第1页| 欧美一二三四区在线| 精品久久国产字幕高潮| 久久影院视频免费| 国产精品私人自拍| 亚洲美女精品一区| 亚洲高清视频的网址| 日韩国产精品久久久久久亚洲| 日韩高清一区在线| 国产美女主播视频一区| 国产成人在线观看免费网站| 成人免费视频网站在线观看| 成人爱爱电影网址| 91精彩视频在线观看| 欧美精选午夜久久久乱码6080| 制服丝袜激情欧洲亚洲| 欧美成人精精品一区二区频| 国产日韩视频一区二区三区| 成人免费在线播放视频| 一区二区三区在线观看动漫 | 精品无码三级在线观看视频 | 紧缚奴在线一区二区三区| 国产一区二区网址| 99久久婷婷国产综合精品电影 | 久久久久久影视| 亚洲同性gay激情无套| 午夜av电影一区| 国产在线精品一区二区三区不卡 | 亚洲精品成a人| 日韩精品成人一区二区三区| 国产乱子轮精品视频| 91香蕉视频黄| 日韩一区二区精品在线观看| 国产欧美在线观看一区| 亚洲午夜视频在线| 国产精品一级片| 中文字幕在线观看一区二区| 亚洲超碰精品一区二区| 国产一区二区三区观看| 一本大道av伊人久久综合| 精品久久久久久久久久久久久久久 | 国产片一区二区| 亚洲午夜羞羞片| 国产suv精品一区二区6| 欧美精品高清视频| 亚洲欧洲性图库| 激情图片小说一区| 欧美性猛片xxxx免费看久爱| 久久精品人人爽人人爽| 亚洲国产精品久久不卡毛片| 国产成人av电影免费在线观看| 在线观看日韩高清av| 久久久久久久电影| 日韩精品欧美精品| 99久久国产综合精品色伊| 久久综合久久鬼色中文字| 一级日本不卡的影视| 国产精品中文字幕欧美| 88在线观看91蜜桃国自产| 亚洲色欲色欲www| 国产又粗又猛又爽又黄91精品| 欧洲色大大久久| 中文字幕制服丝袜成人av| 久久99精品国产91久久来源| 欧美老年两性高潮| 樱桃视频在线观看一区| 国产91丝袜在线播放0| 精品国产一区二区三区忘忧草 | 黄色小说综合网站| 欧美日韩小视频| 亚洲美女屁股眼交3| 成人国产一区二区三区精品| 精品福利一二区| 美女视频黄 久久| 欧美日韩成人综合天天影院 | 成人97人人超碰人人99| 精品久久一区二区三区| 免费成人美女在线观看.| 欧美日韩国产一二三| 亚洲制服丝袜在线| 色中色一区二区| 亚洲精品国产精华液| 99综合电影在线视频| 欧美国产一区二区| 成人动漫一区二区三区| 国产精品久久久久一区二区三区| 国产一区二区三区av电影| 日韩欧美一级二级三级久久久| 日韩不卡一区二区三区| 欧美美女一区二区在线观看| 亚洲一线二线三线久久久| 色琪琪一区二区三区亚洲区| 亚洲精品一二三| av电影在线观看完整版一区二区| 国产精品天干天干在线综合| hitomi一区二区三区精品| 国产精品久久久久久久久免费丝袜| 国产成人综合在线播放| 久久综合色综合88| 福利一区福利二区| 国产精品二区一区二区aⅴ污介绍| 国产v日产∨综合v精品视频| 国产精品国产自产拍高清av王其| 成人av电影在线| 一区二区三区四区av| 欧美色图片你懂的| 丝袜美腿一区二区三区| 日韩色视频在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 视频在线观看一区| 欧美一卡二卡三卡| 韩国视频一区二区| 欧美激情一区二区三区| 91日韩精品一区| 亚洲国产另类av| 精品国产一区二区三区久久影院 | 欧美精品色综合| 老司机一区二区| 亚洲欧洲三级电影| 欧美三级电影网站| 国产曰批免费观看久久久| 中文字幕一区二区三| 欧美私人免费视频| 国内一区二区在线| 亚洲蜜桃精久久久久久久| 欧美日韩精品福利| 国产乱对白刺激视频不卡| 亚洲欧美偷拍三级| 日韩一级片在线观看| 成人涩涩免费视频| 日韩国产精品久久久久久亚洲| 国产无一区二区| 欧美日韩在线直播| 国产福利精品一区| 亚洲一区二区高清| 国产亚洲va综合人人澡精品 | av网站免费线看精品| 日韩av中文字幕一区二区三区| 久久久久久黄色| 欧美日韩国产首页| www.欧美精品一二区| 麻豆精品视频在线观看| 中文字幕永久在线不卡| 日韩精品一区二区三区在线| 99久久er热在这里只有精品15 | 日韩精品一区二| 日本高清不卡一区| 韩国成人精品a∨在线观看| 亚洲无人区一区| 国产精品视频看| 欧美一级日韩免费不卡| 91视频xxxx| 国产一区 二区 三区一级|