Обработка текстовой информации в среде Delphi

Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 27.08.2012
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru/

СОДЕРЖАНИЕ

  • ВВЕДЕНИЕ
  • 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
    • 1.1 Постановка задачи
    • 1.2 Математическая модель
    • 1.3 Алгоритм решения
    • 1.4 Блок-схема
  • 2. ПРАКТИЧЕСКАЯ ЧАСТЬ
    • 2.1 Описание объектов, свойств и методов
    • 2.2 Формы и основные модули текста программы в среде Delphi
    • 2.3 Результат тестирования программного продукта
    • 2.4 Анализ полученных результатов
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. С широким распространением письменности криптография стала формироваться как самостоятельная наука.

Криптография - это наука об обеспечении безопасности данных. Она занимается поисками решений четырех важных проблем безопасности - конфиденциальности, аутентификации, целостности и контроля участников взаимодействия.

История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.

Первые криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке использовал уже более менее систематический шифр, получивший его имя.

Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.

Актуальность этой науки не угасает с момента основания человеческого языка. Особенно в нашей эры компьютеров требуется обеспечение конфиденциальности информации, невозможности прочтения ее посторонними лицами.

Цель курсовой работы - осуществить шифровку текста с помощью средств Delphi.

Для достижения названной цели в исследовании необходимо решить следующие задачи:

- осуществить постановку задач;

- создать блок-схемы алгоритмов;

- осуществить описание объектов, свойств, методов;

- разработать формы и представить текст программы;

- привести результаты тестирования программного продукта.

Для выполнения этих задач будем использовать среду объектно-ориентированного программирования Delphi.

Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.

Курсовая работа состоит из теоретической и практической части. Теоретическая часть состоит из: постановки задачи; математической модели; алгоритма решения задачи и блок. Практическая часть состоит из: описания объектов, свойств и методов; формы и основных модулей текста программы в среде Delphi; результата тестирования программного продукта; графического представления результатов; анализа полученных результатов.

алгоритмический язык визуальный программирование

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Постановка задачи

В данной курсовой работе требуется создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое предназначена для шифрования текста следующим образом:

для шифрования текста используется метод, основанный на сложении текста и пароля: "мой текст" + "пароль" = ('м'+'п')('о'+'а')... То есть каждый символ получают путем сложения соответствующих символов текста и пароля. Под "сложением символов" подразумевается сложение номеров этих символов. Обычно пароль длиннее текста, поэтому его размножают: "парольпар". Чтобы расшифровать текст, нужно проделать обратную операцию, то есть из текста вычесть пароль.

1.2 Математическая модель

В качестве информации, подлежащей шифрованию и дешифрованию, будут рассматриваться тексты, построенные на некотором алфавите. Под этими терминами понимается следующее.

Алфавит - конечное множество используемых для кодирования информации знаков.

Текст - упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:

- алфавит Z33 - 32 буквы русского алфавита и пробел;

- алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;

- бинарный алфавит - Z2 = {0,1};

- восьмеричный алфавит или шестнадцатеричный алфавит.

Шифрование - преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.

Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.

Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

На рисунке 1.1 показана блок-схема процедуры шифрования файлов.

Рисунок 1.1 -- Процедура шифрования файлов

1.3 Алгоритм решения

Для шифровки текста используем цикл, в котором будут наращиваться два аргумента и происходить процесс вставки символов в исходный текст. Первый будет индексом символов исходного текста, а второй - индекс символа в ключе шифровки. То есть первой букве в тексте будет соответствовать первая буква в слове-ключе. Так как слово-пароль обычно меньше исходного текста, при достижении циклом конца слова он возвращается на его начало и продолжает процесс шифровки.

Для дешифровки текста проверим ключ путем извлечения строки, отвечающей за пароль, из текста и сравнения ее с размноженным до длины извлеченной строки предполагаемого пароля. При правильности условия программа вычтет эту строку из зашифрованного текста и тем самым расшифрует текст.

1.4 Блок-схема

На рисунке 1.2 представлена блок-схема процесса шифровки, где t - это текст, который будет результатом шифровки, str - исходный текст, w - слово-пароль, а i и k - это индексы для строк str и w соответственно.

Рисунок 1.2 -- Блок-схема алгоритма шифрования текста

На рисунке 1.3 представлена блок-схема процесса дешифровки, в процессе которого сначала проверяется введенный ключ, а затем идет сам процесс дешифровки, где t - это текст, который будет результатом дешифровки, str - зашифрованный текст, w - предполагаемое слово-пароль, w0 - строка размноженного пароля, извлеченная из зашифрованного текста, w1 - строка размноженного предполагаемого пароля, а i и k используются как индексы.

Рисунок 1.3 -- Блок-схема алгоритма дешифровки текста

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Описание объектов, свойств и методов

В ходе составления программы были использованы следующие объекты с их свойствами:

Label - текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption.

Edit - поле ввода. Используется для ввода любых данных (текста, числа и т.д.), представленных одной строкой. Текст хранится свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение 0 означает, что ограничение не установлено.

Memo - многострочный Edit. Используется для ввода больших объёмов текста. Свойство ReadOnly делает этот объект нередактируемым. Свойство ScrollBars позволяет указать полосы прокрутки, которые будут отображаться у поля при недостатке места для всего текста:

*ssNone - без полос прокрутки;

*ssHorizontal - горизонтальная полоса прокрутки;

*ssVertical - вертикальная;

*ssBoth - обе: и горизонтальная, и вертикальная.

Button - командная кнопка. Caption - текст на кнопке.

Компоненты OpenDialog -- диалог «Открыть файл» и SaveDialog -- диалог «Сохранить файл как...». Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, -- FileName. Типы искомых файлов, появляющиеся в диалоге в выпадающем списке "Тип файла", задаются свойством Filter.

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 для решения технических задач.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

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;

Размещено на Allbest.ru


Подобные документы

  • Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое, как планируется, будет обеспечивать решение специализированных задач по формированию, обработке на ЭВМ и выводу информации.

    курсовая работа [967,6 K], добавлен 20.05.2008

  • Методы грамматического разбора. Разработка структуры учебного транслятора на базовом языке программирования Object Pascal в среде объектно-ориентированного визуального программирования Borland DELPHI 6.0 с использованием операционной системы Windows XP.

    курсовая работа [493,8 K], добавлен 12.05.2013

  • Особенности и тонкости программирования в среде Delphi. Специфика перехода от алгоритмического решения к непосредственной программной реализации на языке Object Pascal с использованием всех необходимых средств данного языка. Анализ полученных результатов.

    реферат [246,2 K], добавлен 17.11.2012

  • Анализ исходных данных. Определение структуры модуля для работы файлом. Разработка объектно-ориентированного приложения, использующего массив объектов, в среде Delphi. Модульная структура программного комплекса. Процедура сортировки методом вставки.

    курсовая работа [2,2 M], добавлен 20.09.2014

  • Организация работы в среде визуального программирования Delphi. Настройка, конфигурация и главное окно формы. Модификация формы, свойств и событий. Пиктографические кнопки, палитра компонентов, окно инспектора объектов. Процесс построения приложения.

    реферат [40,3 K], добавлен 23.01.2011

  • Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

    отчет по практике [2,1 M], добавлен 02.05.2014

  • Проектирование программного модуля в среде программирования Borland Delphi 7.0. Схемы алгоритмов решения задач по темам "Символьные переменные и строки", "Массивы", "Работа с файлами", "Создание анимации". Реализация программного модуля, код программы.

    отчет по практике [961,6 K], добавлен 21.04.2012

  • Интегрированная среда разработки Delphi и элементы, входящие в ее состав. Математическая модель, алгоритм решения и его свойства. Описание операторов, процедур, функций и методов. Создание приложений по аналитической геометрии и теоретической механике.

    курсовая работа [1,8 M], добавлен 26.05.2010

  • Основные понятия и структура обработчика на языке Pascal. Элективные курсы по информатике в системе профильного обучения. Элективный курс "Программирование в среде Delphi". Методические материалы по изучению программирования на языке Object Pascal.

    методичка [55,4 K], добавлен 08.12.2010

  • Структура программы в среде Delphi в процессе проектирования приложения, ее модульный принцип. Объявление списка используемых модулей и нескольких операторов. Размещение на форме компонентов и изменение их свойств. Создание кода - обработчика события.

    лабораторная работа [19,1 K], добавлен 15.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.