понеділок, 15 квітня 2024 р.

контрольна робота №2

контрольна робота №2 посилання 
одна спроба у вівторок 8.30  !!!

четвер, 4 квітня 2024 р.

Лабораторна робота №18-19 Створення підсумкового проєкту

пройти тест посилання https://forms.gle/YMTU2pYkXbMbT4Xs9 

Лабораторна робота №18-19  Створення підсумкового проєкту

Мета: Навчитись створювати програми мовою Delphi

Завдання 1.

На формі проєкту розташувати 8 компонентів для однорядкового введення даних.

1)Виконати їх упорядкування.

2) Перемішати їх. Запустити програму та переглянути їх порядок введення інформації.

3) За допомогою функції tab-Order втановити необхідний порядок.

4)Зробити висновки: де це може бути потрібним.


Завдання 2

Створити програму "Калькулятор", який, крім звичайних обчислень буде виконувати так звані інженерні обчислення: синуса, косинуса, інших інженерних розрахунків. На окремій вкладці калькулятора передбачити переведення таких одиниць, як метр, кілограм, вимір температури, в одиниці   США: фути (feet) й дюйми (inches) зазвичай використовуються для вимірювання висоти, довжини, ширини та відстані; на наступній вкладці передбачити  переведення у старовинні одиниці (див посилання: https://nachasi.com/city/2018/04/05/ukrayinski-tradytsijni-miry/). Передбачити ще дві вкладки переведення в інші одиниці (на самостійне опрацювання). 

Проведені розрахунки повинні виконуватись  в прямому і в зворотному порядку. Прикрасити ваші вкладки тематичними малюнками.

Оформити та продемонструвати роботу .

Додаткова інформація Презентація "Стародавні одиниці довжини і часу"

вівторок, 19 березня 2024 р.

Лабораторна робота №17 Створення рухомих графічних примітивів

 Додаткова інформація Метод Application.ProcessMessages  

   Лабораторна робота №17  Створення рухомих графічних примітивів

Мета: Навчитись створювати -програми мовою Delphi

Завдання 1.

На Вашому попередньому малюнку (лабораторна робота 16) створити рухомий об'єкт. (Дивись приклад)

Оформити та продемонструвати роботу .

Відео: 



unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons, ExtCtrls;

type

  TForm1 = class(TForm)

    Shape1: TShape;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

  i:integer;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

   Form1.BitBtn1.Visible:=false;      //робимо кнопку старт невидимою

  for i:=0 to   (form1.clientwidth-shape1.Width) div 2 do

  // цикл до половини заданої ширини форми форми

         begin

         shape1.Visible:=false;  //фігуру зробили не видимою

         shape1.Left:=shape1.Left+1;  //змістили координату по Х

         shape1.Top:= shape1.Top -1; //змістили координату по  У

         sleep(10);             //затрика

         shape1.Visible:=true;    //фігуру зробили видимою

         application.ProcessMessages;  //метод який вимагає миттєвого виконання

        end;

        for i:=i to   form1.clientwidth-shape1.Width do

         begin

         shape1.Visible:=false;

         shape1.Left:=shape1.Left+1;

         shape1.Top:= shape1.Top +1;

         sleep(10);

         shape1.Visible:=true;

         application.ProcessMessages;

        end;

  Form1.BitBtn2.Visible:=true;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

  Form1.BitBtn2.Visible:=false;

end;

end.

Лабораторна робота №16 Створення графічного зображення

 Лабораторна робота №16  Створення графічного зображення

Мета: Навчитись створювати програми мовою Delphi

Завдання 1. Створити програму, яка можливостями мови створить малюнок. (Будинок, лужок, озеро, дерево, сонечко)

Завдання 2.

Виконати підпис малюнка (ПРІЗВИЩЕ)  за допомогою графічних примітивів. 

Оформити та продемонструвати роботу.



пʼятниця, 15 березня 2024 р.

Робота з графікою в Delphi Малювання на формі або компоненті PaintBox

 Робота з графікою в Delphi Малювання на формі або компоненті PaintBox

Малювання на формі або компоненті PaintBox...................................... 1

Приклад відео з використанням  графіки................................................ 4

Робота з графікою в Delphi......................................................................... 4

Графічні можливості Delphi: Дуга, прямокутник, сектор, точка.......... 10

Дуга............................................................................................................ 10

Прямокутник............................................................................................. 10

Багатокутник............................................................................................ 11

Сектор....................................................................................................... 12

Крапка........................................................................................................ 12

Малюємо аналоговий  годинник.............................................................. 15

Додатково посилання



понеділок, 11 березня 2024 р.

Лабораторна робота №15 Створення програм з використанням дати та часу.

 Лабораторна робота №15 Створення програм з використанням дати та часу. 

Мета: Навчитись створювати програми з використанням дати та часу.

Теоретичний матеріал посилання 

Завдання 1. Організувати введення дати народження  та сьогоднішньої дати. Провести розрахунок тривалості життя.

Завдання  2. Організувати введення двох дат та визначити часовий проміжок між цими датами.

Завдання  3 Ввести дати. Визначити день тижня. Скористатись формулами розрахунків "Як за датою обчислити день тижня?": посилання  (https://genomukr.com/rizne/26518-jak-za-datoju-obchisliti-den-tizhnja.html) .

Завдання  4 Визначити час роботи вашої програми після її запуску. Інформацію відобразити у нижньому рядку:  StatusBar .

Завдання  5 Написати програму визначення  дати Великодня. Скоритсатися алгоритмом Гауса для обчислення дати Великодня. Посилання на вікіпедію. Для перевірки правильності роботи програми скористайтеся таблицею у Вікіпедії (дивись посилання).


Приклад коду:

newDate := IncDay(EncodeDate (Year, Month, Day) , 14); //використовується модуль         DateUtils тут додаємо 14 днів EncodeDate створюю задану дату

form1.Label12.Caption:= DateToStr (newDate) ;

   //dt:= now;     // поточна дата

dt := form1.DateTimePicker1.Date;  //визначена дата тобто введена з компоненту DateTimePicker

form1.Label11.Caption:= DateToStr (dt) ; //виводимо дату

difference := DaysBetween(newDate, dt); //використовується модуль DateUtils тут різницю днів

if dt<newDate then  s:=''

                  else  begin s:='пройшло'; newdt:=dt; dt:=newDate; newDate:=newdt; end;//переставити дати тобто прйшов час або пусто якщо дати розташовано вірно


form1.Label13.Caption:= s+intToStr (difference )+ ' днів ' ;

  // Припустимо, що у вас є дві дати:

  //date1 := EncodeDate(2022, 1, 1); // перша дата

  //date2 := Now; // друга дата (поточна дата ≥ час)

  // «находимо різницю між датами в місцях та днях

  //monthsDifference := MonthsBetween(date1, date2);

  //daysDifference := DaysBetween(date1, IncMonth(date1, monthsDifference));

monthsDifference := MonthsBetween(newDate, dt);    //різниця у місяцях

daysDifference := DaysBetween(newDate, IncMonth(dt, monthsDifference)); //різниця у датах з урахуванням місяців

form1.Label15.Caption:=s+ ' кількість місяців: '+ IntToStr( monthsDifference)+ '   кількість днів: '+ IntToStr (daysDifference);



четвер, 7 березня 2024 р.

Введення та відображення дат та часу – компоненти DateTimePicker, MonthCalendar, Calendar

 Введення та відображення дат та часу – компоненти DateTimePicker, MonthCalendar, Calendar

Стандартний тип дата-час - TDateTime, визначений у модулі System, є дійсне  число типу Double, ціла частина якого задає число днів (у тому числі і негативне), що пройшли з 30 грудня 1899, а дробова частина - минулу частку поточного дня . Так, 35065.75 дає 1 січня 1996, 18.00. 

У модулі SysUtils визначено низку стандартних функцій роботи з параметрами типу дати-часу.

Матеріал посилання     опис модуля SysUtils,  розглянуті деякі функції на прикладах. наведено коди прикладів, наведено використання компонента  StatusBar , який знаходиться у вкладці Win32: ( зображено жовтим кольором у коді), розглянуто Компонент Delphi DataTimePicker розташований на сторінці Win32 Палітри компонентів. Він призначений для введення часу та дати, компоненти DateTimePicker, MonthCalendar, Calendar.


Додатково матеріал   ще один опис Процедур та функцій роботи з датою та часом

Модуль SysUtils (можливо трохи гірше описано чим у попередньому, зате коротко).


четвер, 29 лютого 2024 р.

Лабораторна робота №14 Створення програм з використанням таблиці

    Компонент таблиця (матеріал 1),  матеріал 2 посилання 

Лабораторна робота №14 Створення програм з використанням таблиці

Мета: Навчитись створювати програми з використанням таблиць

Завдання 1.

Створити програму, яка буде  виконувати розрахунки у наведеній таблиці:

Посилання на завдання

Завдання 2 (на підвищену оцінку).

середа, 28 лютого 2024 р.

Пройти тест delphi_menu

 Пройти тест 

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

Компонент 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;

неділя, 25 лютого 2024 р.

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

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

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

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

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

середа, 21 лютого 2024 р.

Вкладки PageControl

Вкладки PageControl

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

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

Матеріал 1

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


субота, 17 лютого 2024 р.

Лабораторна робота № 12 Створення програми мовою delphi з використанням меню

   Лабораторна робота № 12 Створення програми мовою delphi з використанням меню

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

 Компонент Delphi MainMenu   Контекстное меню (PopupMenu)

Завдання до лабораторної роботи:
1 Створити до попередньої лабораторної роботи головне меню та контекстне меню.
У головному меню, створити пункти : файл (підпункти відкрити, зберегти, вихід, інші), редагування (збільшити/зменшити шрифт та вибір кольорів написів), завдання (де підпункти будить ті 10 малюнків-запитань з відповідними підписами), про програму (дані про автора програми).
У контекстному меню створити пункти: збільшити або зменшити шрифт та прив'язати його до всіх підписів до малюнків.
До наведених компонентів додати контекстне меню (хоча б три пункти). Наприклад, збільшити розмір тексту, зменшити розмір, встановити певний колір або шрифт. Приєднати створене контекстне меню до всіх підписів (компонентів Лабел).

Створити контекстне меню до форми. Передбачити, наприклад колір форми, відображення або зникнення зображення.

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

четвер, 15 лютого 2024 р.

Компонент Delphi MainMenu, Контекстне меню (PopupMenu)

Компонент Delphi MainMenu, Контекстне меню (PopupMenu)

  Компонент Delphi MainMenu призначений для додавання в програму головного меню, елемента, без якого не буде ні одного з додатків для Windows.

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

Посилання

понеділок, 12 лютого 2024 р.

Лабораторна робота № 11 Створення програми мовою delphi з використанням малюнка, та компонентів Listbox, combobox.

   Лабораторна робота № 11 Створення програми мовою delphi з використанням малюнка, та компонентів Listbox, combobox.

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

Компонент TImage в Delphi

  1.  Як створити проект із компонентом Image і  внести туди зображення при процесі створення проекта (за допомогою Інспектора об’єктів
  2.  Як його редагувати, які властивості  компонента
  3.  Як програмно внести файл-зображення до програми та встановити його параметри.:  form1.Image1.Picture.LoadFromFile( 'r1.jpg');
  4. Додатково   «Работа с компонентами ImageList, ComboBoxEx» (Формування списку з малюнком)
Матеріал ScrollBox - панель з прокручуванням. Цей компонент призначений для створення області, в якій можуть розміщуватися компоненти, що займають більшу площу, ніж сам ScrollBox Посилання


Завдання до лабораторної роботи:
  1. Створити програму, яка створить 10 тематичних запитань-малюнків. Виконати підпис зображень. Кожне запитання-малюнок оформити окремо і воно повинно з'являтися по натиску кнопки з відповідним номером. Тематику запитань (гриби, спорт, автомобілі, мотоцикли, тощо)та дизайн програми продумати самостійно.
  2. Вставити 5 запитань з використанням компонентів Listbox, combobox.
  3. Встановити прокрутки колесика миші вгору та донизу.
  4. Зробити фонову картинку на всю форму. 
  5. Продемонструвати роботу програм.
Рекомендація Організуйте відображення запитань за допомогою компонента ScrollBox.
Встановлення нульової позиції: 
 form1.ScrollBox1.Visible:= true;
  form1.ScrollBox1.VertScrollBar.Position:=0;   //встановити вертикальний скролінг в позицію = 0
 scrollbox1.SetFocus;   //передамо фокус на компонент 


четвер, 8 лютого 2024 р.

Компоненти ListBox, ComboBox, Компонент Image

 Матеріал  лістбокс та комбобокс 

Комбо бокс

   Компонент  Delphi ComboBox  є комбінацією списку рядків  ListBox  з рядком введення  Edit . При цьому "список рядків" компонента  Delphi ComboBox  спочатку прихований, і розкривається при натисканні мишкою по трикутничку розкриття, який знаходиться праворуч у рядку введення/

Приклад,:

form1.Label2.Caption:= listbox1.Items [listbox1.itemindex];

   form1.Label6.Caption:= inttostr(listbox1.itemindex);

Компонент Image

Компонент Image (вкладка Additional ) служить для розміщення на формі одного з трьох підтримуваних Delphi типів зображень: растрового малюнка ( *. bmp ), значка ( *.ico ) або метафайлу ( *.wmf або *.emf ).

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

посилання 2

посилання 3

   Приклад, як завантажити малюнок:   form1.Image1.Picture.LoadFromFile('r1.jpg'); 

 Відео 

посилання  https://www.youtube.com/watch?v=Jf-JI12plQg

Невизуальный компонент ImageList предназначен для хранения в памяти последовательности (списка) небольших графических изображений формата BMP или ICO. посилання 3 сторінка 6.


четвер, 1 лютого 2024 р.

Лабораторна робота № 10 Створення програми мовою delphi. Тести

  Лабораторна робота № 10 Створення програми мовою delphi .Тести

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


лекційний матеріал

Завдання до лабораторної роботи:
  1. Створити програму, яка створить 6 запитань. Кожне запитання оформити окремо. Передбачити питання з однією правильною відповіддю (три запитання) та декількома правильними (три запитання). Підрахувати кількість правильних відповідей. Вивести аналітику по запитаннях (у процентах , балах). Тематику запитань та дизайн програми продумати самостійно.
  2. Зробити висновки щодо використання компонентів RadioButton та CheckВox та їх аналогів GroupBox та RadioGroup.  Створити програму для виконання першого завдання із використанням компонентів GroupBox та RadioGroup.
  3. Продемонструвати роботу програм

Зауваження: при створенні програми групуйте запитання та відповіді за допомогою  RadioGroup, Group Box, Panel.

Групування: компоненти GroupBox, Компонент Panel, Компонент Delphi ScrollBox

Групування: компоненти GroupBox, Компонент Panel,  Компонент Delphi ScrollBox

Компонент GroupBox

Компонент GroupBox є контейнером для розміщення елементів управління або інших компонентів-контейнерів, що володіє рамкою та написом.

Група використовується переважно для візуального виділення функціонально пов'язаних керуючих елементів. Для роботи з групою Delphi надає компонент  GroupBox , що задає прямокутну рамку із заголовком (властивість Caption) у лівому верхньому кутку і об'єднує елементи керування, що містяться в ньому.

Наприклад, на скріншоті група із заголовком «Заголовок групи» використовується для об'єднання перемикачів RadioButton .

Додатковий матеріал

Компонент Delphi Panel

Компонент Delphi Panel знаходиться на сторінці Standard Палітри Компонентів (значок на малюнку обведений червоним). Вибравши компонент Panel і натиснувши на формі ми побачимо прямокутник у центрі якого буде напис Panel1. Цифра 1 означає номер панелі формі, тобто. якщо нам необхідно помістити на форму ще 3 панелі, то їх імена будуть Panel2, Panel3, Panel4.

Властивість Name визначає ім'я панелі. Caption - заголовок, спочатку він збігається з Name і дорівнює Panel1, але у багатьох випадках його залишають порожнім. Часто панель використовують як контейнер для інших компонентів.

Додатковий матеріал

Приклад коду:

 form1.Panel1.Visible:=true;    //основна панель

form1.Panel2.Visible:=false;

Компонент Delphi ScrollBox (Область прокручування) 

Компонент Delphi ScrollBox (Область прокручування) знаходиться на сторінці Additional Палітри компонентів.

 

При необхідності розміщення на формі великої кількості елементів, ніж те, що вона може розмітити у видимій області веде до появи смуги прокручування. Але при такому положенні можуть вийти з видимості важливі елементи: поля введення введення, командні кнопки та інші елементи керування, які для зручності роботи повинні бути завжди в полі зору.


За допомогою компонента  ScrollBox ми можемо на одній формі розташувати області прокручування в тій кількості, в якій вони нам потрібні з необхідними об'єктами. Об'єкти програми розміщуються в компоненті  ScrollBox так само, як і на звичайній формі. При встановленому якості AutoScroll в TRUE, лінії прокручування з'являються автоматично в міру їхньої потреби.

Додатковий матеріал

Приклад коду:

procedure TForm1.N25Click(Sender: TObject);

begin

    scrollBox1.Show;                                  //показати компонент

    scrollBox1.VertScrollBar.Position:=0;   //встановити вертикальний скролінг в позицію = 0

end;

Приклад коду на прокрутку колесико мишки:

procedure TForm1.ScrollBox1MouseWheelDown(Sender: TObject;

  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);

begin

             scrollbox1.VertScrollBar.Position:=scrollBox1.VertScrollBar.Position+12;

end;


procedure TForm1.ScrollBox1MouseWheelUp(Sender: TObject;

  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);

begin

      scrollbox1.VertScrollBar.Position:=scrollBox1.VertScrollBar.Position-12;

end;