Лабораторная работа № 16
Использование компонентов списков и выпадающих списков.
Цель работы: Изучить свойства компонент : ListBox и ComboBox. Написать программу с использованием списков выбора .
Теория.
Для создания списков существуют 2 компоненты ListBox и ComboBox.
Компонент класса TListBox представляет собой стандартный для Windows список выбора , с помощью которого пользователь может выбрать один или несколько элементов выбора. В компоненте предусмотрена возможность программной прорисовки элементов ,поэтому список может содержать не только с троки , но и произвольные изображения.
Комбинированный список TComboBoxпредставляет собой комбинацию списка TListBox и редактора TEdit, и поэтому большинство его свойств и методов позаимствовано у этих компонентов. Существует пять модификаций компонента, определяемые его свойством style: csSimple, csDropDown, csDropDownList, csOwnerDrawFixedи csOwnerDrawVariable. Список, отображаемый в поле компонента, можно сформировать во время создания формы или во время работы программы. Чтобы сформировать список во время создания формы, надо выбрать свойство Items, щелкнуть на находящейся в поле значения свойства кнопке и в окне SringListEditorввести элементы списка.
Чтобы сформировать список во время работы программы (добавить в список элемент), надо применить метод Addк свойству Items.
Пример 1: По фамилии в списке вывести его должность.
-
Поместите на форму компоненты : 3 Label, ListBoxи измените значения их свойств:
Свойство у компоненты 1- ‘ Список сотрудников’;
Свойство у компоненты 2- ‘‘;
Свойство у компоненты 3- ‘ Должность’;
-
Расположите компоненты как показано на рисунке 16.1 и введите текст программы для событий OnCreateдля компоненты Form1 и OnClickдля компоненты ListBox:
Рисунок 16.1
procedure TForm1.FormCreate(Sender: TObject);
-
ListBox1.Items[0]:=’ Иванов’;
ListBox1.Items[1]:=’ Петров’;
ListBox1.Items[2]:=’ Сидоров’;
-
Procedure TForm1.ListBox1Click(Sender: TObject);
-
-
-
Case i of
0: Label2.Caption:=’директор’;
1: Label2.Caption:=’менеджер’;
2: Label2.Caption:=’программист’;
-
end;
Пример 2: Просмотреть или добавить в список нового сотрудника.
-
Поместите на форму компоненты : 2 Label, ComboBox, Button, Editи измените значения их свойств:
Свойство у компоненты 1- ‘ Список сотрудников’;
Свойство у компоненты 2- ‘ Введите сотрудника‘;
Свойство у компоненты 3- ‘ Добавить в список’;
-
Расположите компоненты как показано на рисунке 16.2 и введите текст программы для событий OnClickдля компоненты Button1:
Рисунок 16.2
procedure TForm1.Button1Click(Sender: TObject);
-
-
-
;
Задание.
Вариант № 1
По введенному дню недели определить, рабочий или выходной день.
Вариант № 2
По введенному номеру месяца определить название месяца.
Вариант № 3
Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.).
Вариант № 4
Имеются следующие описания:
Язык=(Паскаль, Ява ,Бейсик, Фортран, Лисп)
По русскому названию языка вывести английский эквивалент.
Вариант № 5
Имеются описания:
Сезон=(зима, весна, лето, осень)
Погода=(тепло, холодно)
По сезону ответить какова погода.
Вариант № 6
Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — "плохо", 2 — "неудовлетворительно", 3 — "удовлетворительно", 4 — "хорошо", 5 — "отлично").
Вариант № 7
По введенному номеру месяца определить количество дней в месяце (год не високосный).
Вариант № 8
По возрасту человека определить ходит ли он в садик, в школу, на работу или сидит на пенсии, а при Н>120 «Уже умер».
Вариант № 9
Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах.
Вариант № 10
Имеются следующие описания:
Страна=(Австрия, Болгария, Греция, Италия, Норвегия ,Франция, ФРГ)
Столица=(Вена, София, Афины, Рим, Осло, Париж, Бон)
По значению страны определить столицу.
Вариант № 11
Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат.
Вариант № 12
Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах.
Вариант № 13
Группу детей , приехавшую в пионерский лагерь, распределяют по отрядам следующим образом:
6-7 лет – 5 отряд; 7-9 лет – 4 отряд; 9-11 лет – 3 отряд; 11-13 лет – 2 отряд; 13-15 (включительно) – 1 отряд. Определить по вводимому возрасту отряд для ребенка.
Вариант № 15
Имеются следующие описания:
Число=1..31
День недели=(вс, пн, вт, ср, чт, пт, сб, )
Считая, что год не високосный и его 1 января приходится на любой день недели, определить день недели, на который приходится день с введенной датой.
Вариант № 16
Робот может перемещаться в четырех направлениях ("С" — север, "З" — запад, "Ю" — юг, "В" — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот направо. Дан символ C — исходное направление робота и число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.
Вариант № 17
Элементы окружности пронумерованы следующим образом: 1 — радиус (R), 2 — диаметр (D), 3 — длина (L), 4 — площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения Pi использовать 3.14.
Контрольные вопросы :
-
Какие компоненты для работы со списками вы знаете ?
-
Компонент ListBox, методы компонента ?
-
Компонент ComboBox, методы компонента ?
-
Методы для заполнения списка ?