📄 convcryptfrm.pas
字号:
unit ConvCryptFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, HexChFrm;
type
TConvCryptData = record
CryptType: TCryptType;
OnlyBlock: Boolean;
Key: string;
Encrypt: Boolean;
end;
TConvCryptForm = class(TForm)
TabControl: TTabControl;
OkButton: TButton;
CancelButton: TButton;
KindListBox: TListBox;
OnlyBlockCheckBox: TCheckBox;
Label1: TLabel;
Label2: TLabel;
KeyEdit: TEdit;
procedure OkButtonClick(Sender: TObject);
procedure CancelButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure GetData(var Value: TConvCryptData);
end;
var
ConvCryptForm: TConvCryptForm;
function ShowConvCryptForm(var Value: TConvCryptData): Boolean;
implementation
{$R *.DFM}
function ShowConvCryptForm(var Value: TConvCryptData): Boolean;
var
Frm: TConvCryptForm;
begin
Frm := TConvCryptForm.Create(Application);
Result := (Frm.ShowModal = mrOk);
if Result then Frm.GetData(Value);
Frm.Free;
end;
procedure TConvCryptForm.GetData(var Value: TConvCryptData);
begin
Value.CryptType := TCryptType(KindListBox.ItemIndex);
Value.OnlyBlock := OnlyBlockCheckBox.Checked;
Value.Key := KeyEdit.Text;
Value.Encrypt := (TabControl.TabIndex = 0);
end;
procedure TConvCryptForm.FormCreate(Sender: TObject);
begin
KindListBox.Items.Add('GOST 256bit');
KindListBox.Items.Add('TwoFish');
KindListBox.Items.Add('BlowFish');
KindListBox.ItemIndex := 1;
KindListBox.ItemIndex := 0;
end;
procedure TConvCryptForm.OkButtonClick(Sender: TObject);
begin
if KindListBox.ItemIndex > 0 then
begin
MessageBox(Handle, '此加密算法暂不支持.', '提示', 48);
Exit;
end;
ModalResult := mrOk;
end;
procedure TConvCryptForm.CancelButtonClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -