convcryptfrm.pas

来自「MiniHex 1.1 源程序说明 “MiniHex11SrcSourc」· PAS 代码 · 共 88 行

PAS
88
字号
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 + =
减小字号Ctrl + -
显示快捷键?