На головну

подія Опис

  1. III. Опис експериментальної установки та методу вимірювання
  2. III. Опис експериментальної установки та методу вимірювання
  3. III. Опис експериментальної установки та методу вимірювання
  4. III. Опис експериментальної установки та методу вимірювання
  5. III. Опис експериментальної установки та методу вимірювання
  6. III. Опис експериментальної установки та методу вимірювання
  7. III. Опис експериментальної установки та методу вимірювання

OnChange Подія після зміни зображення

OnChanging Подія перед зміною зображення

Клас TPainBox - вікно для малювання.

Призначення компонента TPaintBox -Дати вам просте вікно з канвою для малювання роізвольних зображень. Канва міститься у властивості Canvas компонента, графічні інструменти у властивостях Font, Pen, Brush, а власне малювання здійснюється в обробнику подій onPaint.

52. Файли проекту Delphi.

Файли проекту Delphi.

 Файл проекту (.dpr)  Цей текстовий файл використовується для зберігання інформації про форми і модулях. У ній містяться оператори ініціалізації і запуску програм на виконання
 Файл модуля (.pas)  Кожній створюваній вами формі відповідає текстовий файл модуля, який використовується для зберігання коду. Можна створювати модулі, які не пов'язані з формами. Багато з функцій і процедур Delphi зберігаються в модулях.
 Файл форми (.dfm)  Це двійковий або текстовий файл, який створюється Delphi для зберігання інформації про ваших формах. Кожному файлу форми відповідає файл модуля (.pas)
 Файл параметрів проекту (.dfo)  У цьому файлі зберігаються установки параметрів проекту
 Файл ресурсів (.res)  Цей бінарний файл містить використовувану проектом піктограму та інші ресурси
 Файли резервних копій (. ~ Dp,. ~ Df,. ~ Pa)  Це відповідно файли резервних копій для файлів проекту, форми і модуля. Якщо щось безнадійно зіпсовано в проекті, можна відповідно змінити розширення цих файлів і таким чином повернутися до попереднього не зіпсована варіанту
 Файл конфігурації вікон (.dsk)  Файл зберігає конфігурацію всіх вікон середовища розробки
 Виконуваний файл (.exe)  Це виконуваний файл вашого застосування. Він є автономним виконуваним файлом, для якого більше нічого не потрібно, якщо тільки ви не використовуєте бібліотеки, що містяться в DLL, OCX і т. Д., А також якщо ви не використовуєте підтримку пакетів часу виконання
 Об'єктний файл модуля (.dcu)  Це відкомпільований файл модуля (.pas), який компонується в остаточний виконуваний файл.

І, нарешті, інші файли Windows, які можуть використовуватися Delphi:

 Файли довідки (.hlp)  Це стандартні файли довідки Windows, які можуть бути використані вашим додатком Delphi.
 Файли зображень або графічні файли (.wmf, .bmp, .ico)  Ці файли зазвичай використовуються в додатках Windows для створення привабливого і дружнього користувальницького інтерфейсу

53. Структура модуля програми Delphi.

Програма в DELPHI складається з файлу проекту (файл з розширенням .dpr), одного або декількох файлів вихідного коду (з розширенням .pas), файлів з описом вікон форми (з розширенням .dfm).

У файлі проекту знаходиться інформація про модулях, що становлять даний проект. Файл проекту автоматично створюється і редагується середовищем DELPHI і не призначений для редагування.

Файл вихідного тексту - програмний модуль (Unit) призначений для розміщення текстів програм. У цьому файлі програміст розміщує текст програми, написаний на мові PASCAL.

У розділі оголошень описуються типи, змінні, заголовки процедур і функції, які можуть бути використані іншими модулями, через оператори підключення бібліотек (Uses). У розділі реалізації розташовуються тіла процедур і функцій, описаних в розділі оголошень, а також типи змінних, процедури і функції, які будуть функціонувати тільки в межах даного модуля. Розділ ініціалізації використовується рідко і його можна пропустити. Модуль має наступну структуру:

unit Unit1;

interface

// Розділ оголошень

implementation

// Розділ реалізації

begin

// Розділ ініціалізації

end.

При компіляції програми DELPHI створює файл з розширенням .dcu, що містить в собі результат перекладу в машинні коди вмісту файлів з розширенням .pas і .dfm. Компоновщик перетворює файли з розширенням .dcu в єдиний файл, що з розширенням .exe. У файлах, що мають розширення. ~ Df,. ~ Dp,. ~ Pa, зберігаються резервні копії файлів з образом форми, проекту і вихідного тексту відповідно.

54. Вікна програми Delphi.

Головне вікно завжди присутня на екрані і призначене для управління процесом створення програми. Основне меню (прил.1) Містить всі необхідні засоби для управління проектом. Піктограми полегшують доступ до найбільш часто вживаним командам основного меню. Через меню компонентів (дод. 2) здійснюється доступ до набору стандартних сервісних програм середовища DELPHI, які описують деякий візуальний елемент (компонент), поміщений програмістом у вікно форми. Кожен компонент має певний набір властивостей (параметрів), які програміст може задавати. Наприклад, колір, заголовок вікна, напис на кнопці, розмір і тип шрифту та ін.

Вікно інспектора об'єктів (викликається c допомогою клавіші F11) призначене для зміни властивостей обраних компонентів і складається з двох сторінок. Сторінка Properties (Властивості) призначена для зміни необхідних властивостей компонента, сторінка Events (Події) - для визначення реакції компоненту на ту чи іншу подію (наприклад, натискання певної клавіші або клацання "мишею" по кнопці).

Вікно форми є проект Windows-вікна програми. У це вікно в процесі написання програми поміщаються необхідні компоненти. Причому при виконанні програми поміщені компоненти матимуть той же вид, що і на етапі проектування.

Вікно тексту програми можна переглядати, написання і редагування тексту програми. В системі DELPHI використовується мова програмування Object Pascal. При первинному завантаженні у вікні тексту програми знаходиться текст, що містить мінімальний набір операторів для нормального функціонування порожній форми як Windows-вікна. При приміщенні деякого компонента в вікно форми текст програми автоматично доповнюється описом необхідних для його роботи бібліотек стандартних програм (розділ uses) і типів змінних (розділ type).

Програма в середовищі DELPHI складається як опис алгоритмів, які необхідно виконати, якщо виникає певна подія, пов'язане з формою (наприклад клацання "миші" на кнопці - подія OnClick, створення форми - OnCreate). Для кожного оброблюваного в формі події, за допомогою сторінки Events інспектора об'єктів в тексті програми організовується процедура (procedure), між ключовими словами begin і end якій програміст записує на мові Object Pascal необхідний алгоритм.

Перемикання між вікном форми і вікном тексту програми здійснюється за допомогою клавіші F12.

55. Бібліотека візуальних компонентів VCL і її базові класи.

Всі класи бібліотеки візуальних компонентів походять від групи базових класів, які лежать в основі ієрархії VCL. Самий загальний предок компонентів - це клас TObject, інкапсулює найпростіший об'єкт. Кожен об'єкт успадковує властивості і методи батьківського класу. До об'єкту можна додати нові властивості і методи, але не можна видалити успадковані. Об'єкт-спадкоємець в свою чергу може стати батьківським для нового класу, який успадкує можливості всіх своїх предків.

Тому ієрархія базових класів VCL продумана надзвичайно ретельно - адже на їх основі створено всі безліч компонентів, що використовуються в Delphi. Особливе місце серед базових класів, крім TObject, займають TComponent (від нього відбуваються всі компоненти) і TControl (від нього відбуваються всі елементи управління).

В основі всього різноманіття класів і компонентів, що використовуються в Delphi, лежать всього лише п'ять базових класів. Вони забезпечують виконання основних функцій будь-якого об'єкта - будь це стандартний компонент VCL або спеціалізований об'єкт, що виконує деякі операції в додатку.


Завдяки механізму наслідування властивостей і методів, нащадки базових класів вміють "спілкуватися" один з одним; працюють в середовищі розробки, взаємодіючи з палітрою компонентів і Інспектором об'єктів; розпізнаються операційною системою як елементи управління і вікна.

В основі ієрархії класів лежить клас TObject. Він забезпечує виконання найважливіших функцій "життєдіяльності" будь-якого об'єкта. Завдяки йому, кожен клас отримує в спадок механізми створення екземпляра об'єкта і його знищення.

Зазвичай розробник навіть не замислюється про те, як об'єкт буде створений і що необхідно зробити для його коректного знищення. Компоненти VCL створюються і звільняють займані ресурси автоматично. Іноді розробнику доводиться створювати і видаляти об'єкти самостійно. Але навіть в цьому випадку йому досить викликати відповідні конструктор і деструктор:

Завдяки механізму наслідування властивостей і методів, нащадки базових класів вміють "спілкуватися" один з одним; працюють в середовищі розробки, взаємодіючи з палітрою компонентів і Інспектором об'єктів; розпізнаються операційною системою як елементи управління і вікна.

В основі ієрархії класів лежить клас TObject. Він забезпечує виконання найважливіших функцій "життєдіяльності" будь-якого об'єкта. Завдяки йому, кожен клас отримує в спадок механізми створення екземпляра об'єкта і його знищення.

Зазвичай розробник навіть не замислюється про те, як об'єкт буде створений і що необхідно зробити для його коректного знищення. Компоненти VCL створюються і звільняють займані ресурси автоматично. Іноді розробнику доводиться створювати і видаляти об'єкти самостійно. Але навіть в цьому випадку йому досить викликати відповідні конструктор і деструктор:

var SomeList: TStrings;

...

SomeList: = TStrings.Create;

...

SomeList.Free;

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

Крім цього, клас TObject забезпечує створення і зберігання інформації про екземпляр об'єкта і обслуговування черги повідомлень.

Клас TPersistent відбувається безпосередньо від класу TObject. Він забезпечує своїх нащадків можливістю взаємодіяти з іншими об'єктами і процесами на рівні даних. Його методи дозволяють передавати дані в потоки, а також забезпечують взаємодію об'єкта з Інспектором об'єктів.

Клас TComponent є найважливішим для всіх компонентів. Безпосередньо від нього можна створювати будь-які невізуальні компоненти. Механізми, реалізовані в класі TComponent, забезпечують взаємодію компонента із середовищем розробки, головним чином з палітрою компонентів і Інспектором об'єктів. Завдяки можливостям цього класу, компоненти починають працювати на формі проекту вже на етапі розробки.

Клас TControl походить від класу TComponent. Його основне призначення - забезпечити функціонування візуальних компонентів. Кожен візуальний компонент, який стався від TControl, наділяється основними ознаками елемента управління. Завдяки цьому, кожен візуальний компонент вміє працювати з GUI (Graphic User Interface - графічний інтерфейс користувача ОС) і відображати себе на екрані.

Клас TWinControl розширює можливості розробників по створенню елементів управління. Він успадковується від класу TControl і забезпечує створення віконних елементів управління.

На основі класу TWinControl створений ще один додатковий клас - TCustomControl. Він забезпечує створювані на його основі компоненти можливостями по використанню канви - спеціального об'єкта, призначеного для відображення Клас TCustomControl є спільним предком для цілої групи класів, які забезпечують створення різних нестандартних типів віконних (отримують фокус) елементів управління Windows: редакторів, списків і т. Д.

Для створення неоконів (які не отримують фокус) елементів управління використовується клас TGraphicControl, що є нащадком класу TControli.

В цілому ієрархія базових класів забезпечує повноцінну роботу розробників у Delphi, дозволяючи проектувати будь-які типи додатків.

Клас TComponent є найважливішим для всіх компонентів. Безпосередньо від нього можна створювати будь-які невізуальні компоненти. Механізми, реалізовані в класі TComponent, забезпечують взаємодію компонента із середовищем розробки, головним чином з палітрою компонентів і Інспектором об'єктів. Завдяки можливостям цього класу, компоненти починають працювати на формі проекту вже на етапі розробки.

Клас TControl походить від класу TComponent. Його основне призначення - забезпечити функціонування візуальних компонентів. Кожен візуальний компонент, який стався від TControl, наділяється основними ознаками елемента управління. Завдяки цьому, кожен візуальний компонент вміє працювати з GUI (Graphic User Interface - графічний інтерфейс користувача ОС) і відображати себе на екрані.

Клас TWinControl розширює можливості розробників по створенню елементів управління. Він успадковується від класу TControl і забезпечує створення віконних елементів управління.

На основі класу TWinControl створений ще один додатковий клас - TCustomControl. Він забезпечує створювані на його основі компоненти можливостями по використанню канви - спеціального об'єкта, призначеного для відображення графіки

Клас TCustomControl є спільним предком для цілої групи класів, які забезпечують створення різних нестандартних типів віконних (отримують фокус) елементів управління Windows: редакторів, списків і т. Д.

Для створення неоконів (які не отримують фокус) елементів управління використовується клас TGraphicControl, що є нащадком класу TControli.

В цілому ієрархія базових класів забезпечує повноцінну роботу розробників у Delphi, дозволяючи проектувати будь-які типи додатків.

56. Управління властивостями візуальних компонент в процесі виконання.

Всі зміни значень властивостей компонент в режимі виконання повинні здійснюватися шляхом прямого запису рядків коду на мові Паскаль. У режимі виконання неможливо використовувати Object Inspector. Однак, доступ до властивостей компонентів досить легко отримати програмним шляхом. Необхідно зробити для зміни якої-небудь властивості - це написати просту рядок коду аналогічно наступною:

MyComponent.Width: = 35;

Вищенаведена рядок встановлює ширину (Width) компонента в значення 35. Якщо властивість Width компонента ще не було одно 35 до моменту виконання цього рядка програми, компонента візуально змінить свою ширину в процесі виконання програми.

приклад

Програма SHAPEDEM містить всього лише об'єкт TShape, розміщений на формі, разом з двома смугами прокрутки і декількома кнопками. Ця програма цікава тим, що дозволяє в режимі виконання змінювати розмір, колір і зовнішній вигляд об'єкта TShape, так само як розмір і колір самої форми.

Смуги прокрутки (ScrollBars) використовуються для зміни розміру фігури, зображеної в середній частині екрану. Для вибору нового виду фігури використовуйте список, що випадає (ComboBox), а для зміни кольору фігури або вікна (форми) використовуйте стандартне діалогове вікно вибору кольору, яке викликається кнопками "Колір фігури" і "Колір форми".

Що потрібно зробити користувачеві (програмісту) для того щоб отримати можливість "в режимі виконання" змінювати колір будь-якого елемента або всього вікна (форми)? Для цього досить виконати всього лише кілька дій. Для зміни кольору вікна просто виберіть компонент ColorDialog з палітри компонентів (вона знаходиться на сторінці "Dialogs") і помістіть його на форму. Крім того, помістіть на форму звичайну кнопку (компонент Button, знаходиться на сторінці "Standard"). Для зручності читання за допомогою Object Inspector змініть ім'я компонента (властивість Name) з "Button1" (яке дається за замовчуванням) на "FormColor", а його заголовок (властивість Caption) - на "Колір форми". Двічі натисніть на кнопку "Колір форми" - Delphi згенерує заготовку методу, який виглядає наступним чином:

procedure TForm1.FormColorClick (Sender: TObject);

begin

end;

Тепер введіть дві прості рядки коду:

