- •Министерство образования республики беларусь учреждение образования «барановичский государственный университет»
- •Введение
- •1. Теоретическая часть
- •1.1 Постановка задачи
- •1.2 Математическая модель
- •1.3 Алгоритм решения
- •1.4 Блок-схема
- •2. Практическая часть
- •2.1. Описание объектов, свойств и методов
- •2.2 Формы и основные модули текста программы в среде Delphi
- •Листинг программы
2.2 Формы и основные модули текста программы в среде Delphi
При решении поставленной задачи будут использованы следующие объекты (рисунок 2.1)
Рисунок 2.1 – Объекты программы
Примечание – источник: собственная разработка
Button1..6 - командные кнопки;
Label1..3 – информационные метки;
Edit1 – поле ввода ключа шифра;
Memo1..2 – многострочные текстовые редакторы;
OpenDialog1 – диалог открытия файлов;
SaveDialog1 – диалог сохранения файлов.
Данные объекты размещены нами на форме пользовательского интерфейса, которая представлена на рисунке 2.2 и 2.3.
Рисунок 2.2 – Форма пользовательского интерфейса в режиме шифровки
Рисунок 2.3 – Форма пользовательского интерфейса в режиме дешифровки
Главной кнопке «Зашифровать»/«Дешифровать» назначим программный код:
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:='Исходный текcт';
Button1.Caption:='Дешифровать';
end
else
begin
Label1.Caption:='Исходный текст';
Label2.Caption:='Зашифрованный текст';
Button1.Caption:='Зашифровать';
end; end;
После создания приложения приступим к его тестированию.
2.3 Результат тестирования программного продукта
Для проверки правильности работы программы мы зашифруем какое-нибудь одно слово, чтобы с легкостью проверить правильность результата вручную.
Запишем в поле «Исходный текст» слово «Мобильник», а в поле «Слово-пароль» - «кот» и нажмем кнопку «Зашифровать» (рисунок 2.4)
Рисунок 2.4 – Шифрование слова при помощи программы.
Зашифровав слово ручным методом и с помощью программы, мы убедились в правильности ее работы.
Проверим работу программы, зашифровав большой текст, а затем проведя обратный процесс.
Шифровка представлена на рисунке 2.5.
Рисунок 2.5 – Диалоговое окно программы после процесса шифровки
Также выполним обратный процесс с зашифрованным текстом, поменяв режим работы, скопировав зашифрованный текст в соответствующую ему форму и введя ключ шифровки. Следует заметить, что программа проведет процесс дешифровки только при правильном ключе шифровки, иначе будет выведено сообщение «Неверный ключ» (рисунок 2.6).
Рисунок 2.6 – Диалоговое окно программы в процессе дешифровки при неправильно введенном ключе
Введя правильный ключ, при дешифровке мы получили такой же исходный текст, что показывает правильную работу программы (рисунок 2.7).
Рисунок 2.7 – Диалоговое окно программы после процесса дешифровки
2.4 Анализ полученных результатов
Анализируя результаты, полученные при выполнении программы, приходим к выводу, что программа способна шифровать и дешифровать текст и то, что она работает корректно.
ЗАКЛЮЧЕНИЕ
В процессе выполнения курсового проекта были усвоены некоторые возможности Delphi. Даже эта их небольшая часть показывает нам колоссальные возможности этой среды.
Целью курсовой работы было осуществление шифровки и дешифровки текста с помощью средств среды Delphi.
При выполнении курсовой работы:
была изучена теория и технология работы с средой программирования Borland Delphi7;
была изучена и проанализирована соответствующая литература;
была составлена программа для шифровки и дешифровки текста.
Полученная нами программа способна шифровать, дешифровать текст, выполнять его открытие из файла и сохранение в файл.
Знания, полученные в результате работы над курсовым проектом, позволят в дальнейшем использовать Delphi для решения технических задач.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Архангельский, А.Я. 100 компонентов общего назначения библиотеки Delphi / А. Я. Архангельский. — Москва : Бином, 2002. – 272 с.
Бобровский, С.И. Delphi 7. Учебный курс/ С. И. Бобровский – СПб.: Питер, 2004. – 736 с.
Культин, Н.Б. Основы программирования в Delphi 7/ Н. Б. Культин – СПб.: БХВ.- СПб, 2003. – 608 с.
Фаронов, В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов/ В. В. Фаронов – СПб.: Питер, 2006. – 640 с.
ПРИЛОЖЕНИЕ А