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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? vclunzip.pas

?? FIR引擎最新源碼+注冊(cè)
?? PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
      FRelativePathList.Free;
   inherited Destroy;
end;

procedure TVCLUnZip.Loaded;
begin
   inherited Loaded;
   FThisVersion := kpThisVersion; { Moved here from constructor 4/22/98 2.11 }
   FThisBuild := kpThisBuild;
   if (file_info <> nil) then     { 4/22/02  2.23+ }
     file_info.OEMConvert := FOEMConvert;
end;

procedure TVCLUnZip.Assign(Source: TPersistent);        { 6/27/99 2.18+ }
begin
   if source is TVCLUnZip then
   begin
      FZipName := TVCLUnZip(Source).GetZipName;
      FDestDir := TVCLUnZip(Source).GetDestDir;
      FRootDir := TVCLUnZip(Source).FRootDir;
      FSortMode := TVCLUnZip(Source).SortMode;
      FRecreateDir := TVCLUnZip(Source).RecreateDirs;
      FOverwriteMode := TVCLUnZip(Source).OverwriteMode;
      FFilesList.Assign(TVCLUnZip(Source).FilesList);
      FRelativePathList.Assign(TVCLUnZip(Source).RelativePathList);
      FDoAll := TVCLUnZip(Source).DoAll;
      FIncompleteZipMode := TVCLUnZip(Source).IncompleteZipMode;
      FKeepZipOpen := TVCLUnZip(Source).KeepZipOpen;
      FDoProcessMessages := TVCLUnZip(Source).DoProcessMessages;
      FRetainAttributes := TVCLUnZip(Source).RetainAttributes;
      FReplaceReadOnly := TVCLUnZip(Source).ReplaceReadOnly;

      FOnStartUnZipInfo := TVCLUnZip(Source).OnStartUnzipInfo;
      FOnFilePercentDone := TVCLUnZip(Source).OnFilePercentDone;
      FOnTotalPercentDone := TVCLUnZip(Source).OnTotalPercentDone;
      FOnStartUnZip := TVCLUnZip(Source).OnStartUnZip;
      FOnEndUnZip := TVCLUnZip(Source).OnEndUnZip;
      FOnPromptForOverwrite := TVCLUnZip(Source).OnPromptForOverwrite;
      FOnSkippingFile := TVCLUnZip(Source).OnSkippingFile;
      FOnBadPassword := TVCLUnZip(Source).OnBadPassword;
      FOnBadCRC := TVCLUnZip(Source).OnBadCRC;
      FOnInCompleteZip := TVCLUnZip(Source).OnInCompleteZip;
      FOnGetNextDisk := TVCLUnZip(Source).OnGetNextDisk;
      FOnUnzipComplete := TVCLUnzip(Source).OnUnZipComplete;
      FOnGetNextBuffer := TVCLUnzip(Source).OnGetNextBuffer;
      FOnFileNameForSplitPart :=  TVCLUnzip(Source).OnFileNameForSplitPart;
   end
   else
      inherited Assign(Source);
end;

procedure TVCLUnZip.SetZipName(ZName: string);
var
   tempZipName           : string;
   Canceled              : Boolean;
   fnamepos                  : integer;
