Середа, 01.05.2024, 08:12
Вітаю Вас Гість | Реєстрація | Вхід

Інформатика в Білицькій ЗОШ І - ІІІ ступенів №1

Меню сайту
Вхід на сайт
Наше опитування
Оцініть мій сайт
1. Відмінно
2. Непогано
3. Добре
4. Погано
5. Жахливо
Всього відповідей: 8
Друзі сайту
  • Білицька ЗОШ №1
  • Мої Білики
  • Урок Delphi 3

     

    Події Delphi

    ​Операційна система Windows - багатозадачна, тобто кілька програм в ній можуть функціонувати одночасно. Коли, наприклад, ми клацаємо по кнопці у вікні нашої програми, система Windows визначає, що відбулася подія саме в нашій програмі, і посилає їй повідомлення про це. Наша програма повинна відповідним чином відреагувати на нього. Для цього ми, як програмісти, повинні написати код-обробник цієї події. Таким чином, структура програми для Windows являє собою набір підпрограм, кожна з яких відповідальна за обробку конкретного події і викликається тільки при його виникненні. Зручність Delphiполягає в тому, що ми позбавлені необхідності отримувати повідомлення від Windows самі, Delphi це робить за нас. Кожен компонент має вражаючий набір подій, на які він може реагувати. Програміст сам визначає, які події в програмі потрібно обробляти.
     

    події Delphi

       Відкрийте наш проект з попереднього уроку. Клацніть на компоненті Edit1 .Він "з'явиться" в інспектор об'єктів. Подивіться: у Інспектора об'єктів дві вкладки: Properties (властивості) і Events (події). Перейдіть на вкладку Events. Щоб створити обробник потрібного події, потрібно двічі клацнути по ньому мишкою. А якщо розкрити список, що випадає, в ньому будуть перебувати вже готові обробники, які можуть підходити для цього компонента. Таким чином, один обробник може викликатися для обробки подій декількох компонентів.

       Змінимо нашу програму так, щоб текст на формі з'являвся прямо в момент його введення. У момент введення у Edit1 змінюється властивість Text - в ньому з'являється нова буква! Значить, скористаємося подією onChange (change - зміна (англ.)), Яке і відбувається в цей момент. Отже:

    1. Кількома двічі по onChange , і опиняємося усередині щойно створеного обробника.
    2. Надаємо властивості Caption компонента Label1 значення властивості Text компонента Edit1 , тобто робимо те ж, що і в минулому уроці: 

         Label1.Caption := Edit1.Text;

      Або просто копіюємо з обробника натискання кнопки.
    3. Запускаємо програму, все працює. Як бачимо, все дуже просто.

       Тепер розглянемо подія onClick . Як ви здогадуєтеся, це подія виникає при натисканні мишкою на компоненті. Скористаємося ним, щоб очищати рядок введення від уже введених символів. Ви самі вже повинні збагнути, що зробити. У обробнику потрібно привласнити властивості Text значення порожнього рядка. Рядок в Delphi утворюється висновком тексту в одинарні лапки (знаходяться на кнопці Е ): ' Так в Delphi утворюється рядок ' Значить, порожній рядок - це лапки без тексту: '' . Не повинно бути навіть пробілу, інакше він виявиться в рядку введення: Є інший спосіб, скористатися спеціально призначеним для цього методом компонента Edit, який так і називається Clear (очищення англ.):    Але подумайте про користувача, який буде працювати з вашою програмою. Йому повинно бути зручно. Якщо при введенні тексту він захоче щось виправити, і клацне мишкою в тому місці тексту, де потрібно внести зміну ?! І все зітреться! Тому краще використовувати подію onEnter , яке відбувається, коли ви "входите" в нього і компонент отримує фокус введення, або використовувати для очищення спеціальну кнопку і її подіяonClick .    Звичайно, у кожного компонента свій набір подій. Ми познайомилися з трьома з них:
        
       Edit1.Text:='';

       Edit1.Clear;

       Інші важливі події, які є майже у кожного візуального компонента:

    • onExit - виникає, коли компонент втрачає фокус введення;
    • onDblClick - виникає при подвійному натисканні мишкою по компоненту;
    • onKeyDown - коли при натисканні на кнопку на клавіатурі вона виявилася в нижньому положенні;
    • onKeyUp - коли при відпуску клавіатурній кнопки вона виявилася в верхньому положенні;
    • onKeyPress - виникає при натисканні на клавіатурну кнопку. Від подій onKeyDown іonKeyUp воно відрізняється типом використовуваного параметра Key ;
    • onMouseDown - коли при натисканні кнопки мишки вона виявилася в нижньому положенні;
    • onMouseUp - коли при відпуску кнопки мишки вона виявилася в верхньому положенні;
    • onMouseMove - виникає при переміщенні покажчика мишки над компонентом.

     

       На початку роботи будь-якої програми відбувається дуже важлива подія подія нашого основного компонента - Форми, onCreate . Воно відбувається перед появою Форми на екрані.Ця подія використовується для завдання властивостей тих елементів програми, які потребують в налаштуванні, наприклад, розміри і положення Форми на екрані. Якщо ви захочете зробити невидиму програму, можна прирівняти нулю ширину Width і висоту Height Форми. На етапі проектування зробити цього не можна, тому що це завадить роботі, тому робимо це за подієюonCreate:

       Form1.Width := 0;
       Form1.Height := 0;


    Додатково потрібно прибрати і заголовок Форми, вибравши в інспектор об'єктів параметр BorderStyle рівним None. Тепер Форма на екрані не з'явиться. Єдиним візуальним ознакою залишиться поява її "значка" на панелі завдань. Надалі я розповім, як позбутися і від нього.