⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 实现md5文件电子签名
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,MD5,ShellAPI;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Button2: TButton;
    OpenDialog1: TOpenDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    procedure dragdropfile(var msg:tmessage);message wm_dropfiles;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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

procedure TForm1.Button2Click(Sender: TObject);
var md5stringname:string;
begin
   Edit2.Text:=MD5Print(MD5File(Edit1.Text));
end;

procedure TForm1.dragdropfile(var msg: tmessage);
var
  DropFile: TFileName;
  i, count, cLength, code: Integer;
begin
  count := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0);
  try
    Screen.Cursor := crHourGlass;
    if count > 0 then
    begin
      if Pos('将您需要检测的文件直接拖拽到本窗口中即可进行', Edit1.Text) <> 0 then
        Edit1.Clear;
    end;
    for I := 0 to count - 1 do
    begin
      cLength := MAX_PATH;
      SetLength(DropFile, cLength);
      cLength := DragQueryFile(Msg.WParam, I, PChar(DropFile), cLength);
      Edit1.Text:=DropFile;
      SetLength(DropFile, cLength);
      code := GetFileAttributes(PChar(DropFile));
      if (Code <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Code <> 0) then
      begin
        MessageDlg('"' + DropFile + '" 是目录, 无法 Hash。'#13#10 +
          '点击确定继续!', mtError, [mbOK], 0);
        Continue;
      end;
      Edit2.Text:=MD5Print(MD5File(DropFile));
    end;
  finally
    DragFinish(Msg.WParam);
    Screen.Cursor := crDefault;
  end;
    SetForegroundWindow(Handle);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle,true);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DragAcceptFiles(Handle,False);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -