📄 desform.~pas
字号:
unit DESForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ActnList, Menus;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
MemoContext: TMemo;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
tempFile : TextFile; //用于关联打开的文件
Lines : integer; //记录文件的行数
implementation
uses DES;
const key = 'abcdefghijklmnopqrestuvwxyz';//密钥
{$R *.dfm}
//打开文件
procedure TForm1.N2Click(Sender: TObject);
var
ch : char;
begin
//Lines := 0;
if OpenDialog1.Execute then
MemoContext.Lines.LoadFromFile(OpenDialog1.FileName)
else
exit;
AssignFile(tempFile,OpenDialog1.FileName);
Reset(tempFile);
//统计正文拥有的行数
Lines :=0;
while not eof(tempFile) do
begin
while not eoln(tempFile) do
begin
read(tempFile,ch);
end;
Readln(tempFile);
Lines := Lines +1;
end;
CloseFile(tempFile);
end;
//保存文件
procedure TForm1.N3Click(Sender: TObject);
begin
if SaveDialog1.Execute then
MemoContext.Lines.SaveToFile(SaveDialog1.FileName)
else
Exit;
end;
//关闭文件
procedure TForm1.N5Click(Sender: TObject);
begin
close;
end;
//加密文件
procedure TForm1.N7Click(Sender: TObject);
var
LineStr :string;
i :integer;
F : textfile;
begin
AssignFile(tempFile,OpenDialog1.FileName);
reset(tempFile);
AssignFile(F,'e:\encry.txt');
Rewrite(F);
{利用TMemo控件进行文件加密
Lines := MemoContext.Lines.Count;
for i := 0 to MemoContext.Lines.Count-1 do
begin
LineStr := EncryStrHex(Memocontext.Lines[i],key);
Memocontext.Lines.Add(LineStr);
end; }
for i := 0 to Lines-1 do
begin
ReadLn(tempFile,LineStr);
LineStr := EncryStrHex(LineStr,key);
Writeln(F,LineStr);
end;
ShowMessage('加密成功,密文请见encry.txt!');
CloseFile(F);
closeFile(tempFile);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MemoContext.Lines.Clear;
end;
//解密文件
procedure TForm1.N8Click(Sender: TObject);
var
i : integer;
LineStr :string;
F : TextFile;
begin
{利用TMemo控件进行文件解密操作
for i := Lines to MemoContext.Lines.Count-1 do
begin
LineStr := DecryStrHex(Memocontext.Lines[i],key);
Memocontext.Lines.Add(LineStr);
end;}
AssignFile(tempFile,OpenDialog1.FileName);
AssignFile(F,'e:\decry.txt');
Rewrite(F);
for i := 0 to Lines-1 do
begin
ReadLn(tempFile,LineStr);
LineStr := DecryStrHex(LineStr,key);
WriteLn(F,LineStr);
end;
ShowMessage('解密成功,解密后的密文在Decry.txt中!');
CloseFile(tempFile);
CloseFile(F);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -