Уроки 53–54 · 2 урока · Н. И. Тайлаков (общий редактор), А. Б. Ахмедов, М. Д. Пардаева, А. А. Абдуганиев, У. М. Мирсанов. Информатика и информационные технологии, 10 класс, 1-е издание. «Extremum-Press», Ташкент, 2017
53
Использование группы переключателей в приложении
Учебник: с. 116–120
ЦельИспользует объект RadioGroup: задаёт Items, ItemIndex и Columns и строит опрос, основанный на выборе одного варианта.
Новые слова
RadioGroup: группа вариантов, из которых можно выбрать только один · RadioGroupItems: список текстов вариантов RadioGroup; Items[i] – текст варианта i · ItemsItemIndex: номер выбранного варианта, считая с 0, или –1, если ничего не выбрано · ItemIndexColumns: количество столбцов, в которых расположены варианты · Columns
Объяснение
Иногда из нескольких вариантов можно выбрать только один: один правильный ответ на вопрос теста, один способ выравнивания текста. Для этого используют RadioGroup (вкладка Standard): выбор одного автоматически отменяет остальные. Варианты находятся в свойстве Items, каждый с новой строки (дважды щёлкните Items в Object Inspector). ItemIndex хранит номер выбранного варианта; счёт начинается с 0, поэтому у второго варианта в списке ItemIndex равен 1, а если ничего не выбрано, он равен –1. Columns задаёт, в скольких столбцах расположены варианты: в каждом столбце помещается не более (число вариантов + число столбцов – 1) div число столбцов кнопок, поэтому последний столбец может остаться пустым. Чтобы проверить, сделан ли выбор, в коде используют if RadioGroup1.ItemIndex >= 0 then …
Примеры
Items: Futbol (0), Shaxmat (1), Suzish (2), Voleybol (3). Если пользователь выбрал Suzish, ItemIndex = 2 и RadioGroup1.Items[2] = 'Suzish'. Если ничего не выбрано, ItemIndex = –1; элемента Items[–1] не существует, поэтому условие проверяется заранее.
Показ выбора: procedure TForm1.Button1Click(Sender: TObject); ⏎ begin ⏎ if RadioGroup1.ItemIndex >= 0 then ⏎ Label1.Caption := 'Tanlandi: ' + RadioGroup1.Items[RadioGroup1.ItemIndex] ⏎ else ⏎ Label1.Caption := 'Hech narsa tanlanmagan'; ⏎ end; Если выбран Shaxmat: Tanlandi: Shaxmat. Columns: 4 варианта в 3 столбцах – в каждом столбце помещается (4+3–1) div 3 = 2 кнопки, третий столбец пуст.
Работа в классе
«Один голос»: класс создаёт приложение-опрос с RadioGroup; вводится 10 «голосов», и итоги по вариантам сравниваются со значением, подсчитанным вручную.
Упражнения
1
Чему равен ItemIndex третьего варианта в списке?
2
2
Чему равен ItemIndex, если ничего не выбрано?
-1
3
10 вариантов в 4 столбцах. Какое наибольшее число кнопок в столбце: (10+4–1) div 4?
3
4
Почему в опросе с RadioGroup один человек может проголосовать только за один вариант?
Выбор одного варианта отменяет остальные; ItemIndex хранит только одно число.