Четверг, 18.04.2024, 10:47
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Тема. Складання та виконання алгоритмів з елементами управління для завдання логічного значення величини.
          Елементи для введення даних: прапорець, перемикач.

Під час роботи з різними програмами користувачеві досить часто доводиться робити вибір певних елементів або налаштувань із запропонованих у діалоговому вікні. Ми ознайомимося з компонентами RadioButton (перемикач) і CheckBox (прапорець), які дозволяють робити вибір різних можливостей або режимів роботи.

Для реалізації розгалуження в проекті можна використати елементи управління:

Дані елементи можуть набувати один із двох виглядів: 
  Увімкнений       Не увімкнений

Тому за їх допомогою у програмний код можна передати логічне значення:
                           True — увімкнений  False —не увімкнений

Прапорець CheckBox

Перемикач RadioButton

 

CheckBox

Окрім стандартних властивостей, таких як Caption, Font та інших, які ви вже використовували для інших елементів управління, компонент CheckBox має особливі.

Checked
Зміна стану прапорця:

  • якщо значення цієї властивості True, то прапорець увімкнений;
  • якщо значення властивості False, то прапорець не увімкнений .

Значення змінюється автоматично, хоча його також можна змінити у програмному коді

State
Стан прапорця.
Дає змогу задавати стан увімкнення прапорця за одним із параметрів:

  • увімкнений cbСhecked,
  • не увімкнений cbUnChecked,
  • проміжний стан (сірий) cbGrayed

З елементом управління CheckBox пов'язані події:

OnClick

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

OnChange

Також виникає, коли користувач вмикає чи вимикає прапорець.
На відміну від події OnClick, яка відбувається лише під час клацання на прапорці, подія OnChange відбувається в будь-якому разі, коли змінюється стан прапорця — якщо користувач мишею увімкнув-вимкнув прапорець, чи якщо така зміна передбачена у програмному коді.

Зміна передбачена у програмному коді, що виконується після натиснення деякої кнопки, за допомогою команди:

ChB1.Checked:= not ChB1.Checked;

Тоді при натисненні на таку кнопку стан прапорця зміниться на протилежний — відбудеться OnChange , а подія ОnСlіск — ні, адже мишею на прапорці не клацали.

Щоб додати до програмного коду процедуру опрацювання однієї з цих подій, можна двічі клацнути на ній у таблиці вікна Інспектор об'єктів.

RadioButton

Властивість Checked елемента управління RadioButton, яка визначає стан перемикача, не може бути змінена у програмному коді, на відміну від аналогічної в елемента управління CheckBox.

Вправа 3.  Складіть проект Замовлення квітів у середовищі Lazarus для оформлення електронного замовлення квітів за зразком.

     
 

У проекті натиснення кнопки Оформити замовлення викликає виведення відповідного тексту в текстовому полі, яке захищене від змін, а натиснення кнопки Завершити – закриває вікно форми.

  1. Сплануйте проект. Передбачте, які об'єкти будуть використані на екранній формі та які події будуть відбуватись із ними.
  2. Відкрийте середовище Lazarus, створіть новий проект і збережіть його складові в папку Замовлення_квітів. Змініть властивості об'єкта Form1, розмістіть на формі потрібні об'єкти та надайте значень їх властивостям. Візьміть до уваги, що для всіх об'єктів використовується властивість шрифта–BookmanOldStyle, розмір – 14. Стиль шрифта визначте за малюнком.
  3. Створіть процедуру опрацювання події: натиснуто кнопку Оформити замовлення. У вікні редактора коду введіть код:

  4. Створіть процедуру опрацювання події натиснення кнопки Завершити. Для цього використайте метод Close.
  5. Запустіть проект на виконання. Перевірте, чи відповідають умові завдання дії, пов'язані з об'єктами управління екранної форми. Якщо є помилки, –виправте їх.
  6. Завершіть роботу із проектом і середовищем програмування.

procedure TForm1.BitBtn1Click(Sender: TObject);
  var k1, k2, k3, k4, k5, p1, p2, p3 : boolean;      s, t : string;

begin
    k1 := CheckBox1.Checked;  { логической переменной k1 присваивается значение Checked (false / true)   элемента  CheckBox1  и т.д.}
    k2 := CheckBox2.Checked;
    k3 := CheckBox3.Checked;
    k4 := CheckBox4.Checked;
    k5 := CheckBox5.Checked;

    p1 := RadioButton1.checked; { логической переменной р1 присваивается значение Checked (false / true)    элемента                                                                     RadioButton1  и т.д. }

   p2 := RadioButton2.checked;
   p3 := RadioButton3.checked;

    s := ' ';

    if k1 then s := s +  checkbox1.caption + ' ';   { если значение логической переменной k1 - true,     к значению строковой                               переменной s      присоединяется значение свойства  caption элемента  checkbox1  и т.д.}

    if k2 then s := s +  Checkbox2.caption + ' ';
    if k3 then s := s +  Checkbox3.caption + ' ';
    if k4 then s := s +  Checkbox4.caption + ' ';
    if k5 then s := s +  Checkbox5.caption + ' ';

    if p1 then t :=  ' в корзинке ';   {  если значение логической переменной р1 - true,  строковой переменной t присваивается                                        значение - в корзинке и т.д. }

    if p2 then t :=  ' в обычной упаковке ';
    if p3 then t :=  ' в особенной упаковке ';

    label1.Caption := 'Вы выбрали ' + s +  #13 + t; {формирование значения  (текстового сообщения ) свойства                                                             Caption надписи( метки) label1, #13 - переход на следующую строку при выводе текста в надпись}
    end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  close;
  end;

 
                Групи перемикачів (radioGroup) та групи прапорців (CeckGroup)
               Додавання форм в проект
               Список, що розкривається

 

Форма входа
Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz