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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2008, 12:40   #1
R11
Пользователь
 
Регистрация: 06.01.2008
Сообщений: 61
Вопрос Delphi. RadioButton. Как оно работает? :)

надо прогу написать, смысл прост.
окно, в нем панель RadioGroup(2 кнопки), либо GroupBox.
Поле ввода Edit
Поле вывода Label
Ну и кнопка вычислить.
Смысл: радио кнопки имеют значение, к примеру, 10 и 20, выбирем значение 20. В поле Edit вводим значение 30. Нажимаем кнопку вычислить и в поле Label результат вычисления, т.е. 50.
Я в этом вопросе новичок и столкнулся с проблемом.
Прога легкая, действия в одну формулу. единственно не могу понять как действуют радио кнопки
как к каждой кнопке прикрепить ее значение и как потом прописать, чтобы в формулу при вычислении вводилось то значение которую радио кнопку выбрали.
PS яндекс не выручил, много написано про радио кнопки, но везде их свойства и т.п. а конкретного разбора не нашел и листинг подобный тоже неотыскал
R11 вне форума Ответить с цитированием
Старый 06.01.2008, 14:08   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
Label1.Caption:=IntToStr(StrToInt(RadioGroup1.Items.Strings[RadioGroup1.ItemIndex])
+StrToInt(Edit1.Text));
здесь:
RadioGroup1.ItemIndex - номер кнопки которую выбрал юзверь,
RadioGroup1.Items.Strings[RadioGroup1.ItemIndex] - заголовок кнопки: 10 или 20,
Edit1.Text - текст в Edit1,
StrToInt() - перевод текста в целое число,
IntToStr() - перевод целого числа в текст.

Последний раз редактировалось _Dmitry; 06.01.2008 в 14:12.
_Dmitry вне форума Ответить с цитированием
Старый 06.01.2008, 14:09   #3
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Если использовать RadioGroup, то занести в свойство Items необходимые строки - каждая строка это одна "радиокнопка".
В обработчике обычной кнопки (Button1.OnClick) записать код вычисления. Здесь есть два варианта:
1. Если в "радиокнопках" указаны сами значения (т.е. 10, 20 и т.д.)
Код:
// var Summa: Integer;
Summa := StrToInt(Edit1.Text) + StrToInt(RadioGroup1.Items[RadioGroup1.ItemIndex]);
Label1.Caption := IntToStr(Summa);
2. Если в RadioGroup записано что-то вроде "1-е значение = 10" и т.д., то тогда с помощью выбора:
Код:
// var Summa: Integer;
Summa := StrToInt(Edit1.Text);
case RadioGroup1.ItemIndex of
  0: Summa := Summa + 10;
  1: Summa := Summa + 20;
  // Добавить столько пунктов, сколько строк в RadioGroup
end;
Label1.Caption := IntToStr(Summa);
Вместо StrToInt можно использовать StrToIntDef или делать проверки на допустимость значений, или обрабатывать исключения.

P.S. Код писал сразу здесь, но вроде всё должно работать
Jeni вне форума Ответить с цитированием
Старый 06.01.2008, 14:14   #4
Eofol
Пользователь
 
Аватар для Eofol
 
Регистрация: 20.12.2007
Сообщений: 15
По умолчанию

В случае с RadioGroup все просто -
Код:
....
var
  Num: Integer;
.....

case RadioGroup1.ItemIndex of
  0: Num := 10; //0 - индекс первого радиобатона
  1: Num := 20; //1 - индекс второго радиобатона и т. д.
end;
.....
// и потом будет шо-то типа
Label1.Caption := IntToStr(StrToInt(Edit1.Text) + Num);
А с обычными радиобатонами можно поступить так - в обработчике события OnClick присваивать к-либо переменной то значение, которое соответствует конкретному компоненту (радиобатону ) и потом опять же использовать его при вычислении
Eofol вне форума Ответить с цитированием
Старый 06.01.2008, 14:21   #5
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
По умолчанию

Исходник с .ЕХЕ
Вложения
Тип файла: rar RadioGroup.rar (166.3 Кб, 62 просмотров)
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Старый 06.01.2008, 14:23   #6
R11
Пользователь
 
Регистрация: 06.01.2008
Сообщений: 61
По умолчанию

а если GroupBox то все так же?
R11 вне форума Ответить с цитированием
Старый 06.01.2008, 14:34   #7
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
По умолчанию

В GroupBox надо дабавить кнопки CheckBox1 или RadioButton1
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Старый 06.01.2008, 14:34   #8
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Сам по себе GroupBox обычно не используется, т.к. ничего кроме заголовка не содержит. Что там еще лежит?
Jeni вне форума Ответить с цитированием
Старый 06.01.2008, 14:41   #9
R11
Пользователь
 
Регистрация: 06.01.2008
Сообщений: 61
По умолчанию

я имею ввиду если будет груп бокс с теме 2-мя радио кнопками, ну для усложнеия, на будущее. еще добавить CheckBox
R11 вне форума Ответить с цитированием
Старый 06.01.2008, 14:47   #10
Ярослав
Пользователь
 
Аватар для Ярослав
 
Регистрация: 14.11.2007
Сообщений: 74
По умолчанию

Нужно указывать действие для каждой кнопки CheckBox1 или RadioButton1
Каждый из нас в чём-то новичок
Ярослав вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает программа на delphi pcholka Софт 5 10.01.2008 20:04
помощь с radiobutton paralitic Компоненты Delphi 1 06.06.2007 09:15
Radiogroup & radiobutton KlErik Компоненты Delphi 1 14.05.2007 09:35
Как лучше построить код для Radiobutton Inbox Общие вопросы Delphi 4 29.01.2007 20:38