й
|
А
|
в
|
ц
|
у
|
к
|
е
|
н
|
г
|
ш
|
щ
|
з
|
х
|
ф
|
ы
|
п
|
р
|
о
|
л
|
д
|
ж
|
э
|
я
|
ч
|
c
|
м
|
и
|
т
|
б
|
ю
|
3
|
1
|
2
|
4
|
5
|
6
|
7
|
8
|
9
|
0
|
+
|
!
|
@
|
*
|
%
|
^
|
?
|
&
|
#
|
=
|
~
|
-
|
<
|
>
|
/
|
[
|
]
|
{
|
|
|
:
|
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)
|
Функция
при создании формы создает начальные значения формы 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 -Функции «Form3»
Функция
|
Описание
|
void __fastcall
TForm3::FormCreate(TObject *Sender)
|
Служит
для начального значения формы
|
void __fastcall
TForm3::CheckBox1Click(TObject *Sender)
|
Служит
для отображения символов ввода или на оборот
|
void __fastcall
TForm3::Button1Click(TObject *Sender)
|
Функция
служит для смены пароля
|
.4 Вызов и загрузка программы
Вызов программы выполняется двойным
кликом по исполняемому файлу с название Project1.exe. Загрузка программы на
компьютер осуществляется через инсталлятор
<https://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 - протокол испытаний.
Испытание
|
Что
должно получиться
|
Что
получилось
|
Прошел
испытание
|
Запуск
программы
|
Должно
появиться окно для ввода пароля
|
Появилось
окно для ввода пароля
|
Да
|
Ввод
пароля,
|
Если
пароль верен вход в программу если нет то сообщение что пароль не верен
|
Пароль
верен вход в программу если нет то сообщение что пароль не верен
|
Да
|
Открытие
текстового файла
|
Появиться
диалоговое окно выбора файла и при открытии текст появляется в поле для ввода
текста
|
Появилось
диалоговое окно выбора файла и при открытии текст появляется в поле для ввода
текста
|
Да
|
Шифрование
текста методом подбора символов
|
При
нажатии на кнопку вместо текста должны появиться символы и цифры
|
При
нажатии на кнопку вместо текста появились символы и цифры
|
Да
|
Шифрование
текста методом цезаря
|
При
нажатии на кнопку текст должен измениться по алфавиту до неузнаваемости
|
При
нажатии на кнопку текст изменился по алфавиту до неузнаваемости
|
Да
|
Дешифрирование
методом подбора символов
|
При
нажатии на кнопку зашифрованный текст должен приобрести начальный вид
|
При
нажатии на кнопку зашифрованный текст приобрел начальный вид
|
Да
|
Дешифрирование
методом цезаря
|
При
нажатии на кнопку текст должен приобрести начальный вид
|
При
нажатии на кнопку текст приобрел начальный вид
|
Да
|
Сохранение
в файл
|
При
нажатии кнопки должно появится диалоговое окно в котором выбирается место
сохранения и имя файла после нажатия на кнопку сохранить должен создаться
файл с таким именем содержащий текст с поля программы
|
При
нажатии кнопки появилось диалоговое окно в котором выбирается место
сохранения и имя файла после нажатия на кнопку сохранить создался файл с
таким именем содержащий текст с поля программы
|
Да
|
Удаление
текста с поля ввода
|
При
нажатии на кнопку все содержимое поля ввода должно было очиститься
|
При
нажатии на кнопку все поле ввода очистилось
|
Да
|
Изменение
шрифта ввода текста
|
При
нажатии на кнопку должно появится диалоговое окно с выбором шрифта, размера,
цвета вводимого в поле ввода
|
При
нажатии на кнопку в диалоговом окно выбираем шрифт размер цвет тип ввода в
поля
|
Да
|
Выравнивание
текст с лева
|
При
нажатии на кнопку текст должен выровняться
<https://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>
по левому краю При нажатии на кнопку текст выровнялся по левому краюДа
|
|
|
Выравнивание
текст с права
|
При
нажатии на кнопку текст должен выровняться
<https://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>
по правому краюПри нажатии на кнопку текст выровнялся по правому краюДа
|
|
|
Выравнивание
текст по центру
|
При
нажатии на кнопку текст должен выровняться
<https://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 - Диалоговое окно выбора шрифта
После того так же можно разместить
текст слева по краю с право по краю и по центру, эти действия выполняются при
нажатии на соответствующие кнопки, которые располагаются
<https://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 - Главная вкладка
Во вкладке файл располагаются
<https://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 - Диалоговое окно
сохранения файла
При открытие файла пользователю
предоставляется <https://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();
}
{("Действующий пароль не верен");;
}
}