Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 16
1

Как отключить 40 RadioButton

21.08.2014, 07:54. Показов 3018. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется форма, на которой примерно 40 - RadioButton
Мне не известно, какой из RadioButton выбрал пользователь...
Но мне нужно сделать так, что бы при закрытии (onClose) формы, все RadioButton отключались.
----------------------------------------------------
Я понимаю, что в крайнем случае можно на каждый RadioButton написать условие, что бы он закрывался, если активен.
Но можно ли сделать это как то, более профессионально что ли?
----------------------------------------------------
Спасибо всем большое за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2014, 07:54
Ответы с готовыми решениями:

Как сделать чтобы после нажатия RadioButton в Label2 автоматически вносилось произведение RadioButton на Label1
Как сделать чтобы после нажатия RadioButton в Label2 автоматически вносилось произведение...

Как сделать чтобы после нажатия RadioButton в Label2 автоматически вносилось произведение RadioButton на Label1
Как сделать чтобы после нажатия RadioButton в Label2 автоматически вносилось произведение...

Как сделать чтобы после нажатия RadioButton в одном из шести Radiogroop в edit1 автоматически вносилось значение radiobutton
Как сделать чтобы после нажатия RadioButton в одном из шести Radiogroop в edit1 автоматически...

Как отключить RadioButton нажатием по ней-же
На панели расположены несколько RadioButton, при запуске ни-одна не выбрана. Как выбрав...

16
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.08.2014, 08:02 2
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TRadioButton)and((Components[i] as TRadioButton).Checked)
then (Components[i] as TRadioButton).Checked:=false
 
end;
1
2509 / 1130 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
21.08.2014, 08:08 3
Jimmi-Janger, извини за придирчивость и чайниковость - а что означает
Цитата Сообщение от Jimmi-Janger Посмотреть сообщение
все RadioButton отключались
и
Цитата Сообщение от Jimmi-Janger Посмотреть сообщение
бы он закрывался, если активен.
?!

Это как?
И зачем что-то "закрывать", если форма, на которой находятся ваша кучка радиобатонов, всё равно закрывается?
1
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 16
21.08.2014, 22:25  [ТС] 4
Я собственно когда выбираю RadioButton на форме, форму закрываю.
Но! При открытии формы, на которой находятся все RadioButton, уже "выбран" именно тот RadioButton, который я выбирал перед закрытием формы.
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
21.08.2014, 22:35 5
Может проще создавать форму, когда она необходима и разрушать, когда надобность отпала, а не открывать/закрывать и заморачиваться с деактивацией радиокнопок?
0
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 16
21.08.2014, 22:39  [ТС] 6
Простите, возможно я вас не правильно понял, вы хотите, что я при нажатии на кнопку, системно создавал форму, а так же все компоненты на ней (в том числе 40-ок RadioButton), и потом разрушал?
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
21.08.2014, 22:49 7
Цитата Сообщение от Jimmi-Janger Посмотреть сообщение
вы хотите
я хочу счастья и денег, но к делу это не относится

я предлагаю работать в стиле ООП, имхо проще написать abc := TForm134.Create(self); и abc.Free; чем перебирать все компоненты на форме, конечно, если создание/уничтожение экземпляра класса будет производится нечасто и не повлияет на производительность, но тут, вроде, не тот случай
1
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 16
21.08.2014, 22:55  [ТС] 8
Ааа, вы об этом.
Попробую конечно, но что то мне подсказывает что мне будет лениво
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
21.08.2014, 23:27 9
Цитата Сообщение от Jimmi-Janger Посмотреть сообщение
что я .. системно создавал форму, а так же все компоненты на ней
А в текущей ипостаси твоего проекта форма, надо понимать, создается несистемно (видимо Святым Духом) и все компоненты на нее падают сами прямо с Луны ?
1
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
22.08.2014, 01:59 10
Цитата Сообщение от Puporev Посмотреть сообщение
if (Components[i] is TRadioButton)and((Components[i] as TRadioButton).Checked) then (Components[i] as TRadioButton).Checked:=false

