СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 1. Архангельский, А.Я. 100 компонентов общего назначения библиотеки Delphi / А

1. Архангельский, А.Я. 100 компонентов общего назначения библиотеки Delphi / А. Я. Архангельский. — Москва : Бином, 2002. – 272 с.

2. Бобровский, С.И. Delphi 7. Учебный курс/ С. И. Бобровский – СПб.: Питер, 2004. – 736 с.

3. Культин, Н.Б. Основы программирования в Delphi 7/ Н. Б. Культин – СПб.: БХВ.- СПб, 2003. – 608 с.

4. Фаронов, В.В.Delphi. Программирование на языке высокого уровня: Учебник для вузов/ В. В. Фаронов – СПб.: Питер, 2006. – 640 с.

ПРИЛОЖЕНИЕ А

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus;

type

TForm1 = class(TForm)

Memo1: TMemo;

Memo2: TMemo;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

str: WideString; w,w0: string; op:boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var w,w0,w1: string; i,k: integer;

begin

str:=Memo1.Text; memo2.Text:=''; w0:=''; w:=Edit1.Text;

if (w='') or (str='') then begin MessageDlg('Присутствуют пустые поля',mtInformation, [mbOK], 0);

exit; end;

if Button1.Caption='Зашифровать' then begin k:=1;

for i:=1 to Length(str) do begin

Memo2.Text:=Memo2.Text+str[i]+w[k];

k:=k+1;

if k>length(w) then k:=1;

end;

end

else begin

if op then for i:=1 to Length(str) do

if (str[i]=#$A) then Delete(str,i,1);

for i:=1 to Length(str) do

if not (odd(i)) then w0:=w0+str[i];

k:=1;

for i:=1 to length(w0) do begin

w1:=w1+w[k];

k:=k+1;

if k>length(w) then k:=1; end;

if w1=w0 then begin

for i:=1 to length(str) do begin

if (str[i]=#$D) and (op) then Memo2.Text:=Memo2.Text+#10;

if odd(i) then Memo2.Text:=Memo2.Text+str[i]; end; end

else MessageDlg('Неправильный ключ', mtWarning, [mbcancel],0); exit; end;

op:=false;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

if Label1.Caption='Исходный текст' then begin

Label1.Caption:='Зашифрованный текст';

Label2.Caption:='Исходный тескт';

Button1.Caption:='Дешифровать';

end

else

begin

Label1.Caption:='Исходный текст';

Label2.Caption:='Зашифрованный текст';

Button1.Caption:='Зашифровать';

end; end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

case key of

#13: Button1.Click; end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Memo1.Clear;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Memo2.Clear;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

op:=true;

OpenDialog1.Title:='Открыть файл';

with OpenDialog1, Memo1 do

if Execute then

begin

Lines.LoadFromFile(FileName);

OpenDialog1.FileName:=FileName;

end;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

SaveDialog1.Title:='Сохранить исходный текст';

SaveDialog1.FileName:='Исходный текст';

with SaveDialog1, Memo1 do

if Execute then

begin

Lines.SaveToFile(FileName);

SaveDialog1.FileName:=Filename;

end;

SaveDialog1.Title:='Сохранить зашифрованный текст';

SaveDialog1.FileName:='Зашифрованный текст';

with SaveDialog1, Memo2 do

if Execute then

begin

Lines.SaveToFile(FileName);

SaveDialog1.FileName:=Filename;; end;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

MessageDlg('Программа Шифратор предназначена для шифровки-дешифровки текста.'+#13+'Для выполнения шифровки необходимо ввести текст в поле "Исходный текст", ввести ключ, который необходимо запомнить (иначе дешифровка текста не будет выполнена), и нажать "Зашифровать".'+#13+'Для обратной операции необходимо поменять направление перевода клавишей "<-->" и провести соответствующие операции'+#13+'Также программа выполняет открытие из файла и сохранение текста в файл.'+#13+'Программа разработана студентом 1-го курса БарГУ Гуриновичем Алексеем в 2012 году',mtInformation,[mbOK],0 ) ;

end;

end.

Наши рекомендации