понеділок, 2 листопада 2026 р.

Лабораторна робота № 6 Створення програми мовою delphi з використанням багатосторінкового інтерфейсу. Вкладки PageControl

    Лабораторна робота № 6 Створення програми мовою delphi з використанням багатосторінкового  інтерфейсу. Вкладки PageControl

Мета: Навчитись складати та реалізовувати програми у середовищі delphi.

Завдання до лабораторної роботи:
1 Створити програму, яка буде мати декілька сторінок/ вкладок (5 штук, наприклад: вкладки фізика, математика, інформатика, хімія, література, тощо ).
Для створення програми використати компонент  PageControl. 
Розмістити на сторінках різні компоненти. На двох сторінках передбачити матеріал, наприклад, декілька малюнків (нехай по 5 шт.), які не поміщаються на сторінці і їх перегляд можливо використовуючи прокрутку  ScrollBox — панель з прокруткою. 
До цих сторінок створити можливість (події) використати прокрутку мишки. (див приклад у теоретичному блоці).

Продемонструвати роботу програм.

Табличне подання даних

   

Компонент StringGrid призначений для відображення та зберігання текстової інформації у вигляді таблиці. Розташований він на вкладці Additional Палітри компонентів:

 

Таблиця – двомірне подання даних, упорядковане по стовпчикам та рядкам. Таблиці, зазвичай, мають заголовки. У зв'язку з цим таблиці поділяються на дві частини: фіксовану та робочу . Робоча частина може містити довільну кількість рядків та стовпців. Якщо вона не міститься в межах компонента, то в нього автоматично вбудовуються смуги прокручування.

Табличне подання можна використовуватиме введення та виведення даних, тобто. вміст комірок можна редагувати.

У Delphi використовуються два компоненти для представлення даних у вигляді таблиці: TStringGrid та TDrawGrid.

Матеріал посилання 1
                посилання 2

приклад коду:
begin
     Label1.Caption:=IntToStr(ACol);
     Label2.Caption:=IntToStr(ARow);
     if ACol=4 Then
        begin
          StringGrid1.Options:=StringGrid1.Options-[goEditing];
          label3.Caption:='заборона  редагування'
        end
              Else
        begin
          StringGrid1.Options:=StringGrid1.Options+[goEditing]; //встановимо редагування
          label3.Caption:='редагування'
        end;
     // StringGrid1.Cells[4,Arow]:=intToStr(StrToInt(StringGrid1.Cells[1,Arow]));//+StrToInt(StringGrid1.Cells[2,Arow])) ;
end;




procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

  var ACol,ARow:integer;
begin
   StringGrid1.MouseToCell(x,y,ACol,ARow); //отримуємо координати
   StringGrid1.Col:=ACol;
   StringGrid1.Row:=ARow;
   Label1.Caption:=IntToStr(Acol);  //для себе для орієнтування вибору колонки
   Label2.Caption:=IntToStr(ARow);  //для себе для орієнтування вибору рядка
    if StringGrid1.Col=4 Then
        begin
          StringGrid1.Options:=StringGrid1.Options-[goEditing];
          label3.Caption:='нет редактирования'
        end
              Else
        begin
          StringGrid1.Options:=StringGrid1.Options+[goEditing]; //встановимо редагування
          label3.Caption:='редактирования'
        end;
end;

Вкладки PageControl

 Вкладки PageControl

 Компонент PageControl використовується для того, щоб можна було використовувати кілька що перекриває інші панелі (клас TTabSheet). Кожна панель вибирається пов'язаною з її закладкою і може містити, у свою чергу, свій набір розміщених на її компонентах. 

Посилання на матеріал

Матеріал 1

Матеріал 2 витяг з книги