7.2. Використання списків.

Види списків.

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

Об'єкти список (ListBox) і поле зі списком (ComboBox) призначені для завдання й обробки динамічних списків даних. Такі списки зручні для вибору потрібних команд з меню, перегляду певних впорядкованих даних та інше. Способи їх використання практично однакові. Різниця лише полягає у тому, що поле зі списком є комбінацією елементів управління список і текстове поле. Об'єкти містять поле List, що власне задає список даних. Фактично ця властивість являє собою масив рядкових величин. При виборі якого-небудь елементу списку його номер присвоюється властивості ListIndex. Загальна кількість елементів списку міститься у властивості ListCount. Крім цього, об'єкт поле зі списком має властивість Text, що відображає обране значення. В текстовому полі такого списку можна також вводити інформацію.

Для введення значень у список на етапі проектування форми у вікні властивостей необхідно вибрати властивість List елемента управління , увести значення і натиснути комбінацію Ctrl+Enter для введення наступного значення. Для закінчення введення списку необхідно натиснути клавішу Enter. Для введення значень на етапі виконання програми необхідно присвоїти значення об'єкта як елементам одномірного масиву.

Приклад

Lst1.list(0)=”Оператор”

Lst1.list(1)=”Команда”

Lst1.list(2)=”Програмування”

Lst1.list(3)=”Алгоритмізація”

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

Для зміни списку використовуються методи AddItem, RemoveItem, Clear. Метод AddItem призначений для додавання нового елементу в список. Формат використання методу:

Об'єкт.AddItem елемент, індекс

де

об'єкт – ім'я відповідного елементу управління типу список,

елемент – значення, що додається в список,

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

Метод RemoveItem призначений для видалення елементу зі списку . Формат використання методу:

Об'єкт.RemoveItem індекс

де

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

Метод Clear призначений для видалення всіх елементів списку (очистки списку). Формат використання методу:

Об'єкт.Clear

Приклади:

Lst1.AddItem “Програма”

Lst1.AddItem “Алгоритм”, 1

Lst1.RemoveItem 2

Lst1.ClearItem

Стилі поля зі списком.

Елемент управління поле зі списком має властивість Style, яка дозволяє підібрати найбільш підхожі характеристики обєкта і його зовнішній вигляд. В табл. 7.2 наведений опис стилів елемента управління ComboBox. Елемент управління ListBox такої властивості не має.

Таблиця 7.2. Стилі поля зі списком.

Стиль

Опис

0

Поле зі списком, що розкривається.

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

1

Просте поле зі списком.

Даний стиль відображає одразу список значень об’єкта. Можна обрати або ті дані, які є в спискові, або надрукувати нові в полі списку.

2

Список, що розкривається.

Даний стиль відображає вміст об’єкту, але з нього можна лише обирати об’єкти. Вводити дані в поле списку забороняється. Цей елемент управління працює в режимі “тільки для читання”.

 

 

Рис 7.2 Стилі елементу управління ComboBox.

Використання списків розглянемо на прикладах.

Завдання 7.2. Арифмометр. Скласти програму, що містить три текстових вікна; кнопку; поле зі списком. Програма повинна при натисканні кнопки виконувати одну з арифметичних операцій над числами. Вихідні дані повинні вводитися в першому і другому вікнах, результат повинний виводитися в третьому вікні. Операція повинна задаватися зі списку операцій. Зовнішній вигляд форми приведений на рис 7.3.

Таблиця 7.3. Список імен об’єктів і початкові значення властивостей

 

Назва

Name

Caption (Text)

Кнопка

Key1

Виконати

Надпис

Lab1

Перше число

Надпис

Lab2

Друге число

Надпис

Lab3

результат

Надпис

Lab4

Арифметичні операції

Текстове поле

Txt1

Текстове поле

Txt2

Текстове поле

Txt3

Список

Lst1

 

Рис 7.3 Вид вікна завдання 7.2.

Кодова частина проекту має вигляд:

Dim x#, y#, z#, i%

Private Sub Form_Load()

Prog1.Caption = "Арифмометр, версія 3 – через список"

Key1.Caption = "Виконати"

Txt1.Text = ""

Txt2.Text = ""

Txt3.Text = ""

Lab1.Caption = "Перше число"

Lab2.Caption = "Друге число"

Lab3.Caption = "Результат"

Lab4.Caption = "Список операцій"

Lst1.List(0) = "Додавання"

Lst1.List(1) = "Віднімання"

Lst1.List(2) = "Множення"

Lst1.List(3) = "Ділення"

End Sub

Private Sub Key1_Click()

x = CDbl(Txt1.Text)

y = CDbl(Txt2.Text)

‘визначаємо номер обраної позиції в списку (операцію)

і = Lst1.ListIndex

'У залежності від обраної операції виконуємо дії

Select Case і

 Case 0: z = x + y

 Case 1: z = x – y

 Case 2: z = x * y

 Case 3: z = x / y

End Select

‘ Виводимо результат

Txt3.Text = CStr(z)

End Sub

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