📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,unit2, StdCtrls, ExtCtrls, Buttons, ComCtrls, Menus;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
OpenDialog2: TOpenDialog;
SaveDialog2: TSaveDialog;
Panel1: TPanel;
Label1: TLabel;
Timer1: TTimer;
Panel2: TPanel;
Panel3: TPanel;
Edit1: TEdit;
Edit2: TEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
Panel4: TPanel;
StatusBar1: TStatusBar;
Memo1: TMemo;
SpeedButton3: TSpeedButton;
Splitter1: TSplitter;
N2: TMenuItem;
N3: TMenuItem;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
xc:array of string;
size:integer=0;
wfilename:string;
type
filerecord=record
buffer:string[8];
end;
implementation
{$R *.dfm}
procedure TForm1.SpeedButton1Click(Sender: TObject);
var line:filerecord;
f:file of filerecord;
xm:string[8];
i:integer;
const
Key: string[8]='superman';
begin
i:=0;
Memo1.Clear;
with opendialog1 do
if execute then
form1.Edit1.Text:=filename;
wfilename:=opendialog1.filename;
assignfile(f,opendialog1.FileName);
reset(f);
size:=filesize(f);
setlength(xc,size);
while not eof(f)do begin
read(f,line);
xm:=line.buffer;
xc[i]:=EncryStr(xm, Key);
Memo1.Lines.Add(xm);
i:=i+1;
end;
closefile(f);
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
var i:integer;
writefile:file of filerecord;
line:filerecord;
begin
memo1.Clear;
if savedialog1.Execute then begin
wfilename:=savedialog1.FileName;
assignfile(writefile,savedialog1.FileName);
rewrite(writefile);
for i:=0 to size-1 do
begin
line.buffer:=xc[i];
write(writefile,line);
end;
closefile(writefile);
end;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
var i:integer;
writefile:file of filerecord;
line:filerecord;
begin
Memo1.Clear;
if savedialog2.Execute then begin
wfilename:=savedialog2.FileName;
assignfile(writefile,savedialog2.FileName);
rewrite(writefile);
for i:=0 to size-1 do
begin
Memo1.Lines.Add(xc[i]);
line.buffer:=xc[i];
write(writefile,line);
end;
closefile(writefile);
end;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
var line:filerecord;
f:file of filerecord;
xmc:string[8];
i:integer;
const
Key: string[8]='superman';
begin
i:=0;
Memo1.Clear;
with opendialog2 do
if execute then
form1.Edit2.Text:=filename;
wfilename:=opendialog2.filename;
assignfile(f,opendialog2.FileName);
reset(f);
size:=filesize(f);
setlength(xc,size);
while not eof(f)do begin
read(f,line);
xmc:=line.buffer;
Memo1.Lines.Add(xmc);
xc[i]:=DecryStr(xmc, Key);
i:=i+1;
end;
closefile(f);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Left:=Label1.Left-1;
if Label1.Left<=Panel1.Left then
Label1.Left:=Panel1.Left+Panel1.Width;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
memo1.Clear;
memo1.Lines.Add('功能:利用DES算法实现文本文件的加密和解密。文本文件加密后,形成以 .des 为后缀名的文件。解密时,以 .des 为后缀名的文件为原文件解密。解密后的明文存在新的文本文件中。');
memo1.Lines.Add('开发人员:陈全(组长)、黎民俊、何文杰、曹晓佳、刘志强、戴康宁');
end;
procedure TForm1.N3Click(Sender: TObject);
begin
memo1.Clear;
memo1.Lines.Add('使用说明');
memo1.Lines.Add('加密过程:先单击"打开(加密)"键选择要加密的文本文件,选定后文件的绝对路径就出现在按钮上面的编辑框中,并在下面的备注框中显示明文内容。点击加密按钮后,对明文加密。');
memo1.Lines.Add('解密过程:先按"打开(解密)"键选择要解密的文本文件,选定后文件的绝对路径就出现在按钮上面的编辑框中。点击加密按钮后,对明文加密。并在下面的备注框中显示明文内容。');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -