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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2011, 11:31   #1
katerina17171
Пользователь
 
Регистрация: 23.06.2011
Сообщений: 15
Вопрос ввод в калькуляторе

Есть калькулятор:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, XPMan, ExtCtrls, jpeg, Buttons,Math, ImgList,MMSystem,clipbrd;
type
TCalc = class(TForm)
btn1: TButton;
btn2: TButton;
btn3: TButton;
btn4: TButton;
btn5: TButton;
btn6: TButton;
btn7: TButton;
btn8: TButton;
btn9: TButton;
btnzero: TButton;
btnzap: TButton;
btnravno: TButton;
btnC: TButton;
btnDelenie: TButton;
btnumnoz: TButton;
btnminus: TButton;
btnplus: TButton;
btn10: TBitBtn;
btn11: TButton;
btn12: TBitBtn;
btn14: TBitBtn;
btn15: TBitBtn;
btn16: TBitBtn;
btn17: TBitBtn;
btn18: TBitBtn;
btn19: TBitBtn;
btn20: TBitBtn;
StaticText1: TStaticText;
img1: TImage;
mm1: TMainMenu;
N1: TMenuItem;
g1: TMenuItem;
N2: TMenuItem;


procedure N1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
procedure btn3Click(Sender: TObject);
procedure btnCClick(Sender: TObject);
procedure btnplusClick(Sender: TObject);
procedure btn11Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure g1Click(Sender: TObject);
procedure btnravnoClick(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
var
Calc: TCalc;
x, y, z : real;
n: char;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TCalc.N1Click(Sender: TObject);
begin
MessageDlg(' Программа Калькулятор' +#13+
' Version 2.0, Freeware' +#13+
'======================' +#13+
' '+#$A9+'2011',
MtInformation, [mbOK],0) ;
end;

procedure TCalc.N2Click(Sender: TObject);
begin
statictext1.Caption:=clipboard.aste xt;
end;

procedure Btn1Click(Sender: TObject);
begin
end;




procedure TCalc.FormCreate(Sender: TObject);
begin
Calc.Constraints.MinHeight := 500;
Calc.Constraints.MinWidth := 380;
calc.Left := (Screen.Width div 2) - (Calc.Width div 2);
calc.Top := (Screen.Height div 2) - (calc.Height div 2);
end;

procedure TCalc.FormShortCut(var Msg: TWMKey; var Handled: Boolean);{Здесь ввод чисел с клавиатуры}
var d: Byte;
begin
case Msg.CharCode of
8: case Length(StaticText1.Caption) of
61,43:x:=strtofloat(StaticText1.Cap tion); {плюс}
13:y:=strtofloat(StaticText1.Captio n);{enter} {8 -backspace}
0: ;
1:StaticText1.Caption:='0';
else
StaticText1.Caption:=Copy(StaticTex t1.Caption,1,Length(StaticText1.Cap tion)-1);
end;
46: StaticText1.Caption:='0'; {.}
27: Close; {Esc}
110, 188, 191:
if Pos(',',StaticText1.Caption)=0
then StaticText1.Caption:=StaticText1.Ca ption+',';
48..57,96..105: {ввод 0..9 на цифровой и дополнительной клавиатуре}
begin
if Msg.CharCode>95 then d:=48 else d:=0;
if StaticText1.Caption='0'
then StaticText1.Caption:=chr(Msg.CharCo de-d)
else StaticText1.Caption:=StaticText1.Ca ption+'1';

end;
end;
Handled:=True;

end;

procedure TCalc.g1Click(Sender: TObject);
begin
clipboard.settextbuf(pchar(staticte xt1.Caption));
end;

procedure TCalc.btn3Click(Sender: TObject);
begin
if StaticText1.Caption='0'
then StaticText1.Caption:=(Sender as TButton).Caption
else StaticText1.Caption:= StaticText1.Caption+(Sender as TButton).Caption;
end;

procedure TCalc.btnCClick(Sender: TObject);
begin
StaticText1.Caption:='0';
end;

procedure TCalc.btnplusClick(Sender: TObject); {здесь событие нажатия для кнопок плюс, минус, умнож., делен.}
var s:tbutton;
begin
x:=strtofloat(StaticText1.Caption);
s:=(sender as tbutton);
n:=s.caption[1];
StaticText1.Caption:='0';
end;

procedure TCalc.btnravnoClick(Sender: TObject);{здесь должно быть равно}
begin
y:=strtofloat(StaticText1.Caption);


{Как сделать здесь равно?????????????????????????????? ????????}


end;

procedure TCalc.btn11Click(Sender: TObject);
var i: byte;
begin
X:=strtofloat(StaticText1.Caption);
i:=StrToInt(copy((Sender as TButton).Name,3,2));
case i of
11: Y:=Power(x,2);
12: Y:=Sqrt(x);
14: Y:=Sin(x*Pi/180);
15: Y:=Cos(x*Pi/180);
16: Y:=Tan(x*Pi/180);
17: Y:=ArcCos(x*Pi/180);
18: Y:=ArcSin(x*Pi/180);
19: Y:=ArcTan(x*Pi/180);
20: Y:=Ln(x);
end;
StaticText1.Caption:=floattostr(Y);
end;

end.




Вопросы:
1)Как сделать равно в событиях нажатия кнопок
2)как сделать равно с ввода с клавиатуры
Заранее огромное спасибо!
katerina17171 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибки в калькуляторе -=Andriushka=- Помощь студентам 3 05.03.2011 18:37
проверка в калькуляторе 4UDaK Помощь студентам 2 27.04.2010 19:13
mod в калькуляторе pinch000 Общие вопросы C/C++ 1 08.11.2009 02:44
Формат числа в калькуляторе Mint86 Microsoft Office Excel 8 25.07.2008 11:49
как написать в калькуляторе... Илюха Общие вопросы Delphi 6 02.11.2007 17:06