Нижче буде проведено опис і характеристика основних процедур
1. Процедура ТSerPF. FillBorders виконує функцію кнопки Refresh тобто генерує елементи в масиві.
Procedure TSerPF. FillBorders;
Var C, R: Integer;
Begin
RefreshK;
SG. Cells [0,0]:='A [K, N]';
For C:=1 To KC. Value do
Begin
SG. Cells [C, 0]:='A [1,'+IntToStr(C)+']';
End;
For R:=1 To KR. Value do
Begin
SG. Cells [0, R]:='A ['+IntToStr(R)+', 1]';
End;
End;
2. Процедура TSerPF. FillData заповнює масив елементами – цифрами, які розташовуються безладно у відповідних комірках.
Procedure TSerPF. FillData;
Var C, R: Integer;
begin
Randomize;
For C:=1 To KC. Value do
Begin
For R:=1 To KR. Value do
Begin
SG. Cells [C, R]:=IntToStr (Random(1000) – 500);
End;
End;
End;
3. Процедура TSerPF. FillData2 заповнює масив елемент буквами великими літерами російського алфавіту, які розташовані у відповідних комірках масиву
Procedure TSerPF. FillData2;
Var C, R: Integer; S: String;
begin
S:='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
Randomize;
For C:=1 To KC. Value do
Begin
For R:=1 To KR. Value do
Begin
SG. Cells [C, R]:=S [Random(33)];
End;
End;
End;
4. Процедура TSerPF. Search виконує пошук елемента у масиві при його знаходженні виводиться повідомлення: 'Запись найдена'
Procedure TSerPF. Search;
Var C, R: Integer;
MR: TGridRect;
Begin
For C:=L To KC. Value do
Begin
For R:=T To KR. Value do
Begin
If SG. Cells [C, R]=TFS. Text then
Begin
If C=KC. Value then
Begin
L:=1;
T:=R+1;
End
else
Begin
L:=C+1;
T:=R;
End;
If (R=KR. Value) and (C=KC. Value) then
Begin
T:=1;
L:=1;
End;
MR. Left:=C;
MR. Top:=R;
MR. Right:=C;
MR. Bottom:=R;
SG. Selection:=MR;
ShowMessage ('Запись найдена');
Caption:='Top'+Inttostr(T)+'; Left'+inttostr(L)+'; C'+inttostr(C)+'; R'+inttostr(R);
break;
End;
End;
End;
End;
5. Процедура TSerPF працює таким чином, якщо тексту немає, то виконується умова, якщо немає ні '?', ні '*', то виконується процедура Search тобто простий або звичайний пошук, Якщо ж виявляється '?', то відбувається пошук з процедури SearchV, відповідно, якщо ж '*', то SearchZ, якщо '?' і '*' – SearchVZ
інакше повідомлення ShowMessage ('Введите текст котрий следует искать!');
procedure TSerPF. Button1Click (Sender: TObject);
begin
If TFS. Text<>'' then
Begin
If (Pos ('?', TFS. Text)<1) and (Pos ('*', TFS. Text)<1) then Search;
If (Pos ('?', TFS. Text)>0) then SearchV;
If (Pos ('*', TFS. Text)>0) then SearchZ;
If (Pos ('?', TFS. Text)>0) and (Pos ('*', TFS. Text)>0) then SearchVZ;
end
else
ShowMessage ('Введите текст котрый следует искать!');
end;
Лістинг програми приведений в додатку А.
7. Реалізація проекту у візуальному середовищі
Для реалізації даного проекту, мною було використано середовище візуального програмування Borland Delphi 7.0, яке на сьогоднішній день є одним із найпотужніших сучасних програмних засобів для розробки прикладного програмного забезпечення.
У Delphi програмні модулі позначаються словом «Unit», кожен з цих програмних модулів містить текст програми. Усі процедури та функції головної форми описуються у модулі Unit1. Компоненти вікна форми тестової програми описуються у Unit2. Вікно форми про програму належить до Unit3. Також на формі міститься кнопка «Вихід», тобто виходу з програми.
Для вдосконалення роботи даного проекту можна внести свої змінні у функції чи процедури програми, за допомогою добавлення нових чи вдосконалення існуючих команд. У головній формі «Form» відображено інтерфейс користувача, тобто набір кнопок, полів, картинок. Кожен об’єкт має свій програмний код, який відображено в Unit. Тому можна зробити висновок, що у Unit здійснюється реалізація програми, а у Form здійснюється візуальне її оформлення.
Реалізація проекту у візуальному середовищі передбачає наступні стани:
1. Запуск на виконання Delphi 7 для створення нового проекту (Пуск – Програми – Borland Delphi 7 – Delphi 7)
2. Створення 3-ох форм: Form1, Form2, Form3 (Form1 створюється автоматично при завантаженні Delphi, для створення іншої форми потрібно на панелі інструментів обрати New Form, або в меню Form – New – Form).
3. Встановлення властивостей для Form1, Form2 Form3 згідно до розділу 5 Розробка інтерфейсу роботи з користувачем.
4. Встановлення компонентів та їх властивості для Form1, Form2, Form3.
5. Введення програмного коду, який наведений у Додатку А.
6. Зберегти проект (File – Save All, або за допомогою комбінації клавіш Shift+Ctrl+S), вказавши ім’я файлу проекту, для решти файлів імена при збереженні змінювати не потрібно.
7. Після виконання усіх попередніх пунктів дану програму потрібно відкомпілювати (F9, або за допомогою меню Run – Run).
8. Після виконання усіх попередніх пунктів дану програму потрібно відкомпілювати (F9, або за допомогою меню Run – Run).
У проекті присутні велика кількість компонентів, для їх функціонування необхідно змінити певні властивості:
Таблиця 3 – Властивості компонентів Форми SerPak
Назва копонентів | Властивості | назва |
Button1 | Caption ‘Працювати’ | Працювати |
Height | 30 | |
Width | 110 | |
name | work | |
Button2 | Caption | Про програму |
Height | 30 | |
name | about | |
Width | 130 | |
Button3 | Caption | Вийти |
Width | 120 | |
name | exit | |
Height | 30 | |
Lable1 | Caption | Привіт |
transparent | true | |
Lable2 | Caption | Вас вітає програма |
Aligment | taCenter | |
transparent | true |
Параметри шрифту для візуальних комронентів форми SerPak, таких як:
Lable1, Button потрібно встановити наступним чином, назва шрифту =MS Sane Serif, розмір = 14. для решти компонентів цю властивість змінювати не потрібно.
Таблиця 4. Властивості компонентів форми SerPok
Назва копонентів | Властивості що необхідно змінити | Значення |
Button1 | Height | 30 |
Width | 110 | |
name | OK | |
Lable1… Lable6 | transparent | true |
Image1 | Width | 561 |
Height | 513 |
Параметри шрифту для візуальних комронентів форми SerPak, таких як:
Lable, Button, RadioButton, GroupBox потрібно встановити наступним чином, назва шрифту =MS Sane Serif, розмір = 14. для решти компонентів цю властивість змінювати не потрібно. Також для компонентів SpinEdit, Button, в властивості Hint коротко описати функціональне призначення даного елемента, виходячи з його назви
Таблиця 5. Властивості компонентів форми SerPok (початок)
Назва компонента | Властивості | Значення | |
Label1 | Caption – відповідно до рис. 13 | ||
Transparent | true | ||
Label2 | Caption – відповідно до рис. 13 | ||
Transparent | true | ||
GroupBox1 | Caption | заповнення | |
RadioButton1 | Caption | авто | |
RadioButton2 | Caption | ручне | |
GroupBox2 | Caption | цифри / текст | |
RadioButton3 | Caption | текст | |
RadioButton4 | Caption | цифри | |
SpinEdit | Name | KR | |
Button1 | Caption | Шукати | |
Width | 121 | ||
Height | 22 | ||
Button2 | Caption | Зберегти | |
Width | 121 | ||
Height | 21 | ||
Button3 | Caption | Загрузити | |
Width | 121 | ||
Height | 22 | ||
OpenDialog | Властивостей змінювати не потрібно | ||
SeveDialog | Властивостей змінювати не потрібно | ||
Edit1 | Властивостей змінювати не потрібно | ||
SpinEdit | Name | KС |
8. Аналіз програми
В основі даної програми лежить робота з масивом, а саме з пошуком елементів. Проект складається з трьох форм:
Головної, Про програму та форму, що відображається при завантаженні.
При запуску програми відображається форма, що зображена на рис. 10, при натисканні на ту чи іншу кнопку виконуються певні дії. При натисканні на кнопку ‘Вийти’ користувач покидає програму. При натисканні на кнопку ‘Про програму’ відкривається вікно, у якому міститься коротка інформація про даний програмний продукт і міститься електронна адреса виробника. При натисканні на кнопку ‘Працювати’ відкривається головна форма на якій виконується практично уся робота.
На головній формі користувач може: обрати кількість рядків чи стовбців; створити масив може вручну – вводити елементи, а може автоматично згенерувати.
Користувач може вибрати на свій розсуд буквене або цифрове заповнення масиву елементами. У цифровому масиві цифри можуть бути як додатні та і від’ємні елементи.
Також користувач може зберегти результат пошуку елементів, і може завантажити уже збереженні дані про минулий пошук.
До недоліків можна віднести те, що більше трьох елементів для пошуку вводити неможна.
9. Тестування програми
В ході тестування програми було виправлено усі виявлені помилки та недоліки роботи програми, було зменшено текст програми за рахунок вдосконалення певних процедур та функцій, збільшено загальну продуктивність та швидкодія програми за допомогою оптимізація та логічного вдосконалення програмного коду. Також було максимально вдосконалено інтерфейс програми.
Тестування програми виконувалось, як при покроковому режимі виконання програми, так і при компілюванні.
Рисунок 10 – Робота програми до початку пошуку у масиві
Рисунок 11 – Робота програми під час пошуку елемента у масиві.
10. Інструкція з експлуатації програми