Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имена чекбоксов [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, если ответ правилен, хинт не трогай).


Наверх

Титульная страница Поиск, карта сайта Написать письмо