begin
   if (csDesigning in ComponentState) then
   begin                                                { 4/20/98 2.11 }
      FZipName := ZName;
      exit;
   end;
   if AnsiCompareText(ZName, FZipName) = 0 then
      exit;
   Canceled := False;
   {$IFNDEF KPSMALL}
   if (ZName <> '') and (ZName[Length(ZName)] = '?') then
   begin
      OpenZipDlg := TOpenDialog.Create(Application);
      try
         OpenZipDlg.Title := LoadStr(IDS_OPENZIP);
         OpenZipDlg.Filter := LoadStr(IDS_ZIPNAMEFILTER);
         if DirExists(ExtractFilePath(ZName)) then
            OpenZipDlg.InitialDir := ExtractFilePath(ZName)
         else
            OpenZipDlg.InitialDir := 'C:\';
         if OpenZipDlg.Execute then
            tempZipName := OpenZipDlg.Filename
         else
            Canceled := True;
      finally
         OpenZipDlg.Free;
      end;
   end
   else
      {$ENDIF}
      tempZipName := ZName;

   if not Canceled then
   begin
      FZipName := tempZipName;
      // Get filename without extension
      tempZipName := ExtractFileName(FZipName);
      fnamepos := Pos(tempZipName,FZipName)-1;
      fnamepos := fnamepos + Pos('.',Copy(FZipName,fnamepos,Length(FZipName)-fnamepos))-1;
      FZipNameNoExtension := LeftStr(FZipName,fnamepos-1);
      if (sortfiles <> nil) and (FSortMode <> ByNone) then
         sortfiles.Free;
      sortfiles := nil;
      files.Free;
      files := nil;
      filesDate := 0;
      ecrec.Clear;
      theZipFile.Free;
      theZipFile := nil;
      ZipIsBad := False;
      ArchiveIsStream := False;
   end
   else
      raise EUserCanceled.Create(LoadStr(IDS_CANCELZIPNAME));
end;

function TVCLUnZip.GetZipName: string;
begin
   Result := FZipName;
end;

procedure TVCLUnZip.SetArchiveStream(theStream: TkpStream);
begin
   if theStream = nil then
      theZipFile := nil;
   ClearZip;
   theZipFile := theStream;
   if theZipFile <> nil then
   begin
      FKeepZipOpen := True;
      ArchiveIsStream := True;
   end
   else
      ArchiveIsStream := False;
end;

procedure TVCLUnZip.SetDestDir(DDir: string);
{$IFNDEF KPSMALL}
var
   theDir                : string;
   {$ENDIF}
begin
   {$IFNDEF KPSMALL}
   if DDir = '?' then
   begin
      theDir := FDestDir;
      if not DirExists(theDir + '\') then
         GetDirectory(0, theDir);
      {$IFNDEF WIN32}
      {$IFNDEF NOLONGNAMES}
      if OSVersion > 3 then
         theDir := LFN_ConvertLFName(theDir, SHORTEN);
      {$ENDIF}
      {$ENDIF}
      if SelectDirectory(theDir, [sdAllowCreate, sdPerformCreate, sdPrompt], 0) then
         FDestDir := theDir
      else
         raise EUserCanceled.Create(LoadStr(IDS_CANCELDESTDIR));
   end
   else
      {$ENDIF}
      FDestDir := DDir;

   if (FDestDir <> '') and (FDestDir[Length(FDestDir)] = '\') then { Remove slash }
      SetLength(FDestDir, Length(FDestDir) - 1);
end;

function TVCLUnZip.GetDestDir: string;
begin
   Result := FDestDir;
end;

procedure TVCLUnZip.SetRootDir(Value: string);
begin
   if Length(Value) > 0 then
   begin
      if RightStr(Value, 1) <> '\' then
         FRootDir := Value + '\'
      else
         FRootDir := Value;
   end
   else
      FRootDir := '';
   FRelativePathList.Clear;
   FRelativePathList.Add(FRootDir);
end;

function TVCLUnZip.StripRelativePath( var path: String ): String;
var
  i: Integer;
begin
  for i := 0 to FRelativePathList.Count-1 do
   begin
      if (AnsiCompareText(LeftStr(path,Length(FRelativePathList[i])),FRelativePathList[i]) = 0) then
       begin
        Delete(path,1,Length(RelativePathList[i]));
        break;
       end;
   end;
   Result := path;
end;

procedure TVCLUnZip.SetFilesList(Value: TStrings);
begin
   FFilesList.Assign(Value);
end;

{ List Properties }

function TVCLUnZip.GetFilename(Index: Integer): TZipFilename;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.filename;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetPathname(Index: Integer): TZipPathname;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.Directory;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetFullname(Index: Integer): string;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.Directory + finfo.filename;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetCompressMethod(Index: Integer): WORD;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.compression_method;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetCompressMethodStr(Index: Integer): string;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := comp_method[finfo.compression_method];
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetDateTime(Index: Integer): TDateTime;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      try
         Result := FileDateToDateTime(finfo.last_mod_file_date_time)
      except
         Result := Now;
      end;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetCrc(Index: Integer): U_LONG;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.Crc32;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetCompressedSize(Index: Integer): BIGINT;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.compressed_size;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetUnCompressedSize(Index: Integer): BIGINT;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.uncompressed_size;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetExternalFileAttributes(Index: Integer): U_LONG;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.external_file_attributes;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetIsEncrypted(Index: Integer): Boolean;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.Encrypted;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetHasComment(Index: Integer): Boolean;
var
   finfo                 : TZipHeaderInfo;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      Result := finfo.HasComment;
   end
   else
      raise EListError.CreateFmt(LoadStr(IDS_INDEXOUTOFRANGE), [Index]);
end;

function TVCLUnZip.GetZipHasComment: Boolean;
begin
   Result := ecrec.zip_comment_length > 0;
end;

function TVCLUnZip.GetFileComment(Index: Integer): string;
var
   finfo                 : TZipHeaderInfo;
   crec                  : central_file_header;
   CommentLength         : LongInt;
   RememberModified      : Boolean;
   RememberPosition      : BIGINT;
begin
   if (Index > -1) and (Index < Count) then
   begin
      finfo := sortfiles.Items[Index] as TZipHeaderInfo;
      with finfo do
      begin
         if HasComment then
         begin
            RememberPosition := 0;
            if finfo.filecomment = nil then
            try
               OpenZip;
               RememberPosition := theZipFile.Position;
               theZipFile.Seek(central_offset, soBeginning);
               theZipFile.Read(crec, SizeOf(central_file_header));
               with crec do
               begin
                  theZipFile.Seek(filename_length + extra_field_length, soCurrent);
                  {$IFDEF WIN32}
                  CommentLength := file_comment_length;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月综合激情网| 精品国精品自拍自在线| 在线影院国内精品| 日本韩国欧美一区| 欧美视频一区二| 欧美日韩一卡二卡三卡| 91精品在线免费| 日韩欧美国产成人一区二区| 欧美电影免费观看完整版| 日韩一级在线观看| 日韩精品中午字幕| 国产欧美日韩一区二区三区在线观看| 久久久噜噜噜久噜久久综合| 国产欧美日韩亚州综合| 亚洲欧洲无码一区二区三区| 亚洲最大的成人av| 香蕉乱码成人久久天堂爱免费| 天天综合网 天天综合色| 久久草av在线| 成人短视频下载| 在线一区二区三区四区五区| 欧美久久婷婷综合色| 日韩一区二区三区在线| 国产午夜亚洲精品不卡| 国产精品九色蝌蚪自拍| 亚欧色一区w666天堂| 美女看a上一区| 成人动漫av在线| 欧美中文字幕一区二区三区| 欧美一级黄色片| 国产精品五月天| 亚洲国产欧美日韩另类综合| 美国欧美日韩国产在线播放| 国产a久久麻豆| 欧美性受xxxx黑人xyx| 日韩精品一区国产麻豆| 国产精品久久久久久久裸模| 亚洲成a人片综合在线| 国产原创一区二区三区| 在线欧美日韩精品| 精品少妇一区二区三区免费观看| 国产精品女上位| 午夜精品久久久久影视| 国产经典欧美精品| 欧美日韩免费不卡视频一区二区三区| 欧美成人a视频| 亚洲欧美日韩国产手机在线 | 国产高清不卡一区| 91日韩一区二区三区| 欧美成人乱码一区二区三区| 中文字幕在线一区免费| 日本伊人精品一区二区三区观看方式| 成人av网站大全| 欧美一级日韩一级| 亚洲免费av高清| 国产一区二区视频在线| 欧美日韩视频第一区| 国产精品麻豆欧美日韩ww| 日本va欧美va精品| 91老司机福利 在线| 欧美va亚洲va香蕉在线| 亚洲国产欧美在线人成| 成人黄色一级视频| 日韩一级片在线观看| 亚洲精品第1页| 成人免费毛片app| 精品久久人人做人人爱| 五月天国产精品| 一本大道久久a久久精二百| 久久精品欧美日韩| 美女视频第一区二区三区免费观看网站| 91美女片黄在线| 国产午夜精品久久久久久久| 蜜臀精品久久久久久蜜臀 | 国产精品毛片高清在线完整版| 青娱乐精品在线视频| 在线视频一区二区三| 综合久久国产九一剧情麻豆| 丁香婷婷深情五月亚洲| 精品国产乱码久久久久久闺蜜| 亚洲高清不卡在线观看| 91色.com| 日韩毛片高清在线播放| 国产成人高清在线| 久久久久97国产精华液好用吗| 美女视频黄 久久| 91精品福利在线一区二区三区| 亚洲二区视频在线| 日本韩国欧美在线| 一区二区三区四区在线播放| 成人avav在线| 综合久久久久久久| 一本大道综合伊人精品热热| 亚洲精品欧美激情| 91精品福利视频| 亚洲麻豆国产自偷在线| 日本韩国一区二区三区视频| 一区二区在线观看视频| 色哟哟精品一区| 亚洲综合色视频| 欧美在线视频日韩| 亚洲一区二区三区四区的| 在线观看一区二区精品视频| 一片黄亚洲嫩模| 欧美性xxxxxxxx| 亚洲成人tv网| 日韩亚洲欧美综合| 国产尤物一区二区在线| 久久久久久麻豆| 成人免费福利片| 亚洲精品美腿丝袜| 欧美亚一区二区| 天天操天天综合网| 91精品国产91久久久久久一区二区| 老司机午夜精品| 欧美激情资源网| 99精品欧美一区二区三区小说| 亚洲欧美一区二区三区久本道91| 色素色在线综合| 日韩av二区在线播放| 欧美不卡一二三| 福利电影一区二区| 亚洲天堂久久久久久久| 欧美日韩视频在线一区二区| 免费高清成人在线| 国产片一区二区| 色婷婷av一区二区三区gif | 色成人在线视频| 三级欧美在线一区| 欧美精品一区二区三区久久久| 成人午夜短视频| 一区二区在线观看免费视频播放| 宅男在线国产精品| 国产成人av自拍| 一区二区三区在线不卡| 欧美videossexotv100| 成人黄色av网站在线| 亚洲一二三级电影| 久久久久久免费网| 欧洲日韩一区二区三区| 捆绑调教美女网站视频一区| 欧美激情综合五月色丁香小说| 在线看日韩精品电影| 男女男精品视频| 国产精品少妇自拍| 4438成人网| 成人国产精品免费观看动漫| 日本午夜一区二区| 国产精品日产欧美久久久久| 欧美蜜桃一区二区三区| 国产成人精品1024| 日韩福利电影在线观看| 中文字幕av一区二区三区| 欧美久久久久久蜜桃| 成人免费视频一区| 天天操天天色综合| 亚洲视频一区在线| 亚洲精品在线观| 欧美三级在线播放| 国产91精品精华液一区二区三区| 婷婷中文字幕综合| 国产精品久久久久久久久免费相片 | 99精品视频在线免费观看| 麻豆成人免费电影| 亚洲一本大道在线| 国产精品天干天干在线综合| 日韩免费观看2025年上映的电影| 色天天综合色天天久久| 国产成人aaa| 美女脱光内衣内裤视频久久影院| 一区二区三区四区激情| 国产日产欧美一区二区三区| 日韩视频免费观看高清完整版在线观看 | 91麻豆福利精品推荐| 国产一区二区在线观看视频| 天堂一区二区在线| 亚洲女同一区二区| 欧美激情一区在线| 精品国产一区二区三区av性色| 欧美日韩一区二区三区视频| jlzzjlzz国产精品久久| 国产麻豆视频一区二区| 免费三级欧美电影| 丝袜美腿亚洲一区二区图片| 一区二区三区精品在线| 中文字幕日韩一区| 国产精品―色哟哟| 国产欧美一区二区三区在线看蜜臀| 日韩美女主播在线视频一区二区三区| 欧美亚州韩日在线看免费版国语版| 91丨porny丨户外露出| 成人动漫av在线| yourporn久久国产精品| 国产激情偷乱视频一区二区三区| 精品一区二区三区免费| 美腿丝袜亚洲综合| 免费在线观看成人| 麻豆精品视频在线| 免费在线看成人av| 美国十次综合导航|