📄 umain.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 + -