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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2008, 00:57   #1
diznt
Новичок
Джуниор
 
Регистрация: 03.08.2008
Сообщений: 53
По умолчанию Помогите с калькулятором (делфи)

И так написал я код вот он

Код:
procedure TForm1.butPlusClick(Sender: TObject);
var
 c : integer;
begin
 c:=StrToInt(txtN.Text);
 txtN.Text:='';
end;
То есть то что я записал в текстовое окошко там запоминаеться (c:=StrToInt(txtN.Text) потом я очищаю это окошко (txtN.Text:=''(чтобы ввести с чем мы хотим сложить) дальше не знаю что писать
Писать я хочу так
После того как очистили окошечко дальше после ввода в него числа (с каторым хотим сложит) запоминаем это число каторое ввели
После чего запись события ( то есть это x:=c+q)(q - то число каторое записали) и после того как мы нажали на кнопку "=" то должен появиться результат (этой функции)
Вот и все что я вроде бы хотел)

Так же расматрю ваше остальные варианты может что я не так делаю
diznt вне форума Ответить с цитированием
Старый 17.08.2008, 01:23   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Можете попробовать сделать так:

Код:
Var
F,C: Integer;
Procedure TForm1.Button1Click(Sender: TObject);//Кнопка "+"
Begin
C:=StrToInt(Edit1.Text);
Edit1.Text:='';
End;
Procedure TForm1.Button2Click(Sender: TObject);// Кнопка "="
Begin
F:=StrToInt(Edit1.Text);
Edit1.Text:=IntToStr(F+C);
End;
А если вы хотите сделать сложение на одной кнопке, то можно сделать так:

Код:
Var
F,C: Integer;
Procedure TForm1.Button1Click(Sender: TObject);//Кнопка "+"
Begin
If C=0 Then
Begin
C:=StrToInt(Edit1.Text);
Edit1.Text:='';
Button1.Caption:='=';
End
Else
Begin
F:=StrToInt(Edit1.Text);
Edit1.Text:=IntToStr(F+C);
End;
End;
В этом коде надо будет вам сделать проседуру ресета для переменной "C".
Всегда рад помочь!

Последний раз редактировалось Terran; 17.08.2008 в 01:25.
Terran вне форума Ответить с цитированием
Старый 17.08.2008, 02:17   #3
diznt
Новичок
Джуниор
 
Регистрация: 03.08.2008
Сообщений: 53
По умолчанию

а если у меня буду разные кнопки (+,-,/,*) ???
(у каждой кнопки капшн свой знак стоит)
diznt вне форума Ответить с цитированием
Старый 17.08.2008, 08:58   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
Так же расматрю ваше остальные варианты может что я не так делаю
Скачайте исходник калькулятора, должно помочь
http://programmersclub.ru/files/kalkulaytor.rar
Gorychev вне форума Ответить с цитированием
Старый 17.08.2008, 10:48   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от diznt Посмотреть сообщение
а если у меня буду разные кнопки (+,-,/,*) ???
(у каждой кнопки капшн свой знак стоит)
Я уже не стану расписывать код т.к. Gorychev дал ответ на ваш вопрос в исходнике.
Вот ещё один исходник инженерного калькулятора, думаю пригодится: Вложение 5328
Всегда рад помочь!

Последний раз редактировалось Terran; 30.11.2008 в 14:17.
Terran вне форума Ответить с цитированием
Старый 26.11.2010, 16:28   #6
shalopai999
Новичок
Джуниор
 
Регистрация: 26.11.2010
Сообщений: 2
По умолчанию Код простого калькулятора.

Ниже приведен калькулятор который я написал 5 лет назад.

Последний раз редактировалось shalopai999; 26.11.2010 в 16:41.
shalopai999 вне форума Ответить с цитированием
Старый 26.11.2010, 16:40   #7
shalopai999
Новичок
Джуниор
 
Регистрация: 26.11.2010
Сообщений: 2
По умолчанию

[QUOTE=shalopai999;668357]Этот калькулятор умеет '+' '-' '*' '/' '1/x' 'Квадратный корень' '%. Это мой самый первый проэкт по делфи )).



private

public
{ Public declarations }
end;

var
Form1: TForm1;
a,b,c:real;
mode:integer;
x:integer;


implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'1';
edit1.Text:=edit1.text+'1';
end;

procedure TForm1.btn2Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'2';
edit1.Text:=edit1.text+'2';
end;

procedure TForm1.btn3Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'3';
edit1.Text:=edit1.text+'3';
end;

procedure TForm1.btn4Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'4';
edit1.Text:=edit1.text+'4';
end;

procedure TForm1.btn5Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'5';
edit1.Text:=edit1.text+'5';
end;

procedure TForm1.btn7Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'7';
edit1.Text:=edit1.text+'7';
end;

procedure TForm1.btn8Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'8';
edit1.Text:=edit1.text+'8';
end;

procedure TForm1.btn9Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'9';
edit1.Text:=edit1.text+'9';
end;

procedure TForm1.btn6Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'6';
edit1.Text:=edit1.text+'6';
end;

procedure TForm1.btn10Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+'0';
edit1.Text:=edit1.text+'0';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=StrToFloat(edt1.Text);
mode:=1;
edt1.Text:='';
edit1.Text:=edit1.text+'+';
end;



procedure TForm1.btn11Click(Sender: TObject);
begin
a:=StrToFloat(edt1.Text);
mode:=2;
edt1.text:='';
edit1.Text:=edit1.text+'-';
end;

procedure TForm1.btn12Click(Sender: TObject);
begin

a:=StrToFloat(edt1.Text);
mode:=3;
edt1.text:='';
edit1.Text:=edit1.text+'/';

end;

procedure TForm1.btn13Click(Sender: TObject);
begin
a:=StrToFloat(edt1.Text);
mode:=4;
edt1.text:='';
edit1.Text:=edit1.text+'*';
end;

procedure TForm1.btn14Click(Sender: TObject);
begin
edt1.Clear;
edit1.clear;


end;

procedure TForm1.btn15Click(Sender: TObject);
begin
case mode of
1:begin
b:=StrToFloat(edt1.Text);
c:=a+b;
edt1.Text:=FloatToStr(c);
edit1.Text:=floattostr(c);
end;
2:begin
b:=StrToFloat(edt1.Text);
c:=a-b;
edt1.Text:=FloatToStr(c);
edit1.Text:=floattostr(c);
end;
3: begin
b:=StrToFloat(edt1.Text);
c:=a/b;
edt1.Text:=FloatToStr(c);
edit1.Text:=floattostr(c);
end;
4:begin
b:=StrToFloat(edt1.Text);
c:=a*b;
edt1.Text:=FloatToStr(c);
edit1.Text:=floattostr(c);
end;
5:begin
b:=strtofloat(edt1.text);
c:=a*(b/100);
edt1.Text:=floattostr(c);
edit1.Text:=floattostr(c);

end;
end;
end;



procedure TForm1.btn16Click(Sender: TObject);
begin
edt1.Text:=edt1.Text+',';
edit1.Text:=edit1.text+',';
end;

procedure TForm1.edt1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if edt1.Text='' then
ShowMessage('Введите число');
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edt1.Text:=floattostr(sqrt(strtoflo at(edt1.text)));
edit1.text:=floattostr(sqrt(strtofl oat(edit1.text)));


end;
procedure TForm1.Button2Click(Sender: TObject);
begin
x:=1;
edt1.Text:=floattostr(x/(strtofloat(edt1.text)));
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
a:=StrToFloat(edt1.Text);
mode:=5;
edt1.text:='';
edit1.Text:=edit1.text+'%';

end;


end.


Если что непонятно обращайтесь я отвечу.
shalopai999 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема з калькулятором carbon383 Помощь студентам 22 02.11.2008 11:49
Проблемы с калькулятором MAKEDON Помощь студентам 18 02.08.2008 14:30