Не по теме:

Извини за повторение, но as после is ну очень режет взгляд. Тем более что as более одной штуки. Если перевести этот код на простой русский получается
Если Components[i] это TRadioButton и (если всё-таки Components[i] это TRadioButton и если он выбран), то если это действительно (три раза перекрестившись/сплюнув через левое плечо/постучав по дереву) Components[i] это TRadioButton, то убрать выбор.
Ну согласись что видеть такой код в моём переводе ну очень противно.

0
Cyborg Drone
22.08.2014, 02:35
  #11

Не по теме:

Цитата Сообщение от northener Посмотреть сообщение
Ну согласись что видеть такой код в моём переводе ну очень противно.
В переводе, оно, конечно, противно, но английский язык он такой. Противный. Никогда не задумывались, почему в языках романской группы есть артикли, а в языках славянской группы - нет (ну, разве что вырожденные, без которых можно обойтись, например, "я есть человек")? А жёсткий порядок слов в предложении? А обязательное указание субъекта и объекта? Ну они ж не славяне, что возьмёшь...

0
northener
22.08.2014, 02:45
  #12

Не по теме:

Cyborg Drone, ну я всё-таки говорил не о банальном переводе с аглицкого на русский. Не оффтопь, пожалуйста мой оффтоп. :)

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
22.08.2014, 03:01 13
Jimmi-Janger, а как расположены все эти твои RadioButton-ы? Может, проще заменить их на RadioGroup, и выставлять RadioGroup.ItemIndex в (-1)?

Ну, или стандартное решение: добавить еще один, лишний, RadioButton (только вынести его за пределы видимой части формы, с отрицательным значением Top, например), и одним движением выставлять его выбранным, безо всяких циклов, при этом с выбранного видимого компонента Checked разумеется уйдёт... Это в любом случае будет проще, чем динамически создавать форму при необходимости...
0
Модератор
9867 / 5235 / 3306
Регистрация: 17.08.2012
Сообщений: 16,005
22.08.2014, 03:04 14
Цитата Сообщение от UI Посмотреть сообщение
(только вынести его за пределы видимой части формы)
Можно его просто невидимым сделать.
0
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 16
27.08.2014, 00:06  [ТС] 15
проблема решена. "Тему можно закрывать"...
Или как тут говориться?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
27.08.2014, 02:19 16
Цитата Сообщение от Jimmi-Janger Посмотреть сообщение
проблема решена. "Тему можно закрывать"...
Или как тут говориться?
"Закрыть" тему ты можешь сам, поскольку ты её автор.
Но хорошим тоном было бы привести само решение проблемы. Хотя бы в общих словах.
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
28.08.2014, 09:35 17
Цитата Сообщение от northener Посмотреть сообщение
"Закрыть" тему ты можешь сам, поскольку ты её автор.
А так же пункт 2.3 Правил: Темы по просьбам пользователей не удаляются и не закрываются.
Цитата Сообщение от northener Посмотреть сообщение
Но хорошим тоном было бы привести само решение проблемы. Хотя бы в общих словах.
Вот это да. Именно так.
0
28.08.2014, 09:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2014, 09:35
Помогаю со студенческими работами здесь

Отключить все RadioButton
На форме несколько радиобаттонов, но систама автоматически ставит галочку на первой. Как можно...

Radiobutton. При изменении с одной на другую отключить button
У меня есть 2 radiobutton. Как мне сделать так, чтобы при переключении между ними button становился...

Как отключить брандмауэр или отключить фаервол
Я отключаю защитника Windows server 2012 . Отключаю фаервол. Расшариваю папки. В свойствах сети...

Достать из имени radioButton(x) его последнюю(ие) цифры и добавить их в if (radioButton(x).Checked)
Добрый день! Предыстория: Есть программа WinForm, на ней есть 77 radioButton. Имена у них от...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru