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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2014, 13:40   #1
Катерина19
Пользователь
 
Регистрация: 05.03.2014
Сообщений: 40
По умолчанию

Код:
var
 Form1: TForm1;
  p1,p2,itog,x:real;  //переменные  для чиселовых данных
  znak:char; //переменные для считывания действий


procedure TForm1.Button1Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'1';  
end; 

procedure TForm1.Button2Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'2';   
end; 

procedure TForm1.Button3Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'3';   
end; 

procedure TForm1.Button4Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'4'; 
end; 

procedure TForm1.Button5Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'5';  
end; 

procedure TForm1.Button6Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'6';   
end; 

procedure TForm1.Button7Click(Sender: TObject); редактора
begin
Edit1.Text:=Edit1.Text+'7';  
end; 

procedure TForm1.Button8Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'8'; 
end;

procedure TForm1.Button9Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'9';  
end; 

procedure TForm1.Button14Click(Sender: TObject); 
begin
Edit1.Text:=Edit1.Text+'0';  
if Edit1.Text='00' then Edit1.Text:='0'; 
end; 

procedure TForm1.Button16Click(Sender: TObject); 
begin
if pos(',',Edit1.Text)=0 then
Edit1.Text:=Edit1.Text+',';
end; 

procedure TForm1.Button15Click(Sender: TObject); 
Var itog:real; 
    i:char;  
begin
p2:=StrToFloat(Edit1.Text); 
case znak of 
    '+': itog:=p1+p2;  
    '-': itog:=p1-p2; 
    '*': itog:=p1*p2; 
    '/': begin
         if p2=0 then
         begin
         ShowMessage('Нельзя делить на ноль');
         exit
         end
         else
         itog:=p1/p2;  
         end;
end; 
Edit1.Clear;  
Edit1.Text:=FloatToStr(itog); 

end;  

procedure TForm1.Button10Click(Sender: TObject); 
begin
p1:=StrToFloat(Edit1.Text);  
znak:='+'; 
Edit1.Clear;  
end;  

procedure TForm1.Button11Click(Sender: TObject); 
begin
p1:=StrToFloat(Edit1.Text);  
znak:='-'; 
Edit1.Clear;  
end;  

procedure TForm1.Button12Click(Sender: TObject);
begin
p1:=StrToFloat(Edit1.Text);  //Считываем число
znak:='*';  
Edit1.Clear;  
end; 

procedure TForm1.Button13Click(Sender: TObject); 
begin
p1:=StrToFloat(Edit1.Text);  
znak:='/'; 
Edit1.Clear;  
end; 

procedure TForm1.Button17Click(Sender: TObject); 
begin
p1:=StrToFloat(Edit1.Text); 
x:=sqrt(p1);
Edit1.Clear;   
Edit1.Text:=FloatToStr(x); 
end; 
procedure TForm1.Button18Click(Sender: TObject); 
begin
p1:=StrToFloat(Edit1.Text); 
x:=p1*p1;
Edit1.Clear;  
Edit1.Text:=FloatToStr(x);
end; 

procedure TForm1.Button19Click(Sender: TObject);  
begin
p1:=StrToFloat(Edit1.Text); 
x:=1/p1;
Edit1.Clear;  
Edit1.Text:=FloatToStr(x);
end;

procedure TForm1.Button20Click(Sender: TObject);  
begin
Edit1.Clear;  
end;

procedure TForm1.Button21Click(Sender: TObject);
begin
p2:=0;
Edit1.Clear;  
end;

procedure TForm1.Button22Click(Sender: TObject); 
begin
p1:=StrToFloat(Edit1.Text);  
x:=p1*(-1);
Edit1.Clear;  //очищаем поля ввода
Edit1.Text:=FloatToStr(x); 
end; 

procedure TForm1.Button23Click(Sender: TObject); 
var s:string;
begin
s:=Edit1.Text; 
delete(s,length(s),1); 
Edit1.Text:=s; //
end; 

procedure TForm1.Button24Click(Sender: TObject);  
begin
Edit1.Text:=FloatToStr((p1*StrToFloat(Edit1.Text)/100)); 
end; 

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
#43 : Button10.Click;
#45 : Button11.Click;
#42 : Button12.Click;
#47 : Button13.Click;
#13 : Button15.Click;
end;


if Key in ['a'..'z'] + ['A'..'Z'] + ['А'..'Я'] + ['а'..'я'] + ['.']  then
key :=#0;
begin

  if edit1.Text = '0' then
      if Key = '0' then
      edit1.Text:= '';
end;
end; 

procedure TForm1.Edit1Change(Sender: TObject); 
var i,n: integer;
begin
n:=pos(',',Edit1.Text); 
for i:=n+1 to length(Edit1.Text) do
if Edit1.Text[i]=',' then
Edit1.Clear; 
end;

end.



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

срочно нужна помощь
Satana21

Последний раз редактировалось Stilet; 06.04.2014 в 17:07.
Катерина19 вне форума Ответить с цитированием
Старый 06.04.2014, 17:10   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
#43 : Button10.Click;
#45 : Button11.Click;
#42 : Button12.Click;
#47 : Button13.Click;
#13 : Button15.Click;

   
   '*': Button18.Click
   '/': Button19.Click
  
end;


if Key in ['a'..'z'] + ['A'..'Z'] + ['А'..'Я'] + ['а'..'я'] + ['.']  then
key :=#0;
begin

  if edit1.Text = '0' then
      if Key = '0' then
      edit1.Text:= '';
end;
end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.04.2014, 17:51   #3
Катерина19
Пользователь
 
Регистрация: 05.03.2014
Сообщений: 40
По умолчанию

делала так работает так же как написано у меня(
Посмотрите калькулятор(если там 2, то тот ,что без анимешной картинки)
Вложения
Тип файла: rar Калькулятор.rar (183.6 Кб, 10 просмотров)
Satana21

Последний раз редактировалось Катерина19; 07.04.2014 в 09:41.
Катерина19 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
калькулятор (сложение,отнимание,умножение,делен ие) Делфи 7 программирование Помощь студентам 5 24.09.2013 20:31
Нужно исправить калькулятор в делфи. Nika5 Помощь студентам 1 16.10.2012 11:46
Калькулятор(очень простой) делфи 5 serhan Помощь студентам 4 06.02.2012 20:37
калькулятор в делфи TURGENEVA Помощь студентам 1 16.10.2011 14:39
делфи калькулятор matematik Помощь студентам 8 12.10.2010 00:56