procedure TForm1.FormColorClick (Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.Color: = ColorDialog1.Color;

end;

Даний код під час виконання при натисканні кнопки "Колір форми" викликає стандартне діалогове вікно вибору кольору, як показано на рис.6. якщо в цьому діалоговому вікні Ви клацніть кнопку OK, виконається наступний рядок:

Form1.Color: = ColorDialog1.Color;

Цей код встановить властивість Color форми Form1 в колір, який був обраний за допомогою діалогового вікна ColorDialog1. Це дуже просто!!!

Та ж сама техніка може використовуватися для зміни кольору фігури (компонент Shape, об'єкт TShape). Все, що Вам потрібно зробити - це помістити на форму іншу кнопку, змінити (при бажанні) її ім'я на "ShapeColor", а заголовок - на "Колір Фігури", двічі клацнути по ній мишкою і створити метод аналогічний наступного:

procedure TForm1.ShapeColorClick (Sender: TObject);

begin

if ColorDialog1.Execute then

Shape1.Brush.Color: = ColorDialog1.Color;

end;

Відзначимо, що код, написаний тут, є самодокументірованним. Т. е. Будь-який, хоч трохи знайомий з програмуванням людина зможе без особливих зусиль розібратися, що ж роблять ці рядки; а якщо він перед цим прочитає документацію, то для нього взагалі все буде прозоро.

Всі ці дії можна виконати і автоматично - наприклад, можна змінити колір певного елемента форми, щоб привернути увагу користувача до якого-небудь дії.

Весь механізм Windows-повідомлень, що використовується при взаємодії компонент під час виконання, виявляється прихованим від програміста, роблячи процес створення програм найбільш легким. Складне програмування в середовищі Windows стає доступним "широким" масам програмістів. Наприклад, програмування зміни розміру фігури за допомогою смуг прокрутки, яке вимагало в "чистому" Windows складної обробки повідомлень в конструкції типу "case", в Delphi зводиться до написання однієї-єдиної рядки коду.

Для початку, помістіть два компонента ScrollBar на форму (знаходиться на сторінці "Standard") і встановіть властивість Kind першого компонента в sbHorizontal, а другого - в sbVertical. Перейдіть на сторінку "Events" в інспектор об'єктів і створіть заготовки методу для відгуку на подію OnChange для кожної смуги прокрутки. Напишіть в кожному з методів по одному рядку в такий спосіб:

procedure TForm1.ScrollBar1Change (Sender: TObject);

begin

Shape1.Width: = ScrollBar1.Position * 3;

end;

procedure TForm1.ScrollBar2Change (Sender: TObject);

begin

Shape1.Height: = ScrollBar2.Position * 2;

end;

Код, показаний тут, встановлює властивості Width і Height фігури TShape у відповідність з положенням "бігунка" на смугах прокрутки (співмножники 3 і 2 введені тільки для кращого розуміння).

Остання частина програми SHAPEDEM демонструє великі можливості мови Object Pascal, на основі якого побудований Delphi. Ви можете ввести елементи в список компонента ComboBox як в режимі проектування, так і при виконанні програми. При цьому в режимі проектування Ви можете просто ввести потрібні елементи в список Items, клацнувши маленьку кнопку з трьома крапками в правій частині рядка Інспектори Об'єктів, яка б показала ця властивість (Items).

57. Організація розгалужень при розробці програм.

Для програмування алгоритмів, що розгалужуються в мові Pascal використовуються спеціальні змінні типу boolean, які можуть приймати тільки два значення - true і false (так, ні), а також оператори if і case. Оператор if перевіряє результат логічного виразу, або значення змінної типу boolean, і організовує розгалуження обчислень.

Наприклад, якщо bl: boolean, x, y, u: integer, то фрагмент програми з оператором if може бути таким:

bl: = x> y;

if bl then u: = x-y;

else u: = x-y;

Оператор вибору case організовує розгалуження в залежності від значення деякої змінної перераховується типу.

Наприклад, якщо In: integer, то після виконання

case in of

0: u: = x + y;

1: u: = x-y;

2: u: = x-y;

else u = 0;

end;

відповідно до значення in обчислюється u. Якщо in = 0, то u = x + y, якщо in = 1, то u = xy, якщо in = 2, то u = x * y і, нарешті, u = 0 при будь-яких значеннях in відмінних від 0, 1 або 2.

При створенні програм в DELPHI для організації розгалужень часто використовуються компоненти у вигляді кнопок-перемикачів. Стан такої кнопки (включено - виключено) візуально відбивається на формі. На формі (рис.2.1) представлені кнопки-перемикачі двох типів (TCheckBox, TRadioGroup).

Компонент TCheckBox організовує кнопку незалежного перемикача, за допомогою якої користувач може вказати своє рішення типу так / ні. У програмі стан кнопки пов'язано зі значенням булевою змінної, яка перевіряється за допомогою оператора if.

Компонент TRadiogroup організовує групу кнопок - залежних перемикачів. При натисканні однієї з кнопок групи всі інші кнопки відключаються. У програму передається номер включеної кнопки (0,1,2, ..), який аналізується за допомогою оператора case.

58. Засоби організації та обробки подій.

Про всі відбуваються в системі, таких як створення форми, натискання кнопки миші або клавіатури і т. Д., Ядро Windows інформує вікна шляхом посилки відповідних повідомлень. Середа DELPHI дозволяє приймати і обробляти більшість таких повідомлень. Кожен компонент містить обробники повідомлень на сторінці Events інспектора об'єктів.

Для створення обробника події необхідно розкрити список компонентів у верхній частині вікна інспектора об'єктів і вибрати необхідний компонент. Потім, на сторінці Events, натисканням лівої кнопки миші, вибрати обробник і двічі клацнути по його лівій (білої) частини. У відповідь DELPHI активізує вікно тексту програми і покаже заготівлю процедури обробки вибраного події.

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

 
 подія  опис події
 OnActivate  Форма отримує цю подію при активації
 OnCreate  Виникає при створенні форми (компонент TForm). У обробнику цієї події слід задавати дії, які повинні відбуватися в момент створення форми, наприклад установка початкових значень
   
 OnKeyPress  Виникає при натисканні кнопки на клавіатурі. Параметр Key має тип Char і містить ASCII-код натиснутоюклавіші (клавіша Enter клавіатури має код # 13, клавіша Esc - # 27 і т. Д.). Зазвичай ця подія використовується в тому випадку, коли необхідна реакція на натискання однієї з клавіш
 OnKeyDown  Виникає при натисканні клавіші на клавіатурі. Оброблювач цієї події отримує інформацію про самій клавіші і стані клавіш Shift, Alt і Ctlr, а також про кнопці миші. Інформація про клавіші передається параметром Key, який має тип Word
 OnKeyUp  Є парним подією для OnKeyDown і виникає при відпуску раніше натиснутоюклавіші
 OnClick  Виникає при натисканні кнопки миші в області компонента
 OnDblClick  Виникає при подвійному натисканні кнопки миші в області компонента

59. Засоби організації і роботи з файлами.

Файл - це іменована область даних на зовнішньому фізичному носії. У Object Pascal розрізняють три види файлів в залежності від способу їх організації та доступу до елементів: текстові, типізовані і нетипізовані.

текстовий файл - Це файл, що складається з рядків. прикладом текстового файлу може служити файл вихідного тексту програми в DELPHI (розширення * .pas). Для роботи з текстовим файлом повинна бути описана відповідна файлова змінна: Var F: TextFile;.

типізовані файли мають строго задану їх описом структуру, коли всі елементи мають фіксований і однаковий розмір. Це властивість типізованих файлів дозволяє отримати доступ до будь-якого компонента файлу по його порядковому номеру. Елементами такого файлу є, як правило, записи. В описі файлової змінної вказується її тип: Var F: TStudent;.

нетипізований файл - Це файл, в якому дані не мають певного типу і розглядаються як сукупність електронних даних. Файлова змінна оголошується: Var F: File;.

Порядок роботи з файлами наступний:

. . .

AssignFile(F, 'Filename.txt'); // Зв'язування файлової змінної F

// З ім'ям дискового файлу "Filename.txt"

Rewrite(F); // Створення нового або відкриття (Reset(F);)

// Вже існуючого файлу

. . .

Read(F, Stud); // Читання даних з файлу або

// Запис (Write(F, Stud)) в файл

. . .

CloseFile(F); // Закриття файлу



TextOut Пише зазначений рядок тексту на канві, починаючи з вказаної позиції | Підпрограми роботи з файлами

Виділення елементів інтерфейсу яскравістю | Використання кольору при проектуванні ергономічного інтерфейсу | Тексти і діалоги | Основні принципи створення меню | Обробка помилок в формах вводу | BrushTBrush Визначає колір і стиль заповнення замкнутих фігур і фону. | Arc Малює дугу окружності або еліпса. | Draw Малює графічне зображення в зазначену позицію канви | FloodFill Зафарбовує поточної пензлем замкнуту область канви, певну кольором | Rectangle Малює прямокутник |

© um.co.ua - учбові матеріали та реферати