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

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

2015-04-19

682.67 KB

2 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


32

СОДЕРЖАНИЕ

Введение ………………………………………………………....…............................................

4

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

5

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

5

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

5

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

5

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

5

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

6

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

6

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

6

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

7

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

7

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

8

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

10

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

12

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

13

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

13

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

13

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

13

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

13

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

16

Заключение…………………………………………………………...…………………………..

21

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

22

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

 


ВВЕДЕНИЕ

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

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

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

  •  Незашифрованная информация не может быть защищенной.
  •  Ключ шифрования должен быть защищен.
  •  Защитить данные от разрушительных атак.
  •  Остерегаться программ шифрования с нежелательными скрытыми возможностями.
  •  Остерегайтесь предателей.

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

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

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

 


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

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

       

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

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

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

 

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

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

1.4 Постоянные данные

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

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

й

А

в

ц

у

к

е

н

г

ш

щ

з

х

ф

ы

п

р

о

л

д

ж

э

я

ч

c

м

и

т

б

ю

3

1

2

4

5

6

7

8

9

0

+

!

@

*

%

^

?

&

#

=

~

-

<

>

/

[

]

{

|

:


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

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

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

- Microsoft Windows 7 Ultimet;

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

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

-Intel Pentium inside CPU 2x @ 2.3 Hz

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

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

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

Существует несколько видов операционных систем: 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 поскольку она наиболее оптимальна для данного приложения она позволяет без ошибок и дополнительного ПО использовать программу и максимально быстро помогает ей осуществлять все операции.

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

Программный продукт “Программное средство шифрования” написан в среде программирования  RAD Studio XE5.

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

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

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

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

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

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

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

Таблица 3.1 – Компоненты «Form

Компонент

Описание

Button1

Используется для подтверждения действия

Button2

Используется для подтверждения действия

CheckBox1

Служит для выбора действия

Edit1

Служит для ввода текста

Edit2

Служит для ввода текста

Lebel1

Служит для отоброжения информации

Label2

Служит для отоброжения информации

Label3

Служит для отоброжения информации

Label4

Служит для отоброжения информации

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

Таблица 3.2 – Компоненты «Form

Компонент

Описание

Button1

Служит для сохранения информации в текстовый файл

Button2

Служит для вывода открытия информации из тестового файла

Button3

Служит для очистки поля ввода

Button4

Служит для зашифровки текста

Label1

Служит для отображения информации

OpenDialog1

Диалоговое окно для открытия файла

RichEdit1

Служит для ввода информации

SaveDialog1

Диалоговое окно для сохранения файла

TabControl1

Служит для разметки разделов программы

Button5

Служит для зашифровки текста

Button6

Служит для зашифровки текста

Button7

Служит для расшифровки текста

Button8

Служит для расшифровки текста

Button9

Cлужит для вызова справки

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

Таблица 3.3 – Компоненты «Form

Компонент

Описание

Button1

Кнопка служащая для выполнения действия

CheckBox1

Служит для включения/выключения типа ввода

Edit1

Служит для поля ввода

Edit2

Служит как поля ввода

Label1

Служит для вывода информации

Label2

Служит для вывода информации

3.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 –Функции  «Form

Функция

Описание

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 –Функции  «Form

Функция

Описание

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

Функция полностью закрывает все приложение и его процессы

void __fastcall TForm2::FormCreate(TObject *Sender)

Функция при создании формы создает начальные значения формы 2

void __fastcall TForm2::Button1Click(TObject *Sender)

Функция служит для очистки RichEdit1 поля ввода

void __fastcall TForm2::Button2Click(TObject *Sender)

Функция служит для сохранения инфо в текстовый файл

void __fastcall TForm2::Button3Click(TObject *Sender)

Функция служит для открытия информации из файла  

void __fastcall TForm2::N5Click(TObject *Sender)

Служит для перехода на Form3

void __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

Служит для вызова справки windows

void __fastcall TForm2::BitBtn4Click(TObject *Sender)

Служит для изменения шрифта, цвета, размера

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

Таблица 3.3.3 –Функции  «Form

Функция

Описание

void __fastcall TForm3::FormCreate(TObject *Sender)

Служит для начального значения формы

void __fastcall TForm3::CheckBox1Click(TObject *Sender)

Служит для отображения символов ввода или на оборот

void __fastcall TForm3::Button1Click(TObject *Sender)

Функция служит для смены пароля

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

Вызов программы выполняется двойным кликом по исполняемому файлу с название Project1.exe. Загрузка программы на компьютер осуществляется через инсталлятор двойным кликом по файлу с название installprosolution.exe далее читаем инструкцию и устанавливаем программу на ПК.

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

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

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

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

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

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

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

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

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

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

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

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

Испытание

Что должно получиться

Что получилось

Прошел испытание

Запуск программы

Должно появиться окно для ввода пароля

Появилось окно для ввода пароля

Да

Ввод пароля,

Если пароль верен вход в программу если нет то сообщение что пароль не верен

Пароль верен вход в программу если нет то сообщение что пароль не верен

Да

Открытие текстового файла

Появиться диалоговое окно выбора файла и при открытии текст появляется в поле для ввода текста

Появилось диалоговое окно выбора файла и при открытии текст появляется в поле для ввода текста

Да

Шифрование текста методом подбора символов

При нажатии на кнопку вместо текста должны появиться символы и цифры

При нажатии на кнопку вместо текста появились символы и цифры

Да

Шифрование текста методом цезаря

При нажатии  на кнопку текст должен измениться по алфавиту до неузнаваемости

При нажатии  на кнопку текст изменился по алфавиту до неузнаваемости

Да

Дешифрирование методом подбора символов

При нажатии на кнопку зашифрованный текст должен приобрести начальный вид

При нажатии на кнопку зашифрованный текст приобрел начальный вид

Да

Дешифрирование методом цезаря

При нажатии на кнопку текст должен приобрести начальный вид

При нажатии на кнопку текст приобрел начальный вид

Да

Сохранение в файл

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

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

Да

Удаление текста с поля ввода

При нажатии на кнопку все содержимое поля ввода должно было очиститься

При нажатии на кнопку все поле ввода очистилось

Да

Изменение шрифта ввода текста

При нажатии на кнопку должно появится  диалоговое окно с выбором шрифта, размера, цвета вводимого в поле ввода

При нажатии на кнопку в диалоговом окно выбираем шрифт размер цвет тип ввода в поля

Да

Выравнивание текст с лева

При нажатии на кнопку текст должен выровняться по левому краю

При нажатии на кнопку текст выровнялся по левому краю

Да

Выравнивание текст с права

При нажатии на кнопку текст должен выровняться по правому краю

При нажатии на кнопку текст выровнялся по правому краю

Да

Выравнивание текст по центру

При нажатии на кнопку текст должен выровняться по центру

При нажатии на кнопку текст выровнялся по центру

Да

Изменения пароля

При нажатии на кнопку изменить пароль появится форма в которой необходимо ввести нынешний пароль и если он будет верен то можно ввести новый пароль если же не верен но появиться сообщение об ошибке и пароль будет изменен

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

Да

Вызов справки Windows

При нажатии на кнопку должно откроется окно Windows со справкой о программе

При нажатии на кнопку открылось окно Windows со справкой о программе

Да

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

ЗАКЛЮЧЕНИЕ

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

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

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

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


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

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

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

3


ПРИЛОЖЕНИЕ А

(обязательное)

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

bool flag=false;

bool lag=false;

String g;

String h;

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::CheckBox1Click(TObject *Sender)

{

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

{

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

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

}

else

{

Form1->Edit1->PasswordChar=NULL;

Form1->Edit2->PasswordChar=NULL;

}

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

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

{

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

return;

}

else

{

flag=true ;

}

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

{

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

return;

}

else

{

lag=true;

}

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

{

TStringList*list=new TStringList;

list->Add(Form1->Edit2->Text);

list->SaveToFile("pass.data");

Form1->Visible=false;

Form2->Show();

}

else

{

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

return;

}

}

void __fastcall TForm1::FormCreate(TObject *Sender)

{

if(FileExists("pass.data"))

{

Form1->Button1->Visible=false;

Form1->CheckBox1->Top=135;

Form1->Button2->Visible=true;

Form1->Top=250;

Form1->Label3->Visible=false;

Form1->Label2->Visible=false;

Form1->Edit2->Visible=false;

Form1->Label4->Visible=true;

TStringList*list=new TStringList;

list->LoadFromFile("pass.data");

g=list[0][0];

Form1->Height=170;

Form1->Label1->Top=57;

Form1->Edit1->Top=56;

Form1->CheckBox1->Top=96;

}

else

{

Form1->Top=200;

Form1->Left=525;

Form1->Height=251;

Form1->Width=303;

}

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

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

ShowMessage("Вы не ввели пароль");

return;

}

h=Form1->Edit1->Text;

if(h==g)

{

Form1->Visible=false;

Form2->Show();

}

Else

{

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

}

}

