☰ Содержание · Информатика

RadioGroup

Уроки 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
Чему равен ItemIndex, если ничего не выбрано?
3
10 вариантов в 4 столбцах. Какое наибольшее число кнопок в столбце: (10+4–1) div 4?
4
Почему в опросе с RadioGroup один человек может проголосовать только за один вариант?