Текстовые файлы и различные методы шифрования

 

Содержание


Введение

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

.1 Описание предметной области

.2 Входная информация

.3 Выходная информация

.4 Постоянная информация

. Вычислительная система

.1 Основные характеристики выбранного ПК

.2 Характеристика программных средств

. Описание программы

.1 Описание компонентов

.2 Интерфейс программы

.3 Описание процедур и функций

.4 Вызов и загрузка программы

. Программа тестирования и методика испытаний

.1 Цель и объект проведения испытаний

.2 Порядок проведения испытаний

.3 Методы испытаний

.4 Протокол испытаний

. Руководство пользователя

Заключение

Список использованных источников

Приложение А(листинг программы)


интерфейс программа шифрование

Введение


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

Ограничения в криптографии

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

Незашифрованная информация не может быть защищенной.

Ключ шифрования должен быть защищен.

Защитить данные от разрушительных атак.

Остерегаться программ шифрования с нежелательными скрытыми возможностями.

Остерегайтесь предателей.

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

Перед отправлением данных по линии связи или перед помещением на хранение они подвергаются зашифрованию.

Для восстановления исходных данных из зашифрованных к ним применяется процедура расшифрования.

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



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


.1 Описание предметной области


Данную программу можно использовать в учреждениях обучающего типа, в которых изучается язык программирования С++ и среды разработки Rad Studio Builder XE5. Так же программа может быть использована любым пользователем которому необходимо защитить свою информацию от не желательного взлома. В данном курсовом проекте будет представлена программа, которая является шифратором и дешифратором текста. Программа содержит различные способы шифровки и дешифровки по ключу различной размерности до 20 символов может содержать ключ. Ключ может быть сгенерировать автоматически либо же введен самим пользователем. После зашифровки текста результат можно сохранить в файл так же текст который мы хотим зашифровать можно выгрузить из файла. Представлен гибкий интерфейс в котором все ошибки пользователя снижены до минимума. Так же все действия выполняются максимально просто. Даже сложные.


.2 Входная информация


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



1.3 Выходная информация


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


.4 Постоянные данные


К постоянным данным относиться символьная таблица шифровки букв в символы представлена как в таблице 1.1.


Таблица 1.1 - Символьная таблица.

йАвцукенгшщзхфыпролджэячcмитбю3124567890+!@*%^?&#=~-<>/[]{|:

2. Вычислительная система


.1 Основные характеристики выбранного ПК


Характеристики ПК на котором разрабатывалась данная программа:

Microsoft Windows 7 Ultimet;

оперативная память 2050 mb;

- видеоадаптер 1024 mb.

Intel Pentium inside CPU 2x @ 2.3 Hz


2.2 Характеристика программных средств


Операционная система

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

Существует несколько видов операционных систем: DOS, Windows, UNIX разных версий и другие. Наиболее распространённой является операционная система Windows.

Существует несколько версий Windows: Windows-95, Windows-98, Windows Me,

Windows-2000, Windows XP, Windows Vista, Windows 7, Windows 8.

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

Система программирования

Программный продукт Программное средство шифрования написан в среде программирования RAD Studio XE5. Studio XE5 - средства разработки приложений под Windows. Достоинство - это быстрый компилятор, большие возможности Builder XE5 для работы с базами данных и большой набор компонентов. Простота, скорость и эффективность объясняют её популярность. Есть и другие достоинства: простота изучения С++; программы, написанные Builder XE5, не требуется снабжать дополнительными библиотеками.

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

Для создания программы были использованы вкладки: Standard, Additional,Win 32, System, Dialogs.



3. Описание программы


.1 Описание компонентов


В данной программе имеется 3 формы с различными компонентами. Компоненты каждой формы выполняют свои действия.

Компоненты Form1 представлены в таблице 3.1.


Таблица 3.1 - Компоненты «Form1»

КомпонентОписаниеButton1Используется для подтверждения действияButton2Используется для подтверждения действияCheckBox1Служит для выбора действияEdit1Служит для ввода текста Edit2Служит для ввода текстаLebel1Служит для отоброжения информацииLabel2Служит для отоброжения информацииLabel3Служит для отоброжения информацииLabel4Служит для отоброжения информации

Компоненты Form2 представлены в таблице 3.2.


Таблица 3.2 - Компоненты «Form2»