#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"

TForm2 *Form2;

AnsiString ser;

AnsiString rer;

int i,j,x,l,v,r;

AnsiString  s,sx;

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

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

{

Application->Terminate();

}

void __fastcall TForm2::FormResize(TObject *Sender)

{

Form2->Memo1->Width=Form2->Width;

Form2->Memo1->Height=Form2->Height;

}

void __fastcall TForm2::BitBtn1Click(TObject *Sender)

{

Form3->ShowModal();

}

void __fastcall TForm2::TabControl1Change(TObject *Sender)

{

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

{

  Form2->BitBtn1->Visible=true;

  Form2->BitBtn2->Visible=true;

  Form2->BitBtn4->Visible=true;

  Form2->Button2->Visible=true;

  Form2->Button3->Visible=true;

  Form2->Button4->Visible=true;

  Form2->Edit1->Visible=false;

  Form2->Label1->Visible=false;

}

else

{

  Form2->BitBtn1->Visible=false;

  Form2->BitBtn2->Visible=false;

  Form2->BitBtn6->Visible=false;

  Form2->BitBtn4->Visible=false;

  Form2->Button2->Visible=false;

  Form2->Button3->Visible=false;

  Form2->Button4->Visible=false;

}

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

{

   Form2->BitBtn7->Visible=true;

   Form2->BitBtn8->Visible=true;

   Form2->Edit1->Visible=false;

   Form2->Label1->Visible=false;

}

else

{

   Form2->BitBtn7->Visible=false;

   Form2->BitBtn8->Visible=false;

}

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

{

Form2->BitBtn6->Visible=true;

Form2->Button5->Visible=true;

Form2->Edit1->Visible=true;

Form2->Label1->Visible=true;

}

else

{

 Form2->BitBtn6->Visible=false;

 Form2->Button5->Visible=false;

}

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

{

  Form2->Button1->Visible=true;

  Form2->Button6->Visible=true;

  Form2->Edit1->Visible=true;

Form2->Edit1->Visible=true;

Form2->Label1->Visible=true;

}

else

{

Form2->Button1->Visible=false;

Form2->Button6->Visible=false;

}

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

{

Form2->Button7->Visible=true;

Form2->Label1->Visible=false;

Form2->Edit1->Visible=false;

}

else

{

Form2->Button7->Visible=false;

}

}

void __fastcall TForm2::BitBtn2Click(TObject *Sender)

{

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

}

void __fastcall TForm2::BitBtn4Click(TObject *Sender)

{

if(Form2->FontDialog1->Execute())

{

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

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

Form2->Memo1->Font=Form2->FontDialog1->Font;

}

}

void __fastcall TForm2::BitBtn7Click(TObject *Sender)

{

if(Form2->SaveDialog1->Execute())

{

TStringList*list=new TStringList;

list->Add(Form2->Memo1->Lines->Text);

list->SaveToFile(Form2->SaveDialog1->FileName+".txt");

}

}

void __fastcall TForm2::BitBtn8Click(TObject *Sender)

{

if(Form2->OpenDialog1->Execute())

{

TStringList*list=new TStringList;

list->LoadFromFile(Form2->OpenDialog1->FileName);

Form2->Memo1->Lines->Text=list->Text;

}

}

void __fastcall TForm2::BitBtn6Click(TObject *Sender)

{

rer="";

ser="";

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

{

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

}

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

{

if(ser[i]=='а')

rer+='1';

if(ser[i]=='в')

rer+='2';

if(ser[i]=='й')

rer+='3';

if(ser[i]=='ц')

rer+='4';

if(ser[i]=='у')

rer+='5';

if(ser[i]=='к')

rer+='6';

if(ser[i]=='е')

rer+='7';

if(ser[i]=='н')

rer+='8';

if(ser[i]=='г');

rer+='9';

if(ser[i]=='ш')

rer+='0';

if(ser[i]=='щ');

rer+='+';

if(ser[i]=='з')

rer+='!';

if(ser[i]=='х')

rer+='@';

if(ser[i]=='ъ')

rer+='$';

if(ser[i]=='ф')

rer+='*';

if(ser[i]=='ы')

rer+='%';

if(ser[i]=='п')

rer+='^';

if(ser[i]=='р')

rer+='?';

if(ser[i]=='о')

rer+='&';

if(ser[i]=='л')

rer+='#';

if(ser[i]=='д')

rer+='=';

if(ser[i]=='ж')

rer+='~';

if(ser[i]=='э')

rer+='-';

if(ser[i]=='я')

rer+='<';

if(ser[i]=='ч')

rer+='>';

if(ser[i]=='с')

rer+='/';

if(ser[i]=='м')

rer+='[';

if(ser[i]=='и')

rer+=']';

if(ser[i]=='т')

rer+='{';

if(ser[i]=='ь')

rer+='}';

if(ser[i]=='б')

rer+='|';

if(ser[i]=='ю')

rer+=':';

if(ser[i]=='.')

rer+='.';

if(ser[i]==',')

rer+=',';

if(ser[i]==' ')

rer+=' ';

if(ser[i]=='ё')

rer+='(';

}

Form2->Memo1->Text=rer;

rer="";

ser="";

}

void __fastcall TForm2::Button1Click(TObject *Sender)

{

rer="";

ser="";

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

{

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

}

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

{

if(ser[i]=='1')

rer+='а';

if(ser[i]=='2')

rer+='в';

if(ser[i]=='3')

rer+='й';

if(ser[i]=='4')

rer+='ц';

if(ser[i]=='5')

rer+='у';

if(ser[i]=='6')

rer+='к';

if(ser[i]=='7')

rer+='е';

if(ser[i]=='8')

rer+='н';

if(ser[i]=='9')

rer+='г';

if(ser[i]=='0')

rer+='ш';

if(ser[i]=='+')

rer+='щ';

if(ser[i]=='!')

rer+='з';

if(ser[i]=='@')

rer+='х';

if(ser[i]=='$')

rer+='ъ';

if(ser[i]=='*')

rer+='ф';

if(ser[i]=='%')

rer+='ы';

if(ser[i]=='^')

rer+='п';

if(ser[i]=='?')

rer+='р';

if(ser[i]=='&')

rer+='о';

if(ser[i]=='#')

rer+='л';

if(ser[i]=='=')

rer+='д';

if(ser[i]=='~')

rer+='ж';

if(ser[i]=='-')

rer+='э';

if(ser[i]=='<')

rer+='я';

if(ser[i]=='>')

rer+='ч';

if(ser[i]=='/')

rer+='с';

if(ser[i]=='[')

rer+='м';

if(ser[i]==']')

rer+='и';

if(ser[i]=='{')

rer+='т';

if(ser[i]=='}')

rer+='ь';

if(ser[i]=='|')

rer+='б';

if(ser[i]==':')

rer+='ю';

if(ser[i]=='.')

rer+='.';

if(ser[i]==',')

rer+=',';

if(ser[i]==' ')

rer+=' ';

if(ser[i]=='(')

rer+='ё';

}

Form2->Memo1->Text=rer;

rer="";

ser="";

}

void __fastcall TForm2::Button2Click(TObject *Sender)

{

Form2->Memo1->Alignment=taLeftJustify;

}

void __fastcall TForm2::Button3Click(TObject *Sender)

{

Form2->Memo1->Alignment=taCenter;

}

void __fastcall TForm2::Button4Click(TObject *Sender)

{

Form2->Memo1->Alignment=taRightJustify;

}

