![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Имена чекбоксов [D5]
Kirill © (2007-12-04 19:35:00)Здравствуйте! Ситуация такая. Нужно написать программу-тест, которая берёт вопросы и ответы из БД или файла (кол-во неограничено). Чужие исходники принципиально не люблю, поэтому делаю сам.
Создаю при классы Tlabel и TCheckBox, в которые прописываются вопросы и ответы соответственно.
Т.е программа выводит вопросы примерно так:
Вопрос №1. Сколько пальцев на руке?
[ ] Один
[ ] Два
[ ] Три
[ ] Четыре
[ ] Пять
Каждому ответу (Checkbox'у) даётся своё собственное имя (a1, a2, a3, a4...a150)
Каждому правильному ответу присваивается hint = 1.
Вопрос:
Как мне организовать проверку какие чекбоксы отмечены, а какие нет?
Впервые с этим сталкиваюсь. Просто если чекбоксы раскиданы вручную по форме, то проблем нет никаких, т.к. у всех есть своё определённое заданное имя.
А как имя выглядит у вот таких вот (удалённо?) накиданных чекбоксов?
Что-то типа checkbox.name['a1']?
Простите за столь непрограммистский слог, зелёный я совсем.
Kirill (2007-12-04 22:17:00) [1]
> YurikGL © (04.12.07 20:01) [2]
> Если ты создаешь их динамически, то ничто тебе не мешает
> определить массив чекбоксов и пробегаться по нему.Ну и можно
> делать так:withFindComponent('Checkbox'+IntToStr(i))as TCheckBoxdo
> if Checked then ...
Стал копать в сторону FindComponent, всё сделал!
Спасибо вам!
Johnmen (2007-12-04 21:06:00) [2]См. справку по свойствам Components, ComponentCount. Там и пример живой есть.
YurikGL (2007-12-04 21:04:00) [3]
> А как определить массив чекбоксов и пробежаться по нему?
Так же, как и массив переменных
Kirill (2007-12-04 20:13:00) [4]
> Если ты создаешь их динамически, то ничто тебе не мешает
> определить массив чекбоксов и пробегаться по нему.Ну и можно
> делать так:withFindComponent('Checkbox'+IntToStr(i))as TCheckBoxdo
> if Checked then ...
Спасибо!
А как определить массив чекбоксов и пробежаться по нему?
Kirill (2007-12-04 20:12:00) [5]> Организуешь цикл по всем чекбоксам, в котором проверяешь соответствие чекнутости тегу (в теге 1, если ответ правилен, хинт не трогай).
Спасибо! Если вам не сложно, можете написать пример?
YurikGL (2007-12-04 20:01:00) [6]Если ты создаешь их динамически, то ничто тебе не мешает определить массив чекбоксов и пробегаться по нему.
Ну и можно делать так:
with
FindComponent('Checkbox'+IntToStr(i))
as TCheckBox
do if Checked then ...
Johnmen (2007-12-04 19:57:00) [7]Организуешь цикл по всем чекбоксам, в котором проверяешь соответствие чекнутости тегу (в теге 1, если ответ правилен, хинт не трогай).