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

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

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

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

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

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

Вот в колледже началась практика, попалось задание написать калькулятор, все шло замечательно, только вот незнаю как сделать кнопку удаления последнего символа и как сделать переключение с обычного на так сказать инженерный как в стандартном калькуляторе winXP, все это нужно реализовать на Delphi, помогите пожалуйста кому не лень))
Nixtone вне форума Ответить с цитированием
Старый 01.05.2008, 14:07   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Выкладывай исходник.
Удаление последнего символа... берём да переписываем значение без последней цифры.
Переключение.... Скрываем нежужные кнопки, и группируем оставшиеся.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 01.05.2008, 14:16   #3
Nixtone
Пользователь
 
Регистрация: 16.10.2007
Сообщений: 17
По умолчанию

http://slil.ru/25747758 - проект

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button18: TButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn6: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn7: TBitBtn;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x,y:real;
implementation

{$R *.dfm}



procedure TForm1.BitBtn1Click(Sender: TObject);
begin
x:=StrToFloat(form1.Edit1.Text);
form1.Tag:=1;
form1.Edit1.Text:='';
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
x:=StrToFloat(form1.Edit1.Text);
form1.Tag:=2;
form1.Edit1.Text:='';
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
x:=StrToFloat(form1.Edit1.Text);
form1.Edit1.Text:='';
form1.Tag:=3;
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
x:=StrToFloat(form1.Edit1.Text);
form1.Edit1.Text:='';
form1.Tag:=4;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
y:=StrToFloat(form1.Edit1.Text);
case form1.Tag of
 0:begin
  MessageDlg('Не выбрано ни одно из действий. Повторите ввод примера',mtError,[mbOk],0);
  form1.Edit1.Text:='';
 end;
 1: y:=y+x;
 2: y:=x-y;
 3: y:=x/y;
 4: y:=x*y;
 end;
 form1.Edit1.Text:=floatToStr(y);
end;



procedure TForm1.FormActivate(Sender: TObject);
begin
form1.Edit1.Text:='';
end;

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

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

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

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

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

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

procedure TForm1.Button7Click(Sender: TObject);
begin
form1.Edit1.Text:=form1.Edit1.Text+'7';
end;

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

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

procedure TForm1.Button10Click(Sender: TObject);
begin
form1.Edit1.Text:=form1.Edit1.Text+'0';
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
form1.Edit1.Text:=form1.Edit1.Text+',';
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
form1.Edit1.Text:='';
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
x:=StrToFloat(form1.Edit1.Text);
y:=sqr(x);
Form1.Edit1.Text:=FloatToStr(y);
end;

end.

Последний раз редактировалось Stilet; 04.07.2008 в 08:25.
Nixtone вне форума Ответить с цитированием
Старый 01.05.2008, 14:50   #4
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Знаете, пока рано переходить к расширению функционала...
То что уже есть работает очень криво.
Например отсутствует проверка на введённое значение. Я вполне успешно натыкал запятых в числе..
Таже, напомню, что каждой кнопке нужно давать "нормальные" именна.
Очень трудно разбираться будет. Например:
num1, num2 ...... num0 - числа
sum - сложение
subtraction - вычитание
division - деление
multiplication - умножение и т.д.

ИМХО за это явно снизят оценку....
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 01.05.2008, 15:07   #5
Nixtone
Пользователь
 
Регистрация: 16.10.2007
Сообщений: 17
По умолчанию

На 2 курсе колледжа за такое 5 поставят если все будет хоть мало мальски работать, от нас там не требуют большего пока что
Nixtone вне форума Ответить с цитированием
Старый 03.07.2008, 21:24   #6
Petrucci
Пользователь
 
Регистрация: 03.07.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Nixtone Посмотреть сообщение
На 2 курсе колледжа за такое 5 поставят если все будет хоть мало мальски работать, от нас там не требуют большего пока что
если сейчас не требуют, то потом врят ли будут...
Petrucci вне форума Ответить с цитированием
Старый 03.07.2008, 21:36   #7
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Цитата:
Сообщение от Petrucci Посмотреть сообщение
если сейчас не требуют, то потом врят ли будут...
Тема уже как месяц неактуальна
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 03.07.2008, 23:17   #8
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

На заре этого форума я оставил тут свой исходник калькулятора на Delphi. Покопай, он точно тут должен быть
merax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор =) noxer Microsoft Office Excel 1 29.04.2008 05:14
Калькулятор Ivanich Помощь студентам 5 21.12.2007 14:48
Калькулятор Maycal Общие вопросы C/C++ 2 18.11.2007 06:02
Калькулятор zetrix Софт 7 28.09.2007 08:39
Калькулятор! HAMMAN Помощь студентам 15 04.03.2007 13:25