Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2007, 10:53   #1
Inbox
Пользователь
 
Аватар для Inbox
 
Регистрация: 10.01.2007
Сообщений: 77
По умолчанию Как лучше построить код для Radiobutton

В одной группе содержится 3 Radiobutton, в другой 2 Radiobutton.
Всего насчитывается 12 комбинаций.
Начал мутить с операторами If, Then, Else.
И описывать все 12 комбинаций. Честно говоря запутался в конец.
Может посоветуете как лучше енто дело построить?
(В зависимости от положения (Chek) машина производит разное вычисление (+,-,*,) )
Спасибо.
Это тебе не следует читать.
Inbox вне форума Ответить с цитированием
Старый 29.01.2007, 12:03   #2
Umen
Форумчанин
 
Аватар для Umen
 
Регистрация: 10.11.2006
Сообщений: 189
По умолчанию

Хм, я насчитал только 6 комбинаций...
лучше использовать конструкцию CASE.
Например:
для RadioButton-ов поставь следующие таги
для RadioButton-ов из первой группы назначь событие
RadioButton1OnCLick
из 2-й - RadioButton4OnCLick
Код:
var c: integer;
//1-st Group
//RadioButton1.tag = 4 //10b    1-Gr 1-Rb
//RadioButton2.tag = 8 //100b   1-Gr 2-Rb
//RadioButton3.tag = 16 //1000b 1-Gr 3-Rb
//2-nd Grpupt         
//RadioButton4.tag = 1 //1b     2-Gr 1-Rb
//RadioButton5.tag = 2 //10b    2-Gr 2-Rb 
 
procedure TForm1.RadioButton1OnCLick(Sender:TObject); //1-stGroup
begin
  c := c and 3;
  c := c and (Sender as TRadioButton).Tag 
end;
 
procedure TForm1.RadioButton4OnCLick(Sender:TObject); //1-stGroup
begin
  c := c and 28;
  c := c and (Sender as TRadioButton).Tag 
end;
 
procedure TForm1.SomeCheck;
begin
  case c of
 5: <insert code here>  //101b 1-Gr 1-Rb; 2-Gr 1-Rb
 9: <insert code here>  //1001b 1-Gr 2-Rb; 2-Gr 1-Rb
 17:<insert code here>  //10001b 1-Gr 3-Rb; 2-Gr 1-Rb
        6: <insert code here>  //110b 1-Gr 1-Rb; 2-Gr 2-Rb
 10:<insert code here>  //1010b 1-Gr 2-Rb; 2-Gr 2-Rb
 18:<insert code here>  //10010b 1-Gr 3-Rb; 2-Gr 2-Rb 
  end;
end;

Последний раз редактировалось Umen; 29.01.2007 в 12:30.
Umen вне форума Ответить с цитированием
Старый 29.01.2007, 13:47   #3
Albenous
Helper
Форумчанин
 
Аватар для Albenous
 
Регистрация: 10.12.2006
Сообщений: 109
По умолчанию

Цитата:
Хм, я насчитал только 6 комбинаций...
Их и может быть только 6 различных. Никак не больше.
И что-то я не понял - 10010b - это что? (С case - идея хорошая)
Глупых вопросов не бывает - бывают глупые ответы.
Albenous вне форума Ответить с цитированием
Старый 29.01.2007, 13:59   #4
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
Сообщение

Цитата:
Сообщение от Albenous Посмотреть сообщение
И что-то я не понял - 10010b - это что? (С case - идея хорошая)
это 16 + 2 в двоичном виде
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 29.01.2007, 20:38   #5
Inbox
Пользователь
 
Аватар для Inbox
 
Регистрация: 10.01.2007
Сообщений: 77
По умолчанию

Спасибо за совет! Буду разбираться.
Забыл сказать, что вторая группа, где два батона, может отключаться сhekbox-ом. И того насчитывается 9 комбинаций. (Не пойму откуда я 12 взял.....??.....)
Это тебе не следует читать.
Inbox вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. RadioButton. Как оно работает? :) R11 Помощь студентам 20 10.01.2008 11:10
помощь с radiobutton paralitic Компоненты Delphi 1 06.06.2007 09:15
помогите с текстом radiobutton! KlErik Общие вопросы Delphi 3 22.05.2007 08:27
Radiogroup & radiobutton KlErik Компоненты Delphi 1 14.05.2007 09:35
Тест-программа с radiobutton,group KlErik Общие вопросы Delphi 1 01.02.2007 10:55