Автор работы: Пользователь скрыл имя, 13 Марта 2013 в 17:33, курсовая работа
Цель курсовой работы – осуществить шифровку текста с помощью средств Delphi.
Для достижения названной цели в исследовании необходимо решить следующие задачи:
- осуществить постановку задач;
- создать блок-схемы алгоритмов;
- осуществить описание объектов, свойств, методов;
- разработать формы и представить текст программы;
- привести результаты тестирования программного продукта.
ВВЕДЕНИЕ 6
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 8
1.1 Постановка задачи 8
1.2 Математическая модель 8
1.3 Алгоритм решения 9
1.4 Блок-схема 10
2. ПРАКТИЧЕСКАЯ ЧАСТЬ 12
2.1. Описание объектов, свойств и методов 12
2.2 Формы и основные модули текста программы в среде Delphi 13
2.3 Результат тестирования программного продукта 17
2.4 Анализ полученных результатов 20
ЗАКЛЮЧЕНИЕ 21
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 22
ПРИЛОЖЕНИЕ А 23
Рисунок 2.8 – Диалоговое окно программы в процессе дешифровки при неправильно введенном ключе
Введя правильный ключ, при дешифровке мы получили такой же исходный текст, что показывает правильную работу программы (рисунок 2.9).
Рисунок 2.9 – Диалоговое окно программы после процесса дешифровки
Анализируя результаты, полученные при выполнении программы, приходим к выводу, что программа способна шифровать и дешифровать текст и то, что она работает корректно.
В процессе выполнения курсового проекта были усвоены некоторые возможности Delphi. Даже эта их небольшая часть показывает нам колоссальные возможности этой среды.
Целью курсовой работы было осуществление шифровки и дешифровки текста с помощью средств среды Delphi.
При выполнении курсовой работы:
Полученная нами программа способна шифровать, дешифровать текст, выполнять его открытие из файла и сохранение в файл.
Знания, полученные в результате работы над курсовым проектом, позволят в дальнейшем использовать Delphi для решения технических задач.
К данной курсовой работе предоставлено также приложение с полным кодом программы и электронный носитель с программой.
Листинг программы в Delphi
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]+
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:=
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:=
end;
SaveDialog1.Title:='Сохранить зашифрованный текст';
SaveDialog1.FileName:='
with SaveDialog1, Memo2 do
if Execute then
begin
Lines.SaveToFile(FileName);
SaveDialog1.FileName:=
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
MessageDlg('Программа Шифратор предназначена для шифровки-дешифровки текста.'+#13+'Для выполнения шифровки необходимо ввести текст в поле "Исходный текст", ввести ключ, который необходимо запомнить (иначе дешифровка текста не будет выполнена), и нажать "Зашифровать".'+#13+'Для обратной операции необходимо поменять направление перевода клавишей "<-->" и провести соответствующие операции'+#13+'Также программа выполняет открытие из файла и сохранение текста в файл.'+#13+'Программа разработана студентом 1-го курса в 2012 году',mtInformation,[mbOK],0 ) ;
end;
end.
Информация о работе Формы и основные модули текста программы в среде Delphi