Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
1

RadioButtons и Button

18.04.2016, 23:59. Просмотров 721. Ответов 42
Метки нет (Все метки)

Здравствуйте. Недавно начал делать тест и возникла маленькая проблемка. На форме имеется 9 GroupBox, на каждом из них по 4 RadioButton(варианты ответа). Так же имеется кнопка "Получить результат". Так вот, эта кнопка по умолчанию неактивна, и мне нужно чтобы после того, как пользователь ответил на каждый вопрос(т.е. выбрал 1 из вариантов ответа) эта кнопка становилась активной. Заранее благодарю.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2016, 23:59
Ответы с готовыми решениями:

Если Button 1 и Button 2 нажаты - Button 3 стала активной, как?
Проверка если Button 1 и Button 2 нажаты - Button 3 стала активной Причем...

Button
Здравствуйте. Можно ли кнопкам допустим присвоить какое нибудь множество.И при...

error button
Всем прив!!!! Поместил на форму кнопку при нажатии на нее для прописывания кода...

button.visible
как сделать так, чтобы как только в edit появляется символ свойство...

radio button
Помогите написать программу которая будет делать: Вот вводим слово, если...

42
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,779
19.04.2016, 01:00 2
Guilty, нужен совет или готовый код?
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 01:13  [ТС] 3
Лучше бы конечно код, ибо завтра должен показать работу, но если время позднее или лень расписывать, то обойдусь и советом(наверное :3)
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,779
19.04.2016, 01:26 4
Тогда совет.
1. При открытии формы у всех 9 GroupBox ItemIndex'у присвоить -1.
2. Всем 9 GroupBox'ам назначить один и тот же обработчик события OnClick, в котором проверять тот факт что во всех 9 GroupBox'ах ItemIndex >= 0
Удачи!
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 01:31  [ТС] 5
northener, тут есть один нюанс, хоть у у меня и расположены радиокнопки на GroupBox, но они создавались не через Items, а просто налаживались на GroupBox, т.е. у меня около 36 кнопок.
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,779
19.04.2016, 01:38 6
Ааа. Ну тогда ССЗБ. Тогда нужно писать общий обработчик для всех радиокнопок, в котором проверять состояние всех радиокнопок. Короче работа на всю оставшуюся ночь
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 01:44  [ТС] 7
northener, работа, которая мне не подвластна к сожалению
0
CheshireesCat
86 / 82 / 43
Регистрация: 02.05.2015
Сообщений: 761
19.04.2016, 02:19 8
как на счёт массива?
в массив длиной в количество вопрос заносишь все -1 при старте
а потом по нажатию на батон заноси номер ответа(так и проверить можно будет потом) и тогда цикл
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
s:string;
flg:boolean;
i:integer;
 
...........
 
s:='';
flg:=false;
for i:=1 to n do
  if mas[i]=-1 then 
    begin 
      flg:=true;
      s:=s+inttostr(i+1)+' ';
      break;
    end;
