Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Биковський.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
613 Кб
Скачать
☆

Мал. 1 Головна форма

2.1.2 Форма “Спеціальності”

Призначення форми “Спеціальності” полягає в ознайомленні абітурієнта з спеціальностями на які можна вступити в технікумі. Кожній спеціальності відведена окрема сторінка. На кожній сторінці є два розділи “Загальні відомості ” та “Правила прийому на навчання ”. В розділі “Загальні відомості” розміщується зображення(TImage) та текстове(TMemo) .

Головне меню форми виконано з вертикально розміщених кнопок(TButton) всі кнопки розміщені на компоненті Panel. При кліку на кнопку відкривається відповідна сторінка з інформацією про відповідну спеціальність та додатковою інформацією.

Інтерфейс форми представлено нижче на мал 2.

Мал. 2. Фома “Спеціальності”

Принцип роботи форми:

При завантаженні форми всі сторінки невидимі це забезпечує процедура FormСreate лістинг представлено нижче.

Лістинг:

procedure TForm2.FormCreate(Sender: TObject);

begin

// В верхня частина коду процедури приховує всі сторінки

PageControl1.Visible := False;

OWPage.Visible := False;

FinancePage.Visible := False;

BugPage.Visible := False;

PravoPage.Visible := False;

RPZPage.Visible :=False;

OPSKPage.Visible := False;

KTOPage.Visible :=False;

//Нижня частина коду процедури робить активними всі 1-рші листи кожної сторінки

PageControl1.ActivePage := TabSheet1;

OWPage.ActivePage := TabSheet3;

FinancePage.ActivePage := TabSheet5;

BugPage.ActivePage := TabSheet7;

PravoPage.ActivePage := TabSheet9;

RPZPage.ActivePage := TabSheet11;

OPSKPage.ActivePage := TabSheet13;

KTOPage.ActivePage := TabSheet15

end;

При завантаженні форми ми робимо всі сторінку кожної спеціальності невидимими тільки після вибору користувачем пункту меню на формі з’явиться сторінка відповідної спеціальності лістинг приведено нижче.

procedure TForm2.soz_robClick(Sender: TObject);

begin

PageControl1.Visible:= True;//Відкриваємо задану сторінку

//Робимо всі інші сторінки невидимими

OWPage.Visible := False;

FinancePage.Visible := False;

BugPage.Visible := False;

PravoPage.Visible := False;

RPZPage.Visible :=False;

OPSKPage.Visible := False;

KTOPage.Visible :=False;

end;

В коді приведеному вище показано по якому принципу виводяться сторінки. Приховування інших сторінок використовується для того щоб видимою була лише одна сторінка інакше при появі на формі кількох сторінок вони будуть затуляти одна одну.

В програмі широко використовується компонент PageControl – багатосторінкова панель так як він економить місце на формі та є найбільш зручним в випадку з цією програмою так як ми створюємо для кожної спеціальності свою сторінку відповідно для кожної спеціальності ми виділяємо окремий PageControl.

2.3 Форма “Тест”

Так як попередня форма носить чисто презентаційний характер а основне наше завдання допомогти абітурієнту у виборі спеціальності було прийняти рішення створити «Тест на профорієнтацію». Призначення данної форми цілком зрозуміле допогти абітурієнту у виборі спеціальності.

Мал. 3. Форма “Тест”

На малюнку 3 зображена форма “Тест”. Тест складається з 10 простих запитань. В програмі реалізована рейтингова система яка і вирішує яка спеціальність найбільше підходить абітурієнту(тип спеціальностей).

OW :=1;

KFK :=1;

SOC :=1;

KFK :=1;

BUG :=1;

PRV :=1;

KTO :=1;

RPZ :=1;

OPSK:=1;

Кожній спеціальності по замовчуванню присвоюється по 1-му балу, коли користувач відповідає на питання в залежності від його відповідним спеціальностями присвоюються бали, спеціальності які набрали найбільше балів будуть запропоновані абітурієнту для вступу. Нарахування балів відбувається так.

var V:String[36];//Змінна V відповідь

Begin

If RadioButton1.Checked = True then

V:=RadioButton1.Caption

else

If RadioButton2.Checked = True then

V:=RadioButton2.Caption

else

If RadioButton3.Checked = True then

V:=RadioButton3.Caption

else

If RadioButton4.Checked = True then

V:=RadioButton4.Caption;

Label2.Caption := V;

if V='Гуманітарних' then //Якщо відповідь Гуманітарних то

Begin //відповідним спеціальностям

OW:=OW+10; // начисляються бали

KTO:=KTO+10;

PRV:=PRV+10;

BUG:=BUG+10;

End...

Переміщатися по питанням можна за допомогою кнопок back і next а також за допомогою компонента TrackBar. Питання виводятся за значенням TrackBar1.Position.

Case TrackBar1.Position Of

1:begin

Label1.Caption := 'Запитання: До яких наук у абітурієнта більша схильність?' ;

RadioButton1.Caption := 'Гуманітарних ' ;

RadioButton2.Caption := 'Технічних ';

RadioButton3.Enabled := False;

RadioButton4.Enabled := False;

end;

2:begin

Label1.Caption := 'Запитання: Щоб ви вибрали?' ;

RadioButton1.Caption := 'Допомагати людям' ;

RadioButton2.Caption := 'Створювати таблиці,електричні схеми, програми';

RadioButton3.Enabled := False;

RadioButton4.Enabled := False;

end;

3:begin

Label1.Caption := 'Запитання: Ви себе відносите ? ' ;

RadioButton1.Caption := 'до гуманітарників' ;

RadioButton2.Caption := 'до математиків, програмістів, дослідникам';

RadioButton3.Caption := 'до керівників';

RadioButton4.Caption := 'до фінансистів,бухгалтерів';

end;

4:begin

Label1.Caption := 'Запитання: Як ви охарактризуєте свою трудову діяльність? ' ;

RadioButton1.Caption := 'Більше всьго подобаєть керувати' ;

RadioButton2.Caption := 'Обожнюю роботу в колективі';

RadioButton3.Caption := 'Мені простіше в ролі підлеглого';

RadioButton4.Caption := 'Полюбляю працювати сам';

end;

В лістингу представленому вище демонструється за яким принципом виводяться питання. Так як програма виводить питання за значенням TrackBar1.Position типу Integer то найзручніше для цього використовувати оператор Case of.

Відповідь на питання здійснюється при натисненні на кнопку OK , лістинг данної кнопки представлений на початку розділу.