📄 ufrmmain.pas
字号:
unit UFrmMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FuncUnit, SUIButton, SUIPageControl, ExtCtrls, SUITabControl,
StdCtrls, SUIEdit, SUIProgressBar, SUIMemo, SUIScrollBar, SUIListBox,
SUISkinForm, SUIComboBox, RxGIF;
type
TFrmMain = class(TForm)
OpenDlg: TOpenDialog;
suiPageControl1: TsuiPageControl;
suiTabSheet1: TsuiTabSheet;
suiTabSheet2: TsuiTabSheet;
suiTabSheet3: TsuiTabSheet;
suiBtnZipDir: TsuiButton;
suiEdit1: TsuiEdit;
suiProgressBar1: TsuiProgressBar;
suiEdit2: TsuiEdit;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiEdit5: TsuiEdit;
suiScrollBar1: TsuiScrollBar;
Bevel2: TBevel;
suiMemo1: TsuiMemo;
suiButton2: TsuiButton;
suiEdit3: TsuiEdit;
Bevel1: TBevel;
suiButton7: TsuiButton;
suiEdit4: TsuiEdit;
Bevel3: TBevel;
suiButton1: TsuiButton;
suiEdit6: TsuiEdit;
suiButton8: TsuiButton;
suiSkinForm1: TsuiSkinForm;
suiButton5: TsuiButton;
suiEdit7: TsuiEdit;
Label1: TLabel;
Panel1: TPanel;
suiEdit8: TsuiEdit;
Label2: TLabel;
savedlg: TSaveDialog;
suiComboBox1: TsuiComboBox;
Label3: TLabel;
suiEdit9: TsuiEdit;
Label4: TLabel;
suiComboBox2: TsuiComboBox;
Label5: TLabel;
suiButton6: TsuiButton;
suiScrollBar2: TsuiScrollBar;
Panel2: TPanel;
Image1: TImage;
procedure suiButton5Click(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiButton7Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure suiBtnZipDirClick(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
private
zip: TZipDef;
procedure ProcessZipEvent(MaxSize, CurSize: Integer; var CancelProcess: Boolean);
public
{ Public declarations }
end;
var
FrmMain: TFrmMain;
implementation
uses UFrmSelDir,UFrmSelFile;
{$R *.dfm}
procedure TFrmMain.suiButton5Click(Sender: TObject);
begin
Close;
end;
procedure TFrmMain.suiButton1Click(Sender: TObject);
begin
if OpenDlg.Execute then suiEdit6.Text := OpenDlg.FileName;
end;
procedure TFrmMain.suiButton7Click(Sender: TObject);
var
Frm: TFrmSelDir;
begin
Frm := TFrmSelDir.Create(self);
if Frm.ShowModal = mrOK then suiEdit4.Text := Frm.ShellTreeView1.SelectedFolder.PathName;
end;
procedure TFrmMain.suiButton8Click(Sender: TObject);
var
b: Boolean;
ResultInt: Integer;
begin
Case suiPageControl1.ActivePageIndex of
2:begin
if (suiEdit6.Text = '') or (not FileExists(suiEdit6.Text)) then Exit;
if not DirectoryExists(suiEdit4.Text) then Exit;
zip := TZipDef.Create;
try
Zip.OnProcessZipEvent := ProcessZipEvent;
ResultInt:= zip.UnZipFiles(Trim(suiEdit6.Text), Trim(suiEdit4.Text),Trim(suiEdit7.Text));
if ResultInt <> 0 then Showmessage('发生错误' + IntToStr(ResultInt))
else ShowMessage('完成');
suiProgressBar1.Position := 0;
finally
zip.free;
end;
end;
1:begin
if (suiEdit5.Text = '') then Exit;
if suiMemo1.Lines.Count <= 0 then Exit;
zip := TZipDef.Create;
try
Zip.OnProcessZipEvent := ProcessZipEvent;
b := Trim(suiEdit9.Text) <> '';
ResultInt:= zip.ZipFiles(suiMemo1.Text,Trim(suiEdit5.Text), b,
suiComboBox2.ItemIndex + 1, Trim(suiEdit9.Text));
if ResultInt <> 0 then Showmessage('发生错误' + IntToStr(ResultInt))
else ShowMessage('完成');
suiProgressBar1.Position := 0;
finally
zip.free;
end;
end;
0:begin
if (suiEdit3.Text = '') then Exit;
if not DirectoryExists(suiEdit1.Text) then Exit;
zip := TZipDef.Create;
try
Zip.OnProcessZipEvent := ProcessZipEvent;
b := Trim(suiEdit8.Text) <> '';
ResultInt:= zip.ZipDir(Trim(suiEdit1.Text), Trim(suiEdit3.Text), b,
suiComboBox1.ItemIndex + 1, Trim(suiEdit8.Text));
if ResultInt <> 0 then Showmessage('发生错误' + IntToStr(ResultInt))
else ShowMessage('完成');
suiProgressBar1.Position := 0;
finally
zip.free;
end;
end;
end;
end;
procedure TFrmMain.ProcessZipEvent(MaxSize, CurSize: Integer; var CancelProcess: Boolean);
begin
suiProgressBar1.Max := MaxSize;
suiProgressBar1.Position := CurSize;
Application.ProcessMessages;
end;
procedure TFrmMain.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then Exit;
ReleaseCapture;
self.Perform(WM_SYSCOMMAND, SC_MOVE or 1, 0);
end;
procedure TFrmMain.suiBtnZipDirClick(Sender: TObject);
var
Frm: TFrmSelDir;
begin
Frm := TFrmSelDir.Create(self);
if Frm.ShowModal = mrOK then suiEdit1.Text := Frm.ShellTreeView1.SelectedFolder.PathName;
end;
procedure TFrmMain.suiButton2Click(Sender: TObject);
begin
if savedlg.Execute then
if ExtractFileExt(savedlg.FileName) = '' then
suiEdit3.Text := savedlg.FileName + '.kzp'
else
suiEdit3.Text := savedlg.FileName;
end;
procedure TFrmMain.suiButton4Click(Sender: TObject);
begin
if savedlg.Execute then
if ExtractFileExt(savedlg.FileName) = '' then
suiEdit5.Text := savedlg.FileName + '.kzp'
else
suiEdit5.Text := savedlg.FileName;
end;
procedure TFrmMain.suiButton6Click(Sender: TObject);
begin
suiMemo1.Lines.Clear;
end;
procedure TFrmMain.suiButton3Click(Sender: TObject);
var
Frm: TFrmSelFile;
begin
Frm := TFrmSelFile.Create(self);
if Frm.ShowModal = mrOK then
if not Frm.ShellListView1.SelectedFolder.IsFolder then
suiMemo1.Lines.Add(Frm.ShellListView1.SelectedFolder.PathName);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -