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

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

?? cm_main.pas

?? 類似于WinRAR的壓縮工具
?? PAS
字號(hào):
unit Cm_Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, ZLibEx;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Button2: TButton;
    Edit2: TEdit;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    GroupBox3: TGroupBox;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    GroupBox4: TGroupBox;
    ProgressBar1: TProgressBar;
    Panel1: TPanel;
    Button3: TButton;
    Button4: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure Edit1Change(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure OnProgress(dwBytesDone, dwBytesTotal: DWord);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{$R WindowsXP.res}

const
     Z_NO_FLUSH = 0;
     Z_STREAM_END = 1;
     Z_FINISH = 4;

     ZLevels: Array [TZCompressionLevel] of ShortInt = (0, 1, -1, 9);

     ZErrMsg: Array [0..9] of PChar = (
      'Need dictionary',
      'Stream end',
      '',
      'File error',
      'Stream error',
      'Data error',
      'Insufficient memory',
      'Buffer error',
      'Incompatible version',
      '');

procedure TForm1.OnProgress(dwBytesDone, dwBytesTotal: DWord);
begin
     ProgressBar1.Position := dwBytesDone * 100 div dwBytesTotal;
     Panel1.Caption := Format('%d%%', [dwBytesDone * 100 div dwBytesTotal]);
     Application.ProcessMessages;
end;

function ZCompressCheck(Code: Integer): Integer;
begin
     Result := Code;
     if Code < 0 then
        Raise EZCompressionError.Create(ZErrMsg[2 - Code]);
end;

procedure Compress(InStream, OutStream: TMemoryStream; Level: TZCompressionLevel);
var
   ZStream: TZStreamRec;
   lpInBuffer, lpOutBuffer: Pointer;
   ZResult, InSize, OutSize: Integer;
begin
     FillChar(ZStream, SizeOf(TZStreamRec), 0);
     ZCompressCheck(DeflateInit_(ZStream,
                                 ZLevels[Level],
                                 '1.2.3',
                                 SizeOf(TZStreamRec)));
     GetMem(lpInBuffer, 10240);
     GetMem(lpOutBuffer, 10240);
     InSize := InStream.Read(lpInBuffer^, 10240);
     While InSize > 0 do
           begin
                ZStream.next_in := lpInBuffer;
                ZStream.avail_in := InSize;
                Repeat
                      ZStream.next_out := lpOutBuffer;
                      ZStream.avail_out := 10240;
                      ZCompressCheck(deflate(ZStream, Z_NO_FLUSH));
                      OutSize := 10240 - ZStream.avail_out;
                      OutStream.Write(lpOutBuffer^, OutSize);
                      Form1.OnProgress(InStream.Position, InStream.Size);
                Until (ZStream.avail_in = 0) and (ZStream.avail_out > 0);
                InSize := InStream.Read(lpInBuffer^, 10240);
           end;
     Repeat
           ZStream.next_out := lpOutBuffer;
           ZStream.avail_out := 10240;
           ZResult := ZCompressCheck(deflate(ZStream, Z_FINISH));
           OutSize := 10240 - ZStream.avail_out;
           OutStream.Write(lpOutBuffer^, OutSize);
           Form1.OnProgress(InStream.Position, InStream.Size);
     Until (ZResult = Z_STREAM_END) and (ZStream.avail_out > 0);
     ZCompressCheck(deflateEnd(ZStream));
     FreeMem(lpInBuffer);
     FreeMem(lpOutBuffer);
end;

procedure Decompress(InStream, OutStream: TMemoryStream);
var
   ZStream: TZStreamRec;
   lpInBuffer, lpOutBuffer: Pointer;
   ZResult, InSize, OutSize: Integer;
begin
     FillChar(ZStream, SizeOf(TZStreamRec), 0);
     ZCompressCheck(InflateInit_(ZStream,
                                 '1.2.3',
                                 SizeOf(TZStreamRec)));
     GetMem(lpInBuffer, 10240);
     GetMem(lpOutBuffer, 10240);
     InSize := InStream.Read(lpInBuffer^, 10240);
     While InSize > 0 do
           begin
                ZStream.next_in := lpInBuffer;
                ZStream.avail_in := InSize;
                Repeat
                      ZStream.next_out := lpOutBuffer;
                      ZStream.avail_out := 10240;
                      ZCompressCheck(inflate(ZStream, Z_NO_FLUSH));
                      OutSize := 10240 - ZStream.avail_out;
                      OutStream.Write(lpOutBuffer^, OutSize);
                      Form1.OnProgress(InStream.Position, InStream.Size);
                Until (ZStream.avail_in = 0) and (ZStream.avail_out > 0);
                InSize := InStream.Read(lpInBuffer^, 10240);
           end;
     Repeat
           ZStream.next_out := lpOutBuffer;
           ZStream.avail_out := 10240;
           ZResult := ZCompressCheck(inflate(ZStream, Z_FINISH));
           OutSize := 10240 - ZStream.avail_out;
           OutStream.Write(lpOutBuffer^, OutSize);
           Form1.OnProgress(InStream.Position, InStream.Size);
     Until (ZResult = Z_STREAM_END) and (ZStream.avail_out > 0);
     ZCompressCheck(inflateEnd(ZStream));
     FreeMem(lpInBuffer);
     FreeMem(lpOutBuffer);
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
     Button3.Enabled := FileExists(Edit1.Text) and
                        DirectoryExists(ExtractFilePath(Edit1.Text));
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
     RadioButton3.Enabled := True;
     RadioButton4.Enabled := True;
     RadioButton5.Enabled := True;
     RadioButton6.Enabled := True;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
     RadioButton3.Enabled := False;
     RadioButton4.Enabled := False;
     RadioButton5.Enabled := False;
     RadioButton6.Enabled := False;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
     if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     if SaveDialog1.Execute then Edit2.Text := SaveDialog1.FileName;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
   Src, Dest: TMemoryStream;
   Level: TZCompressionLevel;
begin
     Src := TMemoryStream.Create;
     Dest := TMemoryStream.Create;
     Edit1.Enabled := False;
     Edit2.Enabled := False;
     Button1.Enabled := False;
     Button2.Enabled := False;
     RadioButton1.Enabled := False;
     RadioButton2.Enabled := False;
     RadioButton3.Enabled := False;
     RadioButton4.Enabled := False;
     RadioButton5.Enabled := False;
     RadioButton6.Enabled := False;
     try
        try
           Src.LoadFromFile(Edit1.Text);
        except
              MessageBox(Handle,
                         'Can''t Open Input File!',
                         'Error',
                         MB_ICONERROR);
        end;
        Src.Position := 0;
        Dest.Clear;
        if RadioButton1.Checked then
           begin
                if RadioButton3.Checked then
                   Level := zcMax
                   else
                   if RadioButton4.Checked then
                      Level := zcDefault
                      else
                      if RadioButton5.Checked then
                         Level := zcFastest
                         else
                         Level := zcNone;
                try
                   Compress(Src, Dest, Level);
                   Dest.SaveToFile(Edit2.Text);
                   MessageBox(Handle,
                              PChar('Compress Finished!'#13#10 +
                                    'File Save to: "' + Edit2.Text + '" !'),
                              'Information',
                              MB_ICONINFORMATION);
                except
                      MessageBox(Handle,
                                 'Compress Failed!',
                                 'Error',
                                 MB_ICONERROR);
                end;
           end
           else
           begin
                try
                   Decompress(Src, Dest);
                   Dest.SaveToFile(Edit2.Text);
                   MessageBox(Handle,
                              PChar('Decompress Finished!'#13#10 +
                                    'File Save to: "' + Edit2.Text + '" !'),
                              'Information',
                              MB_ICONINFORMATION);
                except
                      MessageBox(Handle,
                                 'Decompress Failed!',
                                 'Error',
                                 MB_ICONERROR);
                end;
           end;
     finally
            Src.Free;
            Dest.Free;
            Edit1.Enabled := True;
            Edit2.Enabled := True;
            Button1.Enabled := True;
            Button2.Enabled := True;
            RadioButton1.Enabled := True;
            RadioButton2.Enabled := True;
            RadioButton3.Enabled := True;
            RadioButton4.Enabled := True;
            RadioButton5.Enabled := True;
            RadioButton6.Enabled := True;
     end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
     Form1.Close;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频免费看| 亚洲高清免费观看| 欧美午夜精品电影| 国产尤物一区二区| 亚洲激情综合网| 亚洲精品一区二区三区香蕉| 色狠狠桃花综合| 国产精品18久久久久久久网站| 亚洲综合一二区| 国产欧美一区二区精品性色| 6080日韩午夜伦伦午夜伦| voyeur盗摄精品| 国产剧情av麻豆香蕉精品| 首页欧美精品中文字幕| 中文字幕一区二区在线观看 | 国产精品亚洲第一区在线暖暖韩国| 亚洲精品你懂的| 国产欧美1区2区3区| 91麻豆精品国产91久久久久久久久| 99re这里只有精品6| 久久国产尿小便嘘嘘尿| 五月婷婷色综合| 亚洲狠狠丁香婷婷综合久久久| 国产日产欧美一区二区三区| 日韩网站在线看片你懂的| 欧美日韩精品一区二区三区四区| caoporn国产一区二区| 国产精品一区二区在线观看网站| 老色鬼精品视频在线观看播放| 亚洲成a人片综合在线| 亚洲图片你懂的| 国产精品国产三级国产普通话99| 久久综合色之久久综合| 日韩精品一区二区三区视频| 欧美日产在线观看| 精品视频资源站| 欧美性欧美巨大黑白大战| 91老师片黄在线观看| 97精品视频在线观看自产线路二| 成人一区二区三区中文字幕| 国产精品一区久久久久| 国产一区二区不卡在线| 国产在线不卡一区| 韩国欧美国产一区| 久久99精品久久久| 国产一区二区三区精品视频| 国内久久婷婷综合| 国产露脸91国语对白| 国产精品亚洲一区二区三区在线| 久久精品国产秦先生| 蜜臀久久久久久久| 九九九久久久精品| 国产很黄免费观看久久| 国产精品一二三区| 成人av电影在线观看| 色综合视频在线观看| 91福利在线导航| 欧美日韩国产一二三| 欧美一区二区三区人| 日韩欧美激情四射| 国产欧美一二三区| 亚洲欧美日韩国产成人精品影院| 亚洲日本免费电影| 亚洲成人精品影院| 精品亚洲国产成人av制服丝袜| 国产伦理精品不卡| a4yy欧美一区二区三区| 欧美在线观看一区二区| 欧美一级高清大全免费观看| 2022国产精品视频| 国产精品久久久久久久久快鸭| 一区二区三区四区国产精品| 五月综合激情网| 美腿丝袜在线亚洲一区| 国产精品一区专区| 一本色道久久综合亚洲91| 欧美日韩国产免费一区二区| 欧美精品一区二区三区在线 | 久久在线观看免费| 国产精品久久久久久久久免费相片 | 国产传媒日韩欧美成人| 色综合久久综合中文综合网| 日韩西西人体444www| 中文字幕高清一区| 日本三级亚洲精品| 成人免费电影视频| 91精品中文字幕一区二区三区| 久久午夜羞羞影院免费观看| 亚洲视频免费看| 韩国欧美国产一区| 欧美午夜精品久久久| 国产三级一区二区| 午夜精彩视频在线观看不卡| 国产精品系列在线播放| 欧美另类videos死尸| 国产农村妇女精品| 青青草国产成人av片免费| av亚洲精华国产精华精| 欧美刺激午夜性久久久久久久| 亚洲人123区| 国产剧情在线观看一区二区| 欧美日韩中文字幕一区| 国产精品丝袜一区| 美日韩黄色大片| 欧美日韩一级片网站| 国产精品国产自产拍高清av王其| 日本成人在线看| 欧美性生交片4| 中文字幕在线一区| 国产一区在线视频| 91精品国产综合久久久蜜臀粉嫩| 中文字幕一区二区三区不卡 | 国产一区二区三区在线观看免费视频 | 久久精品国产亚洲高清剧情介绍 | 国产伦精品一区二区三区免费| 欧洲av一区二区嗯嗯嗯啊| 中文乱码免费一区二区| 精品在线视频一区| 欧美年轻男男videosbes| 亚洲欧美另类图片小说| 成人黄色综合网站| 国产日产精品一区| 激情小说欧美图片| 日韩欧美一级特黄在线播放| 午夜精品一区在线观看| 一本久道中文字幕精品亚洲嫩| 中文字幕在线免费不卡| av激情亚洲男人天堂| 亚洲国产成人私人影院tom| 国产一区91精品张津瑜| 精品久久久久久久久久久久久久久 | 综合亚洲深深色噜噜狠狠网站| 国产成人在线免费观看| 精品国产乱码久久久久久闺蜜| 日韩国产欧美一区二区三区| 91精品国产综合久久蜜臀| 日韩中文字幕亚洲一区二区va在线| 欧洲在线/亚洲| 午夜精品久久久久影视| 欧美日韩国产小视频| 视频在线观看国产精品| 欧美日韩一区三区四区| 亚洲在线视频免费观看| 欧美色图天堂网| 污片在线观看一区二区| 91精品国产综合久久精品| 欧美aaa在线| 精品乱人伦小说| 国产精品911| 亚洲丝袜另类动漫二区| 色哟哟日韩精品| 午夜久久久久久久久| 日韩一级大片在线| 国产在线播精品第三| 中文字幕乱码亚洲精品一区| av日韩在线网站| 亚洲电影视频在线| 日韩免费看网站| 国产成人亚洲精品青草天美 | 另类中文字幕网| 久久天天做天天爱综合色| 国产98色在线|日韩| 最新高清无码专区| 欧美美女直播网站| 极品少妇xxxx精品少妇偷拍| 国产精品久久三| 欧美性videosxxxxx| 免费观看久久久4p| 国产欧美日韩视频一区二区| 色美美综合视频| 日本aⅴ亚洲精品中文乱码| 久久蜜臀精品av| 91精品福利视频| 精品一区二区免费在线观看| 中文字幕第一页久久| 欧美性一区二区| 高清国产一区二区三区| 午夜一区二区三区视频| 久久久精品国产免大香伊| 欧美午夜电影网| 国产99久久久久久免费看农村| 亚洲国产精品一区二区尤物区| 久久久久久久久岛国免费| 欧美丝袜丝交足nylons图片| 免费观看在线综合色| 亚洲美女一区二区三区| 欧美日本精品一区二区三区| 国产一区二区视频在线| 亚洲国产裸拍裸体视频在线观看乱了| 日韩午夜小视频| 色哟哟一区二区在线观看| 极品销魂美女一区二区三区| 亚洲一区二区四区蜜桃| 久久久久久久久久电影| 欧美猛男超大videosgay| jlzzjlzz欧美大全| 麻豆极品一区二区三区| 亚洲小说欧美激情另类| 国产精品久久久久一区二区三区| 日韩一区二区免费在线电影|