8 клас урок 39

33
8 За новою програмою Урок 39 Елементи для введення даних: текстове поле, прапорець, випадаючий список.

Upload: -

Post on 03-Mar-2017

98 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

Page 1: 8 клас урок 39

8 За новою програмою

Урок 39

Елементи для введення даних:

текстове поле, прапорець,

випадаючий список.

Page 2: 8 клас урок 39

8ЗапитанняРозділ 6

§ 6.5

1. Який вигляд мають команди повного і неповного розгалуження в Object Pascal і як вони виконуються?

2. Які властивості напису і поля ви знаєте, що визначають їх значення, як їх можна змінити?

3. Для чого використовувалися в програмах, з якими ви працювали, прапорці, поля з розкривними списками, перемикачі?

Page 3: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Розглянемо компонент прапорець. Значення деяких його властивостей, зокрема властивості Checked (англ. checked - перевірено), можуть бути використані в логічному виразі в команді розгалуження.

Для розміщення на формі прапорця потрібно двічі клацнути на кнопці TCheckBox (англ. checkbox - коробка для перевірки) на вкладці Standard з компонентами.

Page 4: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.1

Після цього прапорець з'явиться у верхній лівій частині форми, а його ім'я додасться до списку компонентів проекту в полі Components вікна Інспектор об'єктів.

За потреби прапорець можна перетягнути в будь-яке інше місце форми.

Page 5: 8 клас урок 39

8Поле, його властивостіта обробники подій для поля

Властивості прапорця Caption, Top, Left, Name, Color, Enabled, Visible, Font, Width, Height аналогічні до відповідних властивостей напису.

Розділ 6 § 6.1

Зокрема, значення властивостей Width і Height прапорця визначаються довжиною тексту праворуч від прапорця і розміром шрифта, яким виведено цей текст.

Page 6: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Текст прапорця є значенням властивості Caption прапорця. Цей текст, як і для напису, можна вводити безпосередньо на вкладці Властивості в полі Caption, а можна вводити у вікні Редактор рядків, яке відкривається вибором кнопки праворуч від поля Caption.

Page 7: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Властивість Checked прапорця може набувати одне з двох значень:

true false

позначку прапорця встановлено, прапорець

вибрано

позначку прапорцяне встановлено,

прапорець не вибрано

Page 8: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Якщо на формі розміщено кілька прапорців, то серед них можна:

вибрати один,

вибрати кілька,

не вибрати жодного,

вибрати всі.

Якщо прапорець вибрано, то у нього всередині з'являється позначка

Page 9: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

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

Page 10: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Розглянемо, як можна використати прапорці для реалізації розгалуження.

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

Page 11: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Для цього розмістимо на формі кнопку і три прапорці. Під час розміщення прапорців на формі для кожного з них за замовчуванням значення властивості Checked встановлюється false.

Оскільки під час виконання проекту жодний прапорець може бути не вибраний, то доцільно залишити такі початкові значення властивості Checked для всіх прапорців.

Page 12: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

Створимо процедуру для опрацювання події Click для кнопки і до її тексту помістимо такі три послідовні (не вкладені одна в одну) команди розгалуження:

If CheckBox1.CheckedThen Form1.Caption := 'Заголовок змінений';If CheckBox2.Checked Then Form1.Color := clRed;If CheckBox3.Checked

Then beginForm1.Width := 500;Form1.Height := 200;

end;

Page 13: 8 клас урок 39

8Прапорці та їх використанняРозділ 6

§ 6.5

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

Page 14: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Ще одним компонентом, значення властивостей якого можна використати в логічному виразі в команді розгалуження, є поле з розкривним списком.

Для розміщення на формі поля з розкривним списком потрібно двічі клацнути на кнопці TComboBox (англ. combobox - поле зі списком) на вкладці Standard з компонентами.

Page 15: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Після цього поле з розкривним списком з'явиться у верхній лівій частині форми, а його ім'я додасться до списку компонентів проекту в полі Components вікна Інспектор об'єктів.

За потреби поле з розкривним списком можна перетягнути в будь-яке інше місце форми.

Page 16: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Властивості Top, Left, Height, Width, Name, Color, Enabled, Visible, Font, Text поля з розкривним списком повністю аналогічні до відповідних властивостей поля.

Page 17: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Для додавання рядків на етапі розробки інтерфейсу потрібно:

1

на вкладці Властивості вікна Інспектор об'єктів в рядку Items клацнути кнопку

2

ввести потрібну інформацію у вікні редактора вмісту Редактор рядків;

3 клацнути кнопку ОК.

