📄 enc_main.pas
字号:
unit Enc_Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ShellAPI, Spin;
type
TForm1 = class(TForm)
Panel3: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
Edit1: TEdit;
Panel1: TPanel;
OpenDialog1: TOpenDialog;
GroupBox2: TGroupBox;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
GroupBox3: TGroupBox;
CheckBox2: TCheckBox;
CheckBox1: TCheckBox;
GroupBox4: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel4Click(Sender: TObject);
procedure Panel5Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure DropFiles(var Msg: TMessage); Message WM_DROPFILES;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R WindowsXP.res}
uses Enc_Preview, Enc_Functions;
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
(Sender as TPanel).BevelInner := bvLowered;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
Panel1.BevelInner := bvRaised;
if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Panel4.Enabled := (Trim(Edit1.Text) <> '');
Panel6.Enabled := (Trim(Edit1.Text) <> '');
if Panel4.Enabled then Panel4.Font.Color := clBlack
else Panel4.Font.Color := clGray;
if Panel6.Enabled then Panel6.Font.Color := clBlack
else Panel6.Font.Color := clGray;
end;
procedure TForm1.Panel2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $F012, 0);
end;
procedure TForm1.Panel4Click(Sender: TObject);
begin
Panel4.BevelInner := bvRaised;
if not FileExists(Edit1.Text) then
begin
MessageBox(Handle,
PChar('找不到文件:'#13#10'“' + Edit1.Text + '”'),
'错误',
MB_ICONERROR);
Exit;
end;
Form2.FilePath := Edit1.Text;
Form2.ShowModal;
end;
procedure TForm1.Panel5Click(Sender: TObject);
begin
Panel5.BevelInner := bvRaised;
Form1.Close;
end;
procedure TForm1.Panel6Click(Sender: TObject);
begin
Panel6.BevelInner := bvRaised;
if not FileExists(Edit1.Text) then
begin
MessageBox(Handle,
PChar('找不到文件:'#13#10'“' + Edit1.Text + '”'),
'错误',
MB_ICONERROR);
Exit;
end;
if CheckBox1.Checked then
CopyFile(PChar(Edit1.Text),
PChar(ChangeFileExt(Edit1.Text,
'.bak')),
False);
if RadioButton1.Checked then
begin
PutOnALine(Edit1.Text);
RandomTuneCase(Edit1.Text, CheckBox2.Checked);
end;
if RadioButton2.Checked then
begin
PutOnALine(Edit1.Text);
end;
if RadioButton3.Checked then
begin
RandomTuneCase(Edit1.Text, CheckBox2.Checked);
end;
if MessageBox(Handle,
PChar('加密完成!'#13#10'现在查看效果吗?'),
'成功',
MB_ICONINFORMATION or MB_YESNO) = ID_YES then
Panel4Click(Self);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
FPath: String;
Index: Integer;
begin
FPath := '';
DragAcceptFiles(Form1.Handle, True);
For Index := 1 to ParamCount do
FPath := FPath + ' ' + ParamStr(Index);
Edit1.Text := Trim(FPath);
end;
procedure TForm1.DropFiles(var Msg: TMessage);
var
Index: Word;
Buffer: Array [0..MAX_PATH] of Char;
begin
Inherited;
Edit1.Clear;
Index := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0);
For Index := 0 to Index - 1 do
DragQueryFile(Msg.WParam, Index, Buffer, MAX_PATH);
Edit1.Text := StrPas(Buffer);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -