Парижский Сергей Михайлович
Шрифт:
Листинг 7.1. Модуль программы Блокнот-шифровальщик
unit Unit1
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls Forms, Dialogs, StdCtrls, Menus;
type TForm1 = class(TForm)
Memo1: TMemo;
menu1: TMainMenu;
File1: TMenuItem;
Edit1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
FontDialog1: TFontDialog;
N6: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
XoR1: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject)
procedure N4Click(Sender: TObject)
procedure N8Click(Sender: TObject)
procedure N5Click(Sender: TObject)
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure XoR1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
xr_num: string;
implementation
{$R *.dfm}
procedure TForm1.N1Click(Sender: TObject);
begin
//начинаем обзор с текущей папки
OpenDialog1.InitialDir:= GetCurrentDir;
if not OpenDialog1.Execute then ShowMessage('File not selected!')
else //загружаем выбранный файл в Memo
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
procedure TForm1.N2Click(Sender: TObject);
begin
SaveDialog1.InitialDir:= GetCurrentDir;
if not SaveDialog1.Execute then ShowMessage('File not saved!')
else //сохраняем в файл
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Close; //выход из программы
end;
procedure TForm1.N8Click(Sender: TObject);
begin
Memo1.lines.Clear; //очистка Memo
end;
procedure TForm1.N5Click (Sender: TObject);
var
xr: string; //зашифрованный текст
i: integer; //счетчик цикла begin
for i:=1 to Length(Memo1.Text) do
begin //перебираем каждый символ в тексте
//выполняем указанное пользователем смещение
xr:= xr + Chr(Ord(Memo1.Text[i]) xor StrToInt(xr_num));
end;
//заменяем оригинальный текст на зашифрованный
Memo1.Text := xr;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
if N9.Checked then //если флажок установлен
begin
N9.Checked:= False; //сбрасываем флажок
//Отображаем горизонтальную полосу прокрутки
Memo1.ScrollBars:= ssBoth;