Page 18: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Під час виконання проекту можна відкрити цей список і вибрати будь-який його рядок. При цьому відповідний текст потрапляє в поле і стає значенням властивості Text поля з розкривним списком.

Розглянемо, як можна використати поле з розкривним списком у команді розгалуження.

Page 19: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

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

або заголовок або колір або розміри

Розмістимо на формі поле з розкривним списком і створимо відповідний список.

Page 20: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

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

Залежно від вибраного рядка змінюватимуться або заголовок форми, або її колір, або її розміри.

Page 21: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Виберемо перший пункт списку Заголовок і клацнемо кнопку. Тоді під час виконання процедури значення логічного виразу (ComboBox1.Text = 'Заголовок') = true, а значить виконуватиметься команда

Form1.Caption := 'Заголовок змінений', яка змінить заголовок вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.

Page 22: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Якщо вибрати другий пункт списку Колір і клацнути кнопку, то під час виконання процедури значення логічного виразу (ComboBox1.Text = 'Заголовок') = false. Тоді обчислюється значення логічного виразу

ComboBox1.Text = 'Колір', і воно дорівнює true. А значить виконуватиметься команда Form1.Color := clRed, яка змінить колір вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.

Page 23: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

Якщо вибрати третій пункт списку Розміри і клацнути кнопку, то під час виконання процедури значення логічного виразу (ComboBox1.Text = 'Заголовок') = false. Після цього обчислюється значення логічного виразу ComboBox1.Text = 'Колір', і воно теж дорівнює false. Після цього обчислюється значення логічного виразу ComboBox1.Text = 'Розміри’, і воно дорівнює true. А значить виконуватимуться команди Form1.Width := 600 і Form1.Height := 300, які змінять ширину і висоту вікна, після чого виконання команди розгалуження і всієї процедури закінчиться.

Page 24: 8 клас урок 39

8Поле з розкривним спискомта його використанняРозділ 6

§ 6.5

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

Page 25: 8 клас урок 39

8Розгадайте ребусРозділ 6

§ 6.5

Прапорець

Page 26: 8 клас урок 39

8Дайте відповіді на запитання

1. Для чого використовують прапорці?2. Які значення може мати властивість Checked для

прапорця?3. Для чого використовують поле з розкривним

списком?

Розділ 6 § 6.5

4. Як потрібно записувати команди розгалуження, у яких використовується значення властивості Checked для прапорців?

5. Як доцільно записати команди розгалуження, у яких використовуються значення властивостей поля з розкривним списком?

Page 27: 8 клас урок 39

8Працюємо за комп’ютером

Сторінка212-213

Розділ 6 § 6.5

Page 28: 8 клас урок 39

8Завдання 4. 

Скласти програму, в якій реалізовано головоломку Лойда: із заданого набору чисел вибрати ті, сума яких дорівнює 50.

Page 29: 8 клас урок 39

8

1. Створіть новий проект. 2. Додайте на форму десять компонентів CheckBox (див. рисунок). Властивостям Caption компонентів CheckBox надайте значень з набору чисел, запропонованих С. Лойдом: 25, 27, З, 12, 6, 15, 9, 30, 21, 19.

Page 30: 8 клас урок 39

83. Додайте на форму два компоненти Label. Властивості Caption компонента Label1 надайте значення «Сума чисел:». Компонент Label2 призначений для виведення суми чисел, які відповідають вибраним прапорцям.

4. Опишіть змінну S як глобальну:var Form1:TForm1;S: Integer;

Page 31: 8 клас урок 39

84. Створіть процедуру обробки події OnCreate для форми.5. Змінна S набуває значення 0 при завантаженні форми:procedure TForm1.FormCreate(Sender: TObject);beginS := 0;end;6. Створіть спільний для всіх прапорців обробник події OnCIick. У програмному коді реалізується такий алгоритм: якщо прапорець установлений, відповідне число додається до суми S, якщо прапорець скинутий, відповідне число віднімається від суми S. Після цього значення суми виводиться в напис І.аЬеІ2.procedure TForm1.CheckBox1Click(Sender: TObject);beginwith (Sender as TCheckBox) do beginIf Checked ThenS := S + StrToInt(Caption)Else s := S – StrToInt(Caption);end;Label2.Caption := IntToStr(S);end;7.Запустіть проект. Спробуйте розв’язати головоломку.

Page 32: 8 клас урок 39

8Домашнє завдання

Проаналізувати§ 6.5, ст. 207-213

Розділ 6 § 6.5

Page 33: 8 клас урок 39

8Дякую за увагу!

За новою програмою

Урок 39