void __fastcall TForm2::Button5Click(TObject *Sender)

{

int T;

AnsiString buff = Memo1->Text;//Начальное слово

int key  = StrToInt(Edit1->Text);//Ключ(Сдвиг)

for (int i = 1;i<=buff.Length();i++)

{

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

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

buff[ i ] = (char)T;//Новое значение

}

Memo1->Text = buff;

}

void __fastcall TForm2::Button6Click(TObject *Sender)

{

int T;

AnsiString buff = Memo1->Text;//Начальное слово

int key  = StrToInt(Edit1->Text);//Ключ(Сдвиг)

for (int i = 1;i<=buff.Length();i++)

{

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

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

buff[ i ] = (char)T;//Новое значение

}

Memo1->Text = buff;

}

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

{

if(Key=='q') Key=0;

if(Key=='w') Key=0;

if(Key=='e') Key=0;

if(Key=='r') Key=0;

if(Key=='t') Key=0;

if(Key=='y') Key=0;

if(Key=='u') Key=0;

if(Key=='i') Key=0;

if(Key=='o') Key=0;

if(Key=='p') Key=0;

if(Key=='a') Key=0;

if(Key=='s') Key=0;

if(Key=='d') Key=0;

if(Key=='f') Key=0;

if(Key=='g') Key=0;

if(Key=='h') Key=0;

if(Key=='j') Key=0;

if(Key=='k') Key=0;

if(Key=='l') Key=0;

if(Key=='z') Key=0;

if(Key=='x') Key=0;

if(Key=='c') Key=0;

if(Key=='v') Key=0;

if(Key=='b') Key=0;

if(Key=='n') Key=0;

if(Key=='n') Key=0;

if(Key=='m') Key=0;

if(Key=='й') Key=0;

if(Key=='ц') Key=0;

if(Key=='у') Key=0;

if(Key=='к') Key=0;

if(Key=='е') Key=0;

if(Key=='н') Key=0;

if(Key=='г') Key=0;

if(Key=='ш') Key=0;

if(Key=='щ') Key=0;

if(Key=='з') Key=0;

if(Key=='х') Key=0;

if(Key=='ъ') Key=0;

if(Key=='ф') Key=0;

if(Key=='ы') Key=0;

if(Key=='в') Key=0;

if(Key=='а') Key=0;

if(Key=='п') Key=0;

if(Key=='р') Key=0;

if(Key=='о') Key=0;

if(Key=='л') Key=0;

if(Key=='д') Key=0;

if(Key=='ж') Key=0;

if(Key=='э') Key=0;

if(Key=='я') Key=0;

if(Key=='ч') Key=0;

if(Key=='с') Key=0;

if(Key=='м') Key=0;

if(Key=='и') Key=0;

if(Key=='т') Key=0;

if(Key=='ь') Key=0;

if(Key=='б') Key=0;

if(Key=='ю') Key=0;

if(Key=='№') Key=0;

if(Key=='!') Key=0;

if(Key=='~') Key=0;

if(Key=='@') Key=0;

if(Key=='#') Key=0;

if(Key=='%') Key=0;

if(Key=='^') Key=0;

if(Key=='&') Key=0;

if(Key=='*') Key=0;

if(Key=='(') Key=0;

if(Key==')') Key=0;

if(Key=='-') Key=0;

if(Key=='_') Key=0;

if(Key=='+') Key=0;

if(Key=='=') Key=0;

if(Key=='?') Key=0;

if(Key==':') Key=0;

if(Key==',') Key=0;

if(Key=='\'') Key=0;

if(Key=='{') Key=0;

if(Key=='}') Key=0;

if(Key=='[') Key=0;

if(Key=='\'') Key=0;

if(Key==']') Key=0;

if(Key=='|') Key=0;

if(Key=='/') Key=0;

if(Key==';') Key=0;

if(Key=='"') Key=0;

if(Key=='`') Key=0;

}

void __fastcall TForm2::Button7Click(TObject *Sender)

{

ShellExecute(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"

TForm3 *Form3;

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm3::CheckBox1Click(TObject *Sender)

{

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

{

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

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

}

else

{

Form3->Edit1->PasswordChar=NULL;

Form3->Edit2->PasswordChar=NULL;

}

}

void __fastcall TForm3::Button1Click(TObject *Sender)

{

TStringList*list=new TStringList;

list->LoadFromFile("pass.data");

String h=list[0][0];

if(Form3->Edit1->Text==h)

{

list->Clear();

list->Add(Form3->Edit2->Text);

list->SaveToFile("pass.data");

ShowMessage("Пароль сменен");

Form3->Close();

}

else

{

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

return;

}

}



 

Другие похожие работы, которые могут вас заинтересовать.
18609. Создание программного продукта «Настроим Windows» 1.19 MB
  Программа включает в себя распространенные опции для метаморфозы реестра арестанты в комфортный интерфейс. Программа сделана намеренно для русских версий Windows и не совместима с другими версиями Windows. Это и послужило основанием для разработки данной программы. Основания для разработки Основанием послужил заказ преподавателей Костанайского бизнес-колледжа на разработку программы Настроим Windows.
17707. Изучение объектно-ориентированного языка программирования Java и создание программного кода на языке Java 2.9 MB
  Современные приложения должны быть безопасны, высокопроизводительны, работать в распределенной среде, быть нейтральны к архитектуре. Все эти факторы привели к необходимости нового взгляда на сам процесс создания и распределения приложений на множестве машин различной архитектуры
1342. Создание удобной WEB - системы, которая предоставит пользователю полную информацию об современном и классическом искусстве 1.44 MB
  Задачей курсового проектирования является создание интернет-ориентированной информационной системы предприятия, организации, подразделения, отдельного человека, например «Кафедра Вычислительная техника», «Моя группа», «Электронный магазин» по продаже книг...
18190. Разработка программного продукта для предприятия «Строй-сервис» 9.06 MB
  Программы учета и управления для малого бизнеса. Разработка программного обеспечения для предприятия малого бизнеса Строй-сервис. Руководство пользователя. Программа рассчитана для пользователя не имеющего представление о работе с базами данных.
8198. Создание информационно-программного комплекса 737.21 KB
  В процессе функционирования предприятия заключаются двухсторонние единовременные договора с поставщиками. После отгрузки поставляемые товары поступают на склад в количестве, указанном в заказе
17912. Создание программного модуля для автоматизации процесса формирования основных показателей банка для анализа привлеченных средств 299.41 KB
  Изучить методологию формирования основных показателей банка для анализа привлеченных средств; поставить задачу автоматизации процесса формирования привлеченных средств банка; сделать обзор существующих программных средств формирования основных показателей банка для анализа привлеченных средств; выбрать средства средств программирования; привести структурную схему программы...
19035. Анализ работы туристского предприятия в области формирование туристского продукта культурно-познавательного туризма 342.39 KB
  Теоретические основы культурно-познавательного туризма. Анализ работы туристского предприятия в области формирование туристского продукта культурно-познавательного туризма. Общая организационно-экономическая характеристика туристского предприятия в области формирование турпродукта культурного туризма виды предлагаемых услуг организационная структура по каким направлениям ведётся работа то есть по каким направлениям ведётся работа то есть по каким странам в большинстве случаев продают...
21499. Процесс составления баз данных аэрологической информации, принцип работы программного обеспечения и перефирийного оборудования 7.28 MB
  Данные в БД логически структурированы (систематизированы) с целью обеспечения возможности их эффективного поиска и обработки в вычислительной системе. Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции.
19173. Создание программы для упрощения работы магазина по продаже автомобилей 1.62 MB
  Это наиболее общий компонент для работы с набором данных который может использоваться вместо компонентов DOTble DOQuery или DOStoredProc. Компонент DOQuery представляет собой запрос к базе данных. Они инкапсулированы в компоненты представляющие наборы данных...
19354. Создание приложения в интегрированной среде Delphi для работы с базой данных «Склад предприятия» 370.68 KB
  Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Delphi оказал огромное влияние на создание концепции языка C# для платформы .NET. Многие его элементы и концептуальные решения вошли в состав С#. Одной из причин называют переход Андерса Хейлсберга, одного из ведущих разработчиков Дельфи
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.