КомпонентОписаниеButton1Служит для сохранения информации в текстовый файлButton2Служит для вывода открытия информации из тестового файлаButton3Служит для очистки поля ввода Button4Служит для зашифровки текстаLabel1Служит для отображения информацииOpenDialog1Диалоговое окно для открытия файлаRichEdit1Служит для ввода информацииSaveDialog1Диалоговое окно для сохранения файлаTabControl1Служит для разметки разделов программыButton5Служит для зашифровки текстаButton6Служит для зашифровки текстаButton7Служит для расшифровки текстаButton8Служит для расшифровки текстаButton9 Cлужит для вызова справки

Компоненты Form3 представлены в таблице 3.3.


Таблица 3.3 - Компоненты «Form3»

КомпонентОписаниеButton1Кнопка служащая для выполнения действияCheckBox1Служит для включения/выключения типа вводаEdit1Служит для поля вводаEdit2Служит как поля вводаLabel1Служит для вывода информацииLabel2Служит для вывода информации

.2 Интерфейс программы


Интерфейс программного продукта является понятным для пользователей различной степени и квалификации. При запуске программы на экране откроется форма ввода пароля в соответствии с рисунком 3.2.1.


Рисунок 3.2.1 - Форма входа в программу


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


Рисунок 3.2.2 - Главная форма программы


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


Рисунок 3.2.3 - Форма смены пароля


При нажатии на кнопку открыть файл пользователь увидит диалоговое окно открытия файла как на рисунке 3.2.4.

Рисунок 3.2.4 - Диалоговое окно открытия файла


При нажатии на кнопку открыть файл пользователь увидит диалоговое окно сохранения файла как на рисунке 3.2.5.


Рисунок 3.2.4 - Диалоговое окно сохранения файла

3.3 Описание процедур и функций


В таблице 3.3.1 приведены функции Form1 и их описания.


Таблица 3.3.1 -Функции «Form1»

ФункцияОписаниеvoid __fastcall TForm1::FormCreate(TObject *Sender)Функция создает начальные условия и проверки формыvoid __fastcall TForm1::CheckBox1Click(TObject *Sender)Функция создает видимость ввода символов или же на оборотvoid __fastcall TForm1::Button1Click(TObject *Sender)Функция создания пароля и перехода между формамиvoid __fastcall TForm1::Button2Click(TObject *Sender)Функция проверки пароля и переход между формами

В таблице 3.3.2 приведены функции Form2 и их описания.


Таблица 3.3.2 -Функции «Form2»

ФункцияОписаниеvoid __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)Функция полностью закрывает все приложение и его процессыvoid __fastcall TForm2::FormCreate(TObject *Sender)Функция при создании формы создает начальные значения формы 2void __fastcall TForm2::Button1Click(TObject *Sender)Функция служит для очистки RichEdit1 поля вводаvoid __fastcall TForm2::Button2Click(TObject *Sender)Функция служит для сохранения инфо в текстовый файлvoid __fastcall TForm2::Button3Click(TObject *Sender)Функция служит для открытия информации из файла void __fastcall TForm2::N5Click(TObject *Sender)Служит для перехода на Form3void __fastcall TForm2::FormResize(TObject *Sender)Служит для изменения размера компонентов идентично формеvoid __fastcall TForm2::Button1Click(TObject *Sender)Служит для зашифровки текста методом цезаряvoid __fastcall TForm2::BitBtn6Click(TObject *Sender)Служит для расшифровки текста методом цезаряvoid __fastcall TForm2::Button5Click(TObject *Sender)Служит для зашифровки текста методом замены символовvoid __fastcall TForm2::Button6Click(TObject *Sender)Служит для расшифровки текста методом замены символовvoid __fastcall TForm2::Button7Click(TObject *SenderСлужит для вызова справки windowsvoid __fastcall TForm2::BitBtn4Click(TObject *Sender)Служит для изменения шрифта, цвета, размера

В таблице 3.3.3 приведены функции Form3 и их описания.


Таблица 3.3.3 -Функции «Form3»

ФункцияОписаниеvoid __fastcall TForm3::FormCreate(TObject *Sender)Служит для начального значения формыvoid __fastcall TForm3::CheckBox1Click(TObject *Sender)Служит для отображения символов ввода или на оборотvoid __fastcall TForm3::Button1Click(TObject *Sender)Функция служит для смены пароля

.4 Вызов и загрузка программы


Вызов программы выполняется двойным кликом по исполняемому файлу с название Project1.exe. Загрузка программы на компьютер осуществляется через инсталлятор <http://www.google.by/search?espv=2&biw=1366&bih=666&q=%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%BB%D1%8F%D1%82%D0%BE%D1%80&spell=1&sa=X&ei=d7OVU_nFJ4in0wWE3YHIAw&ved=0CCAQvwUoAA> двойным кликом по файлу с название installprosolution.exe далее читаем инструкцию и устанавливаем программу на ПК.


4. Программа тестирования и методика испытаний


.1 Цель и объект проведения испытаний


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


.2 Порядок проведения испытаний


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


.3 Методы испытаний


Данный курсовой проект будет испытан двумя методами испытаний белого ящика и черного ящика.

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

Метод черного ящика представляется как закрытое предложение без доступа к коду программы и ни кто не может изменить программу, программа готовая представляется пользователям на пользование, и все ошибки которые совершил пользователь учитываются и если они критичны к работе программы, программа отдается на доработку.


.4 Протокол испытаний


Протокол испытаний представлен в виде таблицы 4.1.


Таблица 4.1 - протокол испытаний.

Испытание Что должно получиться Что получилось Прошел испытаниеЗапуск программы Должно появиться окно для ввода пароляПоявилось окно для ввода пароляДаВвод пароля, Если пароль верен вход в программу если нет то сообщение что пароль не веренПароль верен вход в программу если нет то сообщение что пароль не веренДаОткрытие текстового файла Появиться диалоговое окно выбора файла и при открытии текст появляется в поле для ввода текстаПоявилось диалоговое окно выбора файла и при открытии текст появляется в поле для ввода текстаДаШифрование текста методом подбора символовПри нажатии на кнопку вместо текста должны появиться символы и цифрыПри нажатии на кнопку вместо текста появились символы и цифрыДаШифрование текста методом цезаряПри нажатии на кнопку текст должен измениться по алфавиту до неузнаваемостиПри нажатии на кнопку текст изменился по алфавиту до неузнаваемостиДаДешифрирование методом подбора символовПри нажатии на кнопку зашифрованный текст должен приобрести начальный видПри нажатии на кнопку зашифрованный текст приобрел начальный видДаДешифрирование методом цезаря При нажатии на кнопку текст должен приобрести начальный видПри нажатии на кнопку текст приобрел начальный видДаСохранение в файлПри нажатии кнопки должно появится диалоговое окно в котором выбирается место сохранения и имя файла после нажатия на кнопку сохранить должен создаться файл с таким именем содержащий текст с поля программыПри нажатии кнопки появилось диалоговое окно в котором выбирается место сохранения и имя файла после нажатия на кнопку сохранить создался файл с таким именем содержащий текст с поля программыДаУдаление текста с поля ввода При нажатии на кнопку все содержимое поля ввода должно было очиститься При нажатии на кнопку все поле ввода очистилосьДаИзменение шрифта ввода текстаПри нажатии на кнопку должно появится диалоговое окно с выбором шрифта, размера, цвета вводимого в поле ввода При нажатии на кнопку в диалоговом окно выбираем шрифт размер цвет тип ввода в поляДаВыравнивание текст с леваПри нажатии на кнопку текст должен выровняться <http://www.google.by/search?es_sm=93&q=%D0%B2%D1%8B%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D1%82%D1%8C%D1%81%D1%8F&spell=1&sa=X&ei=yQuWU7H-O6-r0gWo3oC4BA&ved=0CCIQvwUoAA> по левому краю При нажатии на кнопку текст выровнялся по левому краюДаВыравнивание текст с права При нажатии на кнопку текст должен выровняться <http://www.google.by/search?es_sm=93&q=%D0%B2%D1%8B%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D1%82%D1%8C%D1%81%D1%8F&spell=1&sa=X&ei=yQuWU7H-O6-r0gWo3oC4BA&ved=0CCIQvwUoAA> по правому краюПри нажатии на кнопку текст выровнялся по правому краюДаВыравнивание текст по центруПри нажатии на кнопку текст должен выровняться <http://www.google.by/search?es_sm=93&q=%D0%B2%D1%8B%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D1%82%D1%8C%D1%81%D1%8F&spell=1&sa=X&ei=yQuWU7H-O6-r0gWo3oC4BA&ved=0CCIQvwUoAA> по центруПри нажатии на кнопку текст выровнялся по центруДаИзменения пароляПри нажатии на кнопку изменить пароль появится форма в которой необходимо ввести нынешний пароль и если он будет верен то можно ввести новый пароль если же не верен но появиться сообщение об ошибке и пароль будет измененПри нажатии на кнопку изменить пароль появилась форма в которой если введен нынешний пароль можно изменить его и пароль был изменен если пароль был не верен то появилось сообщение об ошибке ДаВызов справки WindowsПри нажатии на кнопку должно откроется окно Windows со справкой о программе При нажатии на кнопку открылось окно Windows со справкой о программеДа


5. Руководство пользователя


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


Рисунок 1 - Выбор пароля


После чего пользователь увидит окно работы с программой на главной страницей где он сможет ознакомится с программой ей возможностями и протестировать ее действия. Приведено на рисунке 2.


Рисунок 2 - Главная форма

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


Рисунок 2 - Вход в программу


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


Рисунок 3 - Диалоговое окно выбора шрифта

После того так же можно разместить текст слева по краю с право по краю и по центру, эти действия выполняются при нажатии на соответствующие кнопки, которые располагаются <http://www.google.by/search?espv=2&biw=1366&bih=666&q=%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%BB%D0%B0%D0%B3%D0%B0%D1%8E%D1%82%D1%81%D1%8F&spell=1&sa=X&ei=FKGWU-_pG7Kp7AbR94GABQ&ved=0CCAQvwUoAA> на главной вкладке пример на рисунке 4.


Рисунок 4 - Главная вкладка


Во вкладке файл располагаются <http://www.google.by/search?espv=2&biw=1366&bih=666&q=%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%BB%D0%B0%D0%B3%D0%B0%D1%8E%D1%82%D1%81%D1%8F&spell=1&sa=X&ei=FKGWU-_pG7Kp7AbR94GABQ&ved=0CCAQvwUoAA> две кнопки открыть файл и сохранить файл, работают только с текстовыми файлами, при нажатии на кнопку сохранить файл пользователю будет представлено диалоговое окно в котором он выберет куда с каким именем сохранить файл, файл будет содержать все точно тоже что и поле ввода текста как на рисунке 5.


Рисунок 5 - Диалоговое окно сохранения файла

При открытие файла пользователю предоставляется <http://www.google.by/search?espv=2&biw=1366&bih=666&q=%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F&spell=1&sa=X&ei=oaSWU-rGIfHn7AbY14GYCg&ved=0CCAQvwUoAA> выбор какой файл и откуда он будет открыт как на рисунке 6, после открытия файла вся информация которую содержал файл будет открыта поле ввода текста.


Рисунок 6 - Диалоговое окно открытия файла


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



Рисунок 7 - Вкладка шифрование


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


Рисунок 8 - Вкладка дешифрования текста

Далее идет вкладка помощь на которой находиться кнопка вызова справки windows.

Для смены пароля необходимо нажать сменить пароль на главной вкладке затем появиться окно как на рисунке 9, в котором необходимо ввести нынешний пароль и новый и если нынешний пароль совпадет то пароль измениться и при входе в программу необходимо будет вводить этот пароль.



Заключение


Данный программный продукт был разработан в среде программирования RAD Studio C++ Builder XE5, так как эта среда наиболее понятна и проста из известных мне языков программирования.

Эта программа предназначена для более удобной работы c операторами языка C++.

Цель и задача были выполнены.

На данной стадии программный продукт завершён, но он может быть доработан и изменён по желанию разработчика.



Список использованных источников


1 Блажевич, О.В. Программирование С++:курс лекций/О.В.Блажевич.-Минск:БГУ,2004.-78 с.

Джесс Либерти - С++ Энциклопедия пользователя



Приложение А


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


#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*Form1;flag=false;lag=false;g;h;

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------__fastcall TForm1::CheckBox1Click(TObject *Sender)

{(Form1->CheckBox1->Checked==false)

{

->Edit1->PasswordChar='*';->Edit2->PasswordChar='*';

}

{->Edit1->PasswordChar=NULL;->Edit2->PasswordChar=NULL;

}

}__fastcall TForm1::Button1Click(TObject *Sender)

{(Form1->Edit1->Text=="")

{("пороль не введен");;

}

{=true ;

}(Form1->Edit2->Text=="")

{("пороль 2 не введен");;

}

{=true;

}((Form1->Edit1->Text==Form1->Edit2->Text)&&(flag==true)&&(lag==true))

{*list=new TStringList;>Add(Form1->Edit2->Text);>SaveToFile("pass.data");->Visible=false;->Show();

}

{("Пороли не совпадают");;

}

}__fastcall TForm1::FormCreate(TObject *Sender)

{(FileExists("pass.data"))

{->Button1->Visible=false;->CheckBox1->Top=135;->Button2->Visible=true;->Top=250;->Label3->Visible=false;->Label2->Visible=false;->Edit2->Visible=false;->Label4->Visible=true;*list=new TStringList;>LoadFromFile("pass.data");=list[0][0];->Height=170;->Label1->Top=57;->Edit1->Top=56;->CheckBox1->Top=96;

}

{->Top=200;->Left=525;->Height=251;->Width=303;

}

}__fastcall TForm1::Button2Click(TObject *Sender)

{(Form1->Edit1->Text=="")("Вы не ввели пароль");;

}=Form1->Edit1->Text;(h==g)

{->Visible=false;->Show();

}

{("Пароль не верен");

}

}

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