if flg then showmessage('Ответьте на все вопросы!!'+#13#10+'('+s+')');
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,779
19.04.2016, 02:25 9
Цитата Сообщение от Guilty Посмотреть сообщение
northener, работа, которая мне не подвластна к сожалению
Почему не подвластна?
Русским языком нормально владеешь?
0
CheshireesCat
86 / 82 / 43
Регистрация: 02.05.2015
Сообщений: 761
19.04.2016, 02:34 10
в свойство tag каждого батонна напиши его проядковый номер а в общий для всех онклик напиши
Delphi
1
 mas[(sender as TRadioButton).Tag div 4 +1]:=(sender as TRadioButton).Tag mod 4
только для такого примера массив объяви с 1 а не с нуля.

Добавлено через 5 минут
Это только в том случаее если у тебя по 4 ответа на каждый вопрос
и тогда например 27 див 4 +1=7 это седьмой вопрос 27 мод 4 =3 это 3ый ответ этого вопроса
проверим?
Кликните здесь для просмотра всего текста
1. 1 2 3 4
2. 5 6 7 8
3. 9 10 11 12
4. 13 14 15 16
5. 17 18 19 20
6. 21 22 23 24
7. 25 26 27 28
8. 29 30 31 32
9. 33 34 35 36
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 02:34  [ТС] 11
northener, А причем здесь мой русский язык?)
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,779
19.04.2016, 02:39 12
Цитата Сообщение от Guilty Посмотреть сообщение
northener, А причем здесь мой русский язык?)
Цитата Сообщение от Guilty Посмотреть сообщение
northener, работа, которая мне не подвластна к сожалению
Не подвластна - значит запрещена кем-то или чем-то.
0
CheshireesCat
86 / 82 / 43
Регистрация: 02.05.2015
Сообщений: 761
19.04.2016, 02:41 13
исправил некоторые ошибки в предыдущем сообщении
только надо делать поверку топомучто 28 мод 4 даёт 0 а ответ всё же 4собственно сразу за этим действием можно это и проверить? и тогда общий он клик будет таким:
Delphi
1
2
mas[(sender as TRadioButton).Tag div 4 +1]:=(sender as TRadioButton).Tag mod 4;
if mas[(sender as TRadioButton).Tag]=0 then mas[(sender as TRadioButton).Tag]:=4;
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 02:41  [ТС] 14
CheshireesCat, Да, практически во всех тестах по 4 ответа на вопрос, только в одном тесте в вопросе 5, ну не важно. Спасибо за помощь! Но я не могу вникнуть в предложенный вами вариант, из-за не понимания, прошу прощения за это.
0
CheshireesCat
86 / 82 / 43
Регистрация: 02.05.2015
Сообщений: 761
19.04.2016, 02:44 15
смотри у каждого компонента(почти) есть свойство tag
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 02:45  [ТС] 16
northener, Не подвластна - значит не в моей власти, ну это в моем понимании.
0
CheshireesCat
86 / 82 / 43
Регистрация: 02.05.2015
Сообщений: 761
19.04.2016, 02:48 17
присвой начиная с нуля каждому радиобтану который нажимается таг на один больше предыдущего

Добавлено через 1 минуту
например для первого ответа первого вопроса 0 для второго ответа 1, для третьего 2, для четвёртого 3
для второго вопроса: первый ответ 4 впорой 5 и тд
тогда последний вопрос 9ый и его последний ответ 4ый будет с тагом 35

Добавлено через 1 минуту
у компонента есть действие OnClik
вот в эту процедуру и пишем код
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 02:51  [ТС] 18
CheshireesCat, Для каждого радиобатана в онклике?
0
CheshireesCat
86 / 82 / 43
Регистрация: 02.05.2015
Сообщений: 761
19.04.2016, 02:58 19
к слову если таги пронумеровать с нуля (в предыдущем варианте когда я писал я вёл отсчёт с 1) то всё куда проще и без условия

Добавлено через 39 секунд
нет напише для одного радиобатона просто потом всем назнач этуже процедуру

Добавлено через 33 секунды
во всех радиобатоннах будет RadioButton1Click

Добавлено через 16 секунд
Delphi
1
2
3
4
procedure TForm1.rb1Click(Sender: TObject);
begin
  mas[(Sender as TRadioButton).Tag div 4 +1]:=(Sender as TRadioButton).Tag mod 4 +1;
end;
Добавлено через 1 минуту
ты в чём пишешь?
0
Guilty
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 30
19.04.2016, 03:02  [ТС] 20
CheshireesCat, Delphi 7. Таги пронумерованы, код в батонах тоже есть. Только нужен этот:
mas[(sender as TRadioButton).Tag div 4 +1]:=(sender as TRadioButton).Tag mod 4;
if mas[(sender as TRadioButton).Tag]=0 then mas[(sender as TRadioButton).Tag]:=4;

или этот:
mas[(Sender as TRadioButton).Tag div 4 +1]:=(Sender as TRadioButton).Tag mod 4 +1; ?
0
19.04.2016, 03:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2016, 03:02

Button и Word
Помогите пожалуйста мне нужно что бы при нажатии на бутон открывался уже...

ListBox и Button
Нужен пример блокировки кнопок если не выбрано ни одной записи в ListBox'e....

Button click
Друзья, подскажите как работает команда Click! мне нужно сделать что-то типа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru