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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2011, 18:04   #1
Jurek
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 10
По умолчанию Простой калькулятор

Подскажите как преобразовать код, что бы заменить радиогруп на баттоны???

PHP код:
procedure TForm1.Button1Click(SenderTObject); 
 var 
a,b:real
 
begin 
 a
:=strtofloat(edit1.text); 
 
b:= strtofloat(edit2.text); 

 if 
radiogroup1.ItemIndex=0 then 
 begin 
 a
:=strtofloat(edit1.text); 
 
b:=strtofloat(edit2.text); 
 
edit3.Text:=floattostr(a*b); 
 
end

 if 
radiogroup1.ItemIndex=1 then 
 begin 
 a
:=strtofloat(edit1.text); 
 
b:=strtofloat(edit2.text); 
 
edit3.Text:=floattostr(a+b); 
 
end

 if 
radiogroup1.ItemIndex=2 then 
 begin 
 a
:=strtofloat(edit1.text); 
 
b:=strtofloat(edit2.text); 
 
edit3.Text:=floattostr(a/b); 
 
end

 if 
radiogroup1.ItemIndex=3 then 
 begin 
 a
:=strtofloat(edit1.text); 
 
b:=strtofloat(edit2.text); 
 
edit3.Text:=floattostr(a-b); 
 
end
 
end
Jurek вне форума Ответить с цитированием
Старый 11.10.2011, 18:58   #2
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Тупо это всё можно заменить функцией
Код:
function prod(sum:string):string;//процедура получения ответа математического выражения
var
s1,s2,zn:string;
n1,n2:integer;
i1,i2:real;
s:real;
begin
 if pos('+',sum)>0 then zn:='+';
 if pos('-',sum)>0 then zn:='-';
 if pos('*',sum)>0 then zn:='*';
 if pos('/',sum)>0 then zn:='/';
 n1:=pos(zn,sum);
 n2:=pos('=',sum);
  if n2 = 0 then
 begin
 result:=sum;
 exit;
 end;
 s1:=copy(sum,1,n1-1);
 s2:=copy(sum,n1+1,n2-(n1+1));
 i1:=strtofloat(s1);
 i2:=strtofloat(s2);
 if zn='+' then s:=i1+i2;
 if zn='-' then s:=i1-i2;
 if zn='*' then s:=i1*i2;
 if zn='/' then s:=i1/i2;
 result:=floattostr(s);
end;
bulldog5293 вне форума Ответить с цитированием
Старый 11.10.2011, 19:07   #3
Jurek
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 10
По умолчанию

дело в том, что действия должны быть на кнопках баттон и выполнятся после нажатия кнопки "ровно "
Jurek вне форума Ответить с цитированием
Старый 11.10.2011, 20:48   #4
Denutrror
Пользователь
 
Регистрация: 18.08.2010
Сообщений: 59
Сообщение

Не знаю на сколько хорошо Вас понял. Но предлагаю такой вариант. З.Ы.Правда слишком сложный пример для калькулятора.
Вложения
Тип файла: rar Calculator.rar (171.9 Кб, 27 просмотров)
Denutrror вне форума Ответить с цитированием
Старый 11.10.2011, 21:01   #5
Jurek
Пользователь
 
Регистрация: 17.01.2011
Сообщений: 10
По умолчанию

вообщем мне нужно написать такой калькулятор где действия +,-,*,/ будут вводится через радиобаттоны

Последний раз редактировалось Jurek; 11.10.2011 в 21:17.
Jurek вне форума Ответить с цитированием
Старый 12.10.2011, 08:12   #6
Denutrror
Пользователь
 
Регистрация: 18.08.2010
Сообщений: 59
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject); 
 var a,b:real; 
 begin 
 a:=strtofloat(edit1.text); 
 b:= strtofloat(edit2.text); 

 if RadioButton1.Checked = true then  ///Если Радиобатон1 отмечена
 begin 
 a:=strtofloat(edit1.text); 
 b:=strtofloat(edit2.text); 
 edit3.Text:=floattostr(a*b); 
 end;  
 end
;
Denutrror вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать простой калькулятор в Delphi 7 Ruslan007 Помощь студентам 1 11.10.2011 19:00
нужно создать программу простой калькулятор?? Вад Помощь студентам 6 30.03.2011 14:27
Простой калькулятор на Prologe konfetka6389 Помощь студентам 0 06.05.2010 13:30