Компонент ComboBox - інформатика, уроки

Конспект уроку із презентацією Компонент ComboBox. Мова програмування Visual Basic 6.0 Цельурок: Знайомство з компонентом ComboBox. Виробляти вміння та навички застосування компонента ComboBox при створенні програм. Під час вивчення цієї теми учні створюють невеликий ігровий додаток, що дозволяє автоматично складати жартівливі пропозиції.

Перегляд вмісту документа «10 клас Компонент ComboBox»

Виробляти вміння та навички застосування компонентаComboBoxпри створенні додатків.

Прищеплювати інтерес до предмета, виховувати самостійність у роботі.

Повторити відомі учням компоненти.

Навіщо вони служать, як застосовуються?

Пояснення нового матеріалу.

Постановка задачі.Скласти програму, яка вміє складати пропозиції.

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

Робота над створенням проекту.

Запустимо систему VB та створимо новий проект. Зберігши його під назвою письменник.

На формі розмістимо три компонентиComboBox(Поле зі списком) та командну кнопкуCommandButton.

Визначимо тип списку. ВластивістьStyle→2 – Dropdown List(Список, що розкривається). Виконати цю операцію для всіх трьох списків.

Д

інформатика
інформатика
combobox
для кожного зі списків необхідно задати вміст, тобто. набір пунктів, що входять до них. (Вводимо вміст списку на панелі властивостей)

Список тварин Список прислівників Список дій (дієслова)

Після клацання на кнопці, що розкривається, в першому вільному рядку списку з'являється курсор. Сюди запроваджується текст пункту. Якщо після введення натиснути клавішуEnter, то список закриється. Тому для завершення введення пункту треба використовувати комбінацію клавіш+- тоді список залишиться відкритим, а курсор переміститься на наступний рядок. Після завершення введення списку натиснутиEnter.

КнопкаCommandслужить для перемішування списків:Command1 →Caption →Випадковий вибір.

Наша програма майже готова. Якщо її запустити, хоча ми не написали жодного рядка коду, проте можна вибирати те, що захочемо. Але є два недоліки:

По-перше, спочатку списки порожні, що неправильно.

По-друге, не працює командна кнопка.

Зупинимо програму за допомогою командиRun → End. І приступимо до ручного програмування.

Перший вибір значення зі списку має виконуватися сам, без участі, тобто. автоматично. Таким чином, ми повинні змусити програму реагувати на якусь подію. Але яке саме? Воно може бути пов'язані зі списками, тобто. Повинне статися ще до того, як програма намалює їх на екрані. Воно може бути пов'язані з мишею, тобто. має відбутися до появи на екрані будь-яких елементів керування. Така подія є. Воно пов'язане із формою. Форма - це також об'єкт, що має властивості. У неї є подіязавантаження, яка настає в момент появи вікна майбутньої програми, але до того, як у ньому з'являться елементи керування. Ця подія - Load - завантаження.

Те, який елемент списку на екрані, визначає властивістьListIndex(Індекс за списком). Нумерація пунктів усписки починається з нуля. Індекс першого елемента має значення 0.

Як ви вважаєте, як показати перший елемент кожного списку?

Private SubForm_Load()

Можна вибрати інші пункти списку.

Як запрограмувати несподіванку? Для випадкового вибору системіVBє спеціальна функціяRND. У більшості систем програмування вона робить одну і ту ж дію: Повертає випадкове дійсне число, в діапазоні від 0 до 1. Але нам таке невелике число не потрібно. Наше завдання – отримати випадковий індекс списку. Для цього є стандартний прийом – треба помножити значення функціїRNDна кількість елементів списку і взяти від числа, що вийшов, цілу частину.

Допустимо у списку міститься 5 елементів. Щоб знайти індекс випадкового елемента, треба взяти цілу частину від твору5*RND.

А як узяти цілу частину твору? Для цього у мові програмуванняVBє функціяINT. Її назва походить від словаIntegerціле число. Наприклад, якщо у списку 5 елементів, то індекс випадкового елемента можна обчислити за формулою

Все це добре, але звідки наша програма дізнається, скільки елементів знаходиться в кожному з її списків? Сьогодні в нашому списку 7 елементів, а завтра ми додамо до нього якогось звіра чи двох і всю програму доведеться заново переписувати?

Ні, нічого переписувати не доведеться, якщо скористатися властивістюListCountоб'єктаComboBox. Ця властивість зберігає кількість елементів у списку.

Таким чином, щоб знайти випадковий елемент для першого списку, нам треба просто обчислити вираз

Це все! Тепер ми знаємо достатньо, щоб запрограмувати дію кнопкиВипадковийвибір.

Спробуймо запрограмувати кнопкуВипадковий вибір.

Private SubCommand1_Click()

Combo1.ListIndex = Int (Rnd * Combo1.ListCount)

Combo2.ListIndex = Int (Rnd * Combo2.ListCount)

Combo3.ListIndex = Int (Rnd * Combo3.ListCount)

Давайте знову запустимо програму і переконаємося, що помічені раніше помилки та недоліки виправлені. Відразу після запуску списки не виглядають порожніми, а командна кнопка працює саме так, як ми хотіли. Чи можна вважати, що програма працює правильно? Загалом так, але в ній все-таки залишився ще один недолік. Якщо запустити кілька разів програму і натискаючи на кнопкуВипадковий вибір,можна помітити, що послідовність фраз після кожного запуску точно повторюється.

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

Щоб послідовність чисел, які створює функція RND, була більш випадковою, тобто. починала роботу щоразу з різного числа, необхідно в програму вставити лише один оператор:

Randomize Timer

Додайте його до початку вже існуючої процедури Form_Load.

Тепер наша програма справді готова.

Private SubCommand1_Click()

Combo1.ListIndex = Int (Rnd * Combo1.ListCount)

Combo2.ListIndex = Int (Rnd *Combo2.ListCount)

Combo3.ListIndex = Int (Rnd * Combo3.ListCount)

Private SubForm_Load()

Randomize Timer

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

Е

combobox
якщо вийти з програми, а потім запустити її знову, послідовність випадкових фраз буде іншою.

Робота з комп'ютером. (Відбувається у процесі пояснення теми.)

Змінити програму, доповнивши її іменами прикметниками та доповненнями, або створити свою програму з використанням компонентів ComboBox.

Перегляд вмісту презентації «компонент ComboBox»

уроки

ComboBox (Поле зі списком)

компонент

Властивості компонента ComboBox

combobox

Властивості компонента ComboBox

списку

Заповнення списку Combo1

уроки

Заповнення списку Combo2

combobox

Заповнення списку Combo3

списку

Властивості компонента ComboBox

  • ListIndex (Індекс за списком) – повертає порядковий номер вибраного значення зі списку
уроки

Як запрограмувати несподіванку?

списку

Властивості компонента ComboBox

  • ListCount - зберігає кількість елементів, що є у списку
компонент

  • Randomize Timer
компонент

  • Private SubCommand1_Click()
  • Combo1.ListIndex = Int (Rnd * Combo1.ListCount)
  • Combo2.ListIndex = Int (Rnd * Combo2.ListCount)
  • Combo3.ListIndex = Int (Rnd * Combo3.ListCount)
  • End Sub
combobox

  • Private Sub Form_Load()
  • Randomize Timer
  • Combo1.ListIndex = 0
  • Combo2.ListIndex = 0
  • Combo3.ListIndex = 0
  • End Sub