ект (File | New Project). Помістимо на форму 2 компоненту Edit: один для вказівки шляху до файлів, інший для введення пароля; 2 компонента Label для підпису компонентів Edit; 2 компонента BitBtn для виконання основних дій додатки, т.е шифрування/дешифрування і закриття програми; TOpenDialog для вибору відкриття потрібного файлу; TXPManifest-стилізація під Windows XP. У результаті повинно вийти так:
Малюнок 2.6 - Форма програми
Приступимо до розробки всіх компонентів програми, тобто прописування всіх необхідних кодів. Програма починається з оголошення використовуваних стандартних бібліотек і глобальних змінних:
unit Unit1 ;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ,, Buttons, StdCtrls, XPMan;=class (TForm): TLabel ;: TEdit ;: TSpeedButton ;: TOpenDialog;:TLabel ;: TEdit ;: TBitBtn ;: TBitBtn ;: TXPManifest; SpeedButton1Click (Sender: TObject); BitBtn2Click (Sender: TObject); BitBtn1Click (Sender: TObject); FormCreate (Sender: TObject);
{Private declarations}
{Public declarations};
var
Form1: TForm1;
Алгоритм шифрування виглядає наступним чином:
procedure SimmetricEx (FN: string; pass: string);
i: integer;// позиція байта у файлі
j, k: byte;// допоміжні змінні
MS: TMemoryStream;// потік
begin
MS:=TMemoryStream.Create;// створення екземпляра класу TMemoryStream
MS.LoadFromFile (FN);// завантаження файлу в потік
MS.Position:=0;// позиціонування в потоці на старт
for i:=1 to MS.Size do//від 1 до останнього байта
begin
k:=(i mod Length (pass)) + 1;// визначаємо номер символу ключа,
//за яким будемо шифрувати
MS.Read (j, 1);// читаємо 1 байт з потоку
j:=j xor Ord (pass [k]);// шифруємо прочитаний байт
MS.Position:=i - 1;// повертаємося назад на 1 байт
MS.Write (j, 1);// записуємо зашифрований байт
end;
MS.Position:=0;
MS.SaveToFile (FN);// зберігаємо вміст потоку
//у файлі під тим же ім'ям
MS.Free;// знищуємо екземпляр потоку;
Зв'яжемо кнопку BitBtn2 з уже написаним алгоритмом шифрування. Так як в програмі використовується симетричний алгоритм шифрування, то компонент BitBtn2 виконуватиме 2 різних дії - шифрування або дешифрування:
procedure TForm1.BitBtn2Click (Sender: TObject) ;: TMemoryStream; not FileExists (Edit1.Text) then ( Файл не знайде !!! ) ;;; Edit2.Text= then
ShowMessage ( Введіть пароль для шифрування !!! );
Exit ;; (Edit1.Text, Edit2.Text); ( Файл зашифрований! ) ;;; - закриття програми: TForm1.BitBtn1Click (Sender: TObject);
begin ;;
Тут відбувається відкриття вікна для вибору файлу в каталозі:
procedure TForm1.FormCreate (Sender: TObject) ;. InitialDir:=ExtractFileDir (Application.ExeName);
end;
2.3 Тестування програми «FileCoder»
Тестування програмного забезпечення - процес дослідження, випробування програмного продукту.
Процес налагодження включає:
) дії, спрямовані на виявлення помилок (тестування);
) діагностику і? локалізацію помилок (визначення характеру помилок і? їх місцезнаходження);
) внесення виправлень у? програму з? метою усунення помилок.
Неможливо гарантувати відсутність помилок в? програмою. У? Кращому випадку можна спробувати показати наявність помилок. Якщо програма правильно поводиться для великого набору тестів, немає підстав стверджувати, що в? Ній немає помилок. Якщо вважати, що набір тестів здатний з? Великою ймовірністю виявити можливі помилки, то можна говорити про? Деякому рівні впевненості (надійності) в? Правильності роботи програми, що встановлюється цими тестами.
Після прописування всіх кодів і налаштування розташування компонентів, можна компілювати додаток, для цього треба натиснути F9 в середовищі Delphi, запуститься вікно програми:
Малюнок 2.7 - Підсумковий вид програми
Кнопка дозволяє вибрати файл для шифрування. Після вибору потріб...