#include "Unit1.h"

#include "Unit3.h"

#include <iostream.h>

#include <ctype.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <conio.h>

#include <sstream>

#include <fstream>

#pragma package(smart_init)

#pragma resource "*.dfm"*Form2;ser;rer;i,j,x,l,v,r;s,sx;

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}__fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)

{>Terminate();

}__fastcall TForm2::FormResize(TObject *Sender)

{->Memo1->Width=Form2->Width;->Memo1->Height=Form2->Height;

}__fastcall TForm2::BitBtn1Click(TObject *Sender)

{->ShowModal();

}__fastcall TForm2::TabControl1Change(TObject *Sender)

{(Form2->TabControl1->TabIndex==0)

{->BitBtn1->Visible=true;->BitBtn2->Visible=true;->BitBtn4->Visible=true;->Button2->Visible=true;->Button3->Visible=true;->Button4->Visible=true;->Edit1->Visible=false;->Label1->Visible=false;

}

{->BitBtn1->Visible=false;->BitBtn2->Visible=false;->BitBtn6->Visible=false;->BitBtn4->Visible=false;->Button2->Visible=false;->Button3->Visible=false;->Button4->Visible=false;

}(Form2->TabControl1->TabIndex==1)

{->BitBtn7->Visible=true; ->BitBtn8->Visible=true;->Edit1->Visible=false;->Label1->Visible=false;

}

{->BitBtn7->Visible=false;->BitBtn8->Visible=false;

}(Form2->TabControl1->TabIndex==2)

{->BitBtn6->Visible=true;->Button5->Visible=true;->Edit1->Visible=true;->Label1->Visible=true;

}

{->BitBtn6->Visible=false;->Button5->Visible=false;

}(Form2->TabControl1->TabIndex==3)

{->Button1->Visible=true;->Button6->Visible=true;->Edit1->Visible=true;->Edit1->Visible=true;->Label1->Visible=true;

}

{->Button1->Visible=false;->Button6->Visible=false;

}(Form2->TabControl1->TabIndex==4)

{->Button7->Visible=true;->Label1->Visible=false;->Edit1->Visible=false;

}

{->Button7->Visible=false;

}

}__fastcall TForm2::BitBtn2Click(TObject *Sender)

{->Memo1->Lines->Clear();

}__fastcall TForm2::BitBtn4Click(TObject *Sender)

{(Form2->FontDialog1->Execute())

{->Memo1->Font->Color=Form2->FontDialog1->Font->Color;->Memo1->Font->Size=Form2->FontDialog1->Font->Size;->Memo1->Font=Form2->FontDialog1->Font;

}

}__fastcall TForm2::BitBtn7Click(TObject *Sender)

{(Form2->SaveDialog1->Execute())

{*list=new TStringList;>Add(Form2->Memo1->Lines->Text);>SaveToFile(Form2->SaveDialog1->FileName+".txt");


}

}__fastcall TForm2::BitBtn8Click(TObject *Sender)

{(Form2->OpenDialog1->Execute())

{*list=new TStringList;>LoadFromFile(Form2->OpenDialog1->FileName);->Memo1->Lines->Text=list->Text;

}

}__fastcall TForm2::BitBtn6Click(TObject *Sender)

{="";="";(i=1;i<=Form2->Memo1->Text.Length();i++)

{+=Form2->Memo1->Text[i];

}(i=1;i<=ser.Length();i++)

{(ser[i]=='а')+='1';(ser[i]=='в')+='2';(ser[i]=='й')+='3';(ser[i]=='ц')+='4';(ser[i]=='у')+='5';(ser[i]=='к')+='6';(ser[i]=='е')+='7';(ser[i]=='н')+='8';(ser[i]=='г');+='9';(ser[i]=='ш')+='0';(ser[i]=='щ');+='+';(ser[i]=='з')+='!';(ser[i]=='х')+='@';(ser[i]=='ъ')+='$';(ser[i]=='ф')+='*';(ser[i]=='ы')+='%';(ser[i]=='п')+='^';(ser[i]=='р')+='?';(ser[i]=='о')+='&';(ser[i]=='л')+='#';(ser[i]=='д')+='=';(ser[i]=='ж')+='~';(ser[i]=='э')+='-';(ser[i]=='я')+='<';(ser[i]=='ч')+='>';(ser[i]=='с')+='/';(ser[i]=='м')+='[';(ser[i]=='и')+=']';(ser[i]=='т')+='{';(ser[i]=='ь')+='}';(ser[i]=='б')+='|';(ser[i]=='ю')+=':';(ser[i]=='.')+='.';(ser[i]==',')+=',';(ser[i]==' ')+=' ';(ser[i]=='ё')+='(';

}->Memo1->Text=rer;="";="";

}__fastcall TForm2::Button1Click(TObject *Sender)

