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

📄 umain.pas

📁 alsdnas dasdlkjasd asldakjsdasd asoidasdasd
💻 PAS
字号:
unit uMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DECHash, DECFmt {Delphi Encryption Compendium (DEC) 5.x};

type
  TMain = class(TForm)
    lChecksum: TLabel;
    lChecksumValue: TLabel;
    eOriginalFileDir: TEdit;
    sbSelectDir: TSpeedButton;
    cbCheckChecksum: TCheckBox;
    bChangeChecksum: TButton;
    eChangeWord: TEdit;
    lChecksumNew: TLabel;
    lChecksumValueNew: TLabel;
    pFileOptions: TPanel;
    rbRenameFile: TRadioButton;
    rbOverrideFile: TRadioButton;
    eRenameValue: TEdit;
    procedure sbSelectDirClick(Sender: TObject);
    procedure rbRenameFileClick(Sender: TObject);
    procedure rbOverrideFileClick(Sender: TObject);
    procedure bChangeChecksumClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Main: TMain;

implementation

{$R *.dfm}

procedure TMain.sbSelectDirClick(Sender: TObject);
var OpenDialog:TOpenDialog;
begin
  OpenDialog := TOpenDialog.Create(nil);
  try
    if OpenDialog.Execute then
    begin
      eOriginalFileDir.Text := OpenDialog.FileName;
      eOriginalFileDir.Hint := OpenDialog.FileName;
      if cbCheckChecksum.Checked then
          lChecksumValue.Caption := THash_MD5.CalcFile(OpenDialog.FileName,TFormat_HEX)
        else lChecksumValue.Caption := 'deactivated';
    end;
  finally
    OpenDialog.Free;
  end;
end;

procedure TMain.rbRenameFileClick(Sender: TObject);
begin
  eRenameValue.Enabled := rbRenameFile.Checked;
end;

procedure TMain.rbOverrideFileClick(Sender: TObject);
begin
  eRenameValue.Enabled := rbRenameFile.Checked;
end;


procedure TMain.bChangeChecksumClick(Sender: TObject);
var FileStream:TFileStream;
    MemoryStream:TMemoryStream;
    lNewFileName:String;
    s:String;
begin
  if rbOverrideFile.Checked then
  begin
    FileStream := TFileStream.Create(eOriginalFileDir.Text,fmOpenReadWrite);
    try
      FileStream.Position := FileStream.Size;
      s := eChangeWord.Text;
      FileStream.Write(s,length(s));
    finally
      FileStream.Free;
    end;

    if cbCheckChecksum.Checked then
        lChecksumValueNew.Caption := THash_MD5.CalcFile(eOriginalFileDir.Text,TFormat_HEX)
      else lChecksumValueNew.Caption := 'deactivated';
  end
  else
  begin
    MemoryStream := TMemoryStream.Create;
    try
      MemoryStream.LoadFromFile(eOriginalFileDir.Text);
      lNewFileName := ChangeFileExt(eOriginalFileDir.Text,eRenameValue.Text + ExtractFileExt(eOriginalFileDir.Text));
      if FileExists(lNewFileName) then
      begin
        if MessageDlg('Do you want to override this file "'+ lNewFileName +'"?', mtConfirmation, [mbyes, mbno], 0) = mrYes then
            MemoryStream.SaveToFile(lNewFileName)
          else exit;
      end
      else MemoryStream.SaveToFile(lNewFileName);
    finally
      MemoryStream.Free;
    end;

    FileStream := TFileStream.Create(lNewFileName,fmOpenReadWrite);
    try
      FileStream.Position := FileStream.Size;
      s := eChangeWord.Text;
      FileStream.Write(s,length(s));

    finally
      FileStream.Free;
    end;

    if cbCheckChecksum.Checked then
        lChecksumValueNew.Caption := THash_MD5.CalcFile(lNewFileName,TFormat_HEX)
      else lChecksumValueNew.Caption := 'deactivated';
  end;
end;

end.

⌨️ 快捷键说明

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