Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Завершення виконання Delphi-програмиСодержание книги
Поиск на нашем сайте
Завершення виконання Delphi-програми, яка “зависла” Для завершення виконання проекту із середовища Delphi (це буває потрібно, якщо Delphi-програма “зависла”), потрібно виконати команду Прикладного Меню R un ® Program R e set або натиснути комбінацію клавіш Ctrl + F2 Лабораторна робота №1 Тема: Реалізація класу об’єктів. Інкапсуляція даних. Створення конструкторів, деструктора та функцій методів. Мета роботи: Навчитися описувати структуру класів, полів та властивостей засобами ООП. Завдання 1. Записати опис структури класу із трьома полями довільних типів, клас походить від класу: 1-5. TObject 6-10. TPersistent 11-15. TComponent 16-20. TControl 21-25. TWinControl 26-30. TCustomControl 2. Здійснити опис трьох довільних полів класу (клас згідно варіанту завдання 1). 3. Здійснити опис трьох довільних властивостей класу (клас згідно варіанту завдання 1). Теоретичні відомості В мові Object Pascal класи є спеціальними типами даних і використовуються для опису об'єктів. Відповідно об'єкт, що має тип якого-небудь класу, є екземпляром цього класу або змінною цього типу. Клас є особливим типом запису, має в своєму складі такі елементи (члени), як поля, властивості і методи. Поля класу аналогічні полям запису і служать для зберігання інформації про об'єкт. Методами називаються процедури і функції, призначені для обробки полів. Властивості займають проміжне положення між полями і методами. З одного боку, властивості можна використовувати як поля, наприклад, привласнюючи їм значення за допомогою оператора привласнення; з другого боку, усередині класу доступ до значень властивостей виконується методами класу. Опис класу має наступну структуру: Туре <Ім’я класу> = class (<Ім’я батьківського класу>) private <Приватні описи>; protected <Захищені описи>; public <Загальнодоступні описи>; published <Опубліковані описи>; end; В приведеній структурі описами є оголошення властивостей, методів і подій. Приклад. Опис класу. type TColorCircle = class(TCircle); FLeft FTop FRight FBottom: Integer; Color: TColor; end; Тут клас TColorCircle створюється на основі батьківського класу TCircle. В порівнянні з батьківським, новий клас додатково містять чотири поля типа integer і одне поле типу TColor. Якщо як батьківське використовується клас Tobject, який є базовим класом для всіх класів, то його ім'я після слова class можна не указувати. Тоді перший рядок опису виглядатиме так: type TNewClass = class Об'єкти як екземпляри класу оголошуються в програмі в розділі var як звичайні змінні. Наприклад var CCirclel: TColorCircle; CircleA: TCircle; Як і у разі записів, для звернення до конкретного елемента об'єкту (полю, властивості або методу) указується ім'я об'єкту і ім'я елемента, розділені крапкою, тобто ім'я елемента є складовим. Приклад. Звернення до полів об'єкту. var CCirclel: TColorCircle; Begin ... CCirclel.FLeft:=5; CCirclel.FTop:=1; ... end; Тут приведено безпосереднє звернення до полів об'єкту, звичайно це робиться за допомогою методів і властивостей класу. Поле класу є даними, що містяться в класі. Поле описується як звичайна змінна і може належати до будь-якого типу. Приклад. Опис полів. type TNewClass = class(TObject) private FCode: integer; FSign: char: FNote: string; end; Тут новий клас TNewClass створюється на основі базового класу Tobject і одержує на додаток три нові поля Fcode, FSign і FNote, має, відповідно, цілочисельний, символьний і рядковий типи. Згідно прийнятій угоді, імена полів повинні починатися з префікса f (від англ. Field - поле). Властивості реалізують механізм доступу до полів. Кожній властивості відповідає поле, що містить значення властивості, і два методи, що забезпечують доступ до цього поля. Опис властивості починається із слова property, при цьому типи властивості і відповідного поля повинні співпадати. Ключові слова read і write є зарезервованими усередині оголошення властивості і служать для вказівки методів класу, за допомогою яких виконується читання значення поля, пов'язаного з властивістю, або запис нового значення в це поле. Приклад. Опис властивостей. type TNewClass = class(TObject) private FCode: integer; FSign: char: FNote: string; published property Code: integer read FCode write FCode; property Sign: char read FSign write FSign; property Note: string read FNoter write FNote; Для доступу до полів Fcode, FSign і Fnote, які описані в захищеному розділі і неприступні іншим класам, використовуються властивості code, sign і Note, відповідно. Метод є підпрограмою (процедуру або функцію), що є елементом класу. Опис методу схожий на опис звичайної підпрограми модуля. Заголовок методу розташовується в описі класу, а сам код методу знаходиться в розділі реалізації. Ім'я методу в розділі реалізації є складовим і включає тип класу. Наприклад, опис методу Button1Click виглядатиме так: Interface ... type TForml = class(TForm) Buttonl: ТВutton; procedure ButtonlClick(Sender: TObject); end; ... implementation ... procedure TForml.ButtonlClick(Sender: TObject); begin Close; end; Метод, оголошений в класі, може викликатися різними способами, що залежить від виду цього методу. Вид методу визначається модифікатором, який указується в описі класу після заголовка методу і відділяється від заголовка крапкою з комою. Приведемо деякі модифікатори: virtual – віртуальний метод; dynamic – динамічний метод; override – метод, що перевизначається; message – обробка повідомлення. За умовчанням всі методи, оголошені в класі, є статичними і викликаються як звичайні підпрограми. Методи, які призначені для створення або видалення об'єктів, називаються конструкторами і деструкціями, відповідно. Описи даних методів відрізняються від опису звичайних процедур тільки тим, що в їх заголовках стоять ключові слова constructor і destructor. Як імена конструкторів і деструкції в базовому класі Tobject і інших багато кого класахвикористовуються іменаCreate і Destroy. Програмістам, що давно працюють в Windows, напевно, не потрібно пояснювати значення терміну "подія". Саме це середовище і написані для неї програми управляються подіями, що виникають в результаті дій користувача, апаратури комп'ютера або інших програм. Звісточка про настання події – це повідомлення Windows, отримане так званій функцією вікна. Таких повідомлень сотні, і, за великим рахунком, написати програму для Windows – значить визначити і описати реакцію на деякі з них. Працювати з такою кількістю повідомлень, навіть маючи під рукою довідник, нелегко. Тому однією з великих переваг Delphi є те, що програміст позбавлений від необхідності працювати з повідомленнями Windows (хоча така можливість в нього є). Типових подій в Delphi – не більше двох десятків, і всі вони мають просту інтерпретацію, що не вимагає глибоких знань середовища. Розглянемо, як реалізовані події на рівні мови Object Pascal. Подія – ця властивість процедурного типу, призначена для створення призначеної для користувача реакції на ту або іншу вхідну дію: property OnMyEvent: TMyEvent read FOnMyEvent write FOnMyEvent; Питання для самоконтролю:
Лабораторна робота №2 Тема: Робота у середовищі Delphi. Вивчення призначення файлів проекту. Мета роботи: Ознайомитися із інтегрованим середовищем програмування Delphi та розглянути будову його інтерфейсу. Навчитись працювати з панелями інструментів в середовищі Delphi. Розробка проекту «Діалог» Завдання. Створити програму, яка виконуватиме такі дії: користувач вводить своє ім’я, наприклад «Олег», та натискає на клавішу Enter, після чого з’являється запитання «Олег, чи ти полюбляєш займатися спортом?». Якщо далі буде натиснуто кнопку «Так», то з’являється фраза «Молодець! Зі спортом треба дружити!». Якщо ж буде натиснуто кнопку «Ні», то з’являється фраза «Чому? Ти не хочеш бути здоровим?». Для виходу з програми необхідно клацнути на кнопці «Вихід» (мал. Діалог). Мал. Діалог Аналіз проекту Для організації діалогу необхідно мати об’єкт, який дозволить ввести ім’я. для цього скористаємось компонентом Edit (вкладка палітри компонентів Standart) – однорядкове поле введення. Цей компонент призначений для введення, відображення та редагування одного текстового рядка. Для оздоблення вікна програми (розміщення малюнка) скористаємось компонентом Image (вкладка палітри компонентів Additional) – зображення. Цей компонент призначений для відображення малюнків. ХІД РОБОТИ Алгоритм розробки проекту 1. Створити папку С:\Delphi\lab_2. 2. Завантажити середовище візуального програмування Delphi. 3. Розмістити на формі візуальні компоненти Label1, Label 2, Label3, Edit1, Button1, Button2, BitBtn1, Image1, встановити значення властивостей компонентів, описати порядок опрацювання подій згідно з таблицею.
Пояснення. Компонент Edit має властивість text, що призначена для збереження введеної інформації. Початкове значення цієї властивості (в цьому проекті) – порожній рядок. 4.Зберегти проект у папці С:\Delphi\lab_2. 5.Запустити проект та перевірити правильність його виконання. Завдання для самостійного виконання 1.Зробити кнопки «Так» та «Ні» допустимими тільки після введення в поле Edit1 імені та натискання клавіші Enter. Підказка. Значення властивості Enabled кнопок «Так» та «Ні» встановити рівними False, а в процедуру TForm1.Edit1KeyPress додати оператори (зверніть увагу на операторні дужки в операторі умовного переходу): Button1.Enabled:=True; Button2.Enabled:=True; 2.Очистити поле Edit1, Label2, Label3 для забезпечення можливості повтору діалогу. Кнопки «Так» та «Ні» зробити недоступними. Підказка. Розмістити на формі ще одну кнопку BitBtn, встановити для неї значення властивості Kind (вид)=bkRetry. Створити для цієї кнопки процедуру опрацювання події OnClick з тілом: Label2.Caption:=’’; Label3.Caption:=’’; Edit1.Text:=’’; Button1.Enabled:=True; Button2.Enabled:=True;
Підказка. Додати до вищевказаної процедури команду Form1.ActiveControl:=Edit1.
Питання для самоконтролю:
3. Які є пункти головного меню? 4. Який пункт використовують для закриття чи відкриття файлу-проекту? 5. Яка клавіша використовується для переходу між вікнами форми? 6. Який файл не входить до Delphi - проекту? 7. Яким оператором завжди закінчується модуль проекту *.pas? 8. Яка клавіша використовується для активізації головного меню?
Лабораторна робота №3 Тема: Властивості форми у середовищі Delphi. Мета роботи: Навчитись використовувати властивості компоненти Form.
Завдання 1. Створити новий проект. 2. Змінити іконку форми, а назву форми змінити на своє прізвище. 3. Помістити на формі компоненту Button. 4. Дати кнопці заголовок назву кольору і написати код програми, який натисненням на цю кнопку реалізує зміну кольору форми на вказаний. 5. За допомогою властивості Cursor, зробити вигляд покажчика миші при розміщенні його в області форми у вигляді руки. 6. Здійснити подвійне натискання на формі і у процедурі, яка оголошена написати коди програми для переміщення форми у лівий верхній кут. 7. Помістити на формі ще одну компоненту Button, і написати код програми, який натисненням на цю кнопку реалізує зменшення розмірів форми до 500*500 пікселів. 8. Помістити на формі ще дві компоненти Button і назвати їх Maximized і Normal, і у процедурі оброки натиснення кнопки написати коди програми для збільшення форми на весь екран і зменшення до нормального стану відповідно; для цього використати властивість WindowState.
Теоретичні відомості Властивість color типу TColor визначає колір фону (поверхні) компоненту. Тип TColor описаний таким чином: type TColor = -(COLOR_ ENDCOLORS +1).. $02FFFFFF; Значення властивості Color є чотирьохбайтовим шістнадцятирозрядним числом. Старший байт вказує палітру і звичайно рівний коду $00, що відповідає відображенню кольору, найближчого до заданого властивістю Color.
Таблиця 1. Константи основних кольорів
Всі константи, окрім clDkGray і clLtGray, можна вибирати за допомогою Інспектора об'єктів. Додатково під час виконання додатку можна використовувати константи clDkGray і clLtGray, які дублюють значення clGray і clSilver, відповідно. Властивість Cursor типу TCursor визначає вид покажчика миші при розміщенні його в області компоненти. Delphi пропонує більше двадцяти запропонованих видів покажчика миші і відповідних їм констант, основними з яких є наступні:
ü crDefault - покажчик має вигляд за замовчуванням (звичайна стрілка); ü crNone - покажчик не видно; ü crArrow - покажчик має вид стрілки; ü crCross - покажчик має вид хреста; ü crDrag - покажчик має вид стрілки з листом паперу; ü crHourGlass - покажчик має вид пісочного годинника. Властивості Height і Width типу Integer вказують відповідно вертикальний і горизонтальний розміри компоненти в пікселях. Властивості Left і Тор типу Integer визначають координати лівого верхнього кута компоненти щодо його контейнера, що містить, наприклад, форми або панелі. Відзначимо, що форма також є компонентом, для неї координати відлічуються від лівого верхнього кута екрану монітора.
Питання для самоконтролю: 1. Які є вкладки вікна «інспектора об’єктів»? 2. Яка клавіша використовується для відкриття «інспектора об’єктів»? 3. Яку клавішу використовують для багаторазового використання одного і того же елемента керування в вікні форми? 4. Об’єкт Label використовується? 5. Об’єкт Image використовується? 6. Об’єкт Button використовується? 7. Які команди можна використовувати для запуску програми project1? Лабораторна робота №4 Тема: Опис типів. Створення процедур та функцій. Мета роботи: Навчитись описувати типи та змінні, а також створювати процедури та функції в Delphi.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-18; просмотров: 385; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.17.251 (0.009 с.) |