{="";="";(i=1;i<=Form2->Memo1->Text.Length();i++)

{+=Form2->Memo1->Text[i];

}(i=1;i<=ser.Length();i++)

{(ser[i]=='1')+='а';(ser[i]=='2')+='в';(ser[i]=='3')+='й';(ser[i]=='4')+='ц';(ser[i]=='5')+='у';(ser[i]=='6')+='к';(ser[i]=='7')+='е';(ser[i]=='8')+='н';(ser[i]=='9')+='г';(ser[i]=='0')+='ш';(ser[i]=='+')+='щ';(ser[i]=='!')+='з';(ser[i]=='@')+='х';(ser[i]=='$')+='ъ';(ser[i]=='*')+='ф';(ser[i]=='%')+='ы';(ser[i]=='^')+='п';(ser[i]=='?')+='р';(ser[i]=='&')+='о';(ser[i]=='#')+='л';(ser[i]=='=')+='д';(ser[i]=='~')+='ж';(ser[i]=='-')+='э';(ser[i]=='<')+='я';(ser[i]=='>')+='ч';(ser[i]=='/')+='с';(ser[i]=='[')+='м';(ser[i]==']')+='и';(ser[i]=='{')+='т';(ser[i]=='}')+='ь';(ser[i]=='|')+='б';(ser[i]==':')+='ю';(ser[i]=='.')+='.';(ser[i]==',')+=',';(ser[i]==' ')+=' ';(ser[i]=='(')+='ё';

}->Memo1->Text=rer;="";="";

}__fastcall TForm2::Button2Click(TObject *Sender)

{->Memo1->Alignment=taLeftJustify;

}__fastcall TForm2::Button3Click(TObject *Sender)

{->Memo1->Alignment=taCenter;

}__fastcall TForm2::Button4Click(TObject *Sender)

{->Memo1->Alignment=taRightJustify;

}__fastcall TForm2::Button5Click(TObject *Sender)

{T;buff = Memo1->Text;//Начальное словоkey = StrToInt(Edit1->Text);//Ключ(Сдвиг)(int i = 1;i<=buff.Length();i++)

{= ((unsigned char)buff[i] + key);//Смещение на key

if (T >= 256) T=T-255;//Если ключ больше 256(Таблица символов ASCII)[ i ] = (char)T;//Новое значение

}->Text = buff;

}__fastcall TForm2::Button6Click(TObject *Sender)

{T;buff = Memo1->Text;//Начальное словоkey = StrToInt(Edit1->Text);//Ключ(Сдвиг)(int i = 1;i<=buff.Length();i++)

{= ((unsigned char)buff[i] - key);//Смещение на key

if (T >= 256) T=T-255;//Если ключ больше 256(Таблица символов ASCII)[ i ] = (char)T;//Новое значение

}->Text = buff;

}__fastcall TForm2::Edit1KeyPress(TObject *Sender, System::WideChar &Key)

{(Key=='q') Key=0;(Key=='w') Key=0;(Key=='e') Key=0;(Key=='r') Key=0;(Key=='t') Key=0;(Key=='y') Key=0;(Key=='u') Key=0;(Key=='i') Key=0;(Key=='o') Key=0;(Key=='p') Key=0;(Key=='a') Key=0;(Key=='s') Key=0;(Key=='d') Key=0;(Key=='f') Key=0;(Key=='g') Key=0;(Key=='h') Key=0;(Key=='j') Key=0;(Key=='k') Key=0;(Key=='l') Key=0;(Key=='z') Key=0;(Key=='x') Key=0;(Key=='c') Key=0;(Key=='v') Key=0;(Key=='b') Key=0;(Key=='n') Key=0;(Key=='n') Key=0;(Key=='m') Key=0;(Key=='й') Key=0;(Key=='ц') Key=0;(Key=='у') Key=0;(Key=='к') Key=0;(Key=='е') Key=0;(Key=='н') Key=0;(Key=='г') Key=0;(Key=='ш') Key=0;(Key=='щ') Key=0;(Key=='з') Key=0;(Key=='х') Key=0;(Key=='ъ') Key=0;(Key=='ф') Key=0;(Key=='ы') Key=0;(Key=='в') Key=0;(Key=='а') Key=0;(Key=='п') Key=0;(Key=='р') Key=0;(Key=='о') Key=0;(Key=='л') Key=0;(Key=='д') Key=0;(Key=='ж') Key=0;(Key=='э') Key=0;(Key=='я') Key=0;(Key=='ч') Key=0;(Key=='с') Key=0;(Key=='м') Key=0;(Key=='и') Key=0;(Key=='т') Key=0;(Key=='ь') Key=0;(Key=='б') Key=0;(Key=='ю') Key=0;(Key=='№') Key=0;(Key=='!') Key=0;(Key=='~') Key=0;(Key=='@') Key=0;(Key=='#') Key=0;(Key=='%') Key=0;(Key=='^') Key=0;(Key=='&') Key=0;(Key=='*') Key=0;(Key=='(') Key=0;(Key==')') Key=0;(Key=='-') Key=0;(Key=='_') Key=0;(Key=='+') Key=0;(Key=='=') Key=0;(Key=='?') Key=0;(Key==':') Key=0;(Key==',') Key=0;(Key=='\'') Key=0;(Key=='{') Key=0;(Key=='}') Key=0;(Key=='[') Key=0;(Key=='\'') Key=0;(Key==']') Key=0;(Key=='|') Key=0;(Key=='/') Key=0;(Key==';') Key=0;(Key=='"') Key=0;(Key=='`') Key=0;

}__fastcall TForm2::Button7Click(TObject *Sender)

{(Application->Handle,L"open",L"sprawka.chm",0,0,SW_SHOW);

}

#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

#include "Unit2.h"

#pragma package(smart_init)

#pragma resource "*.dfm"*Form3;

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}__fastcall TForm3::CheckBox1Click(TObject *Sender)

{(Form3->CheckBox1->Checked==false)

{->Edit1->PasswordChar='*';->Edit2->PasswordChar='*';

}

{->Edit1->PasswordChar=NULL;->Edit2->PasswordChar=NULL;

}

}__fastcall TForm3::Button1Click(TObject *Sender)

{*list=new TStringList;>LoadFromFile("pass.data");h=list[0][0];(Form3->Edit1->Text==h)

{>Clear();>Add(Form3->Edit2->Text);>SaveToFile("pass.data");("Пароль сменен");

Form3->Close();

}

{("Действующий пароль не верен");;

}

}


Содержание Введение . Постановка задачи .1 Описание предметной области .2 Входная информация .3 Выходная информация .4 Постоянная информац

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