unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Logo: TImage;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
Edit1: TEdit;
SpeedButton4: TSpeedButton;
Edit2: TEdit;
Edit3: TEdit;
SpeedButton16: TSpeedButton;
SpeedButton20: TSpeedButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
SpeedButton21: TSpeedButton;
Label1: TLabel;
Label2: TLabel;
Edit9: TEdit;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
background: TImage;
SpeedButton26: TSpeedButton;
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton18Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
procedure SpeedButton21Click(Sender: TObject);
procedure SpeedButton22Click(Sender: TObject);
procedure SpeedButton23Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure SpeedButton26Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
input,input2,output,prozent:real;
znachenie{1-+,2--,3-*,4-/},stepen:integer;
implementation
{$R *.dfm}
function ShellExecute (hWnd: HWND; Operation, FileName, Parameters, Directory: PAnsiChar; ShowCmd: Integer): LongWord; stdcall; external 'Shell32.dll' name 'ShellExecuteA';
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '1';
end;
procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '2';
end;
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '3';
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '4';
end;
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '5';
end;
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '6';
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '7';
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '8';
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '9';
end;
procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + '0';
end;
procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
edit2.Text:=edit2.Text + ',';
end;
procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
input:=strtofloat(edit2.Text);
edit2.Text:='';
znachenie:=1;
end;
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
input2:=strtofloat(edit2.Text);
edit2.Text:='';
if znachenie=1 then
begin
output:=input+input2;
end;
if znachenie=2 then
begin
output:=input-input2;
end;
if znachenie=3 then
begin
output:=input*input2;
end;
if znachenie=4 then
begin
output:=input/input2;
end;
edit2.Text:=floattostr(output);
end;
procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
input:=strtofloat(edit2.Text);
edit2.Text:='';
znachenie:=2;
end;
procedure TForm1.SpeedButton19Click(Sender: TObject);
begin
input:=strtofloat(edit2.Text);
edit2.Text:='';
znachenie:=3;
end;
procedure TForm1.SpeedButton18Click(Sender: TObject);
begin
input:=strtofloat(edit2.Text);
edit2.Text:='';
znachenie:=4;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
prozent:=strtofloat(edit1.Text);
input:=strtofloat(edit2.Text);
output:=input*prozent/100;
edit2.Text:=floattostr(output);
end;
procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
input:=strtofloat(edit2.text);
output:=sqrt(input);
edit2.Text:=floattostr(output);
end;
procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
stepen:=strtoint(edit3.Text)-1;
input:=strtofloat(edit2.Text);
output:=input;
if stepen=0 then
begin
edit2.Text:='0';
end;
while stepen>0 do
begin
output:=output*input;
stepen:=stepen-1;
end;
edit2.Text:=floattostr(output);
end;
procedure TForm1.SpeedButton20Click(Sender: TObject);
begin
Edit1.Text:='0';
Edit2.Text:='0';
Edit3.Text:='0';
Edit4.Text:='0';
Edit5.Text:='0';
Edit6.Text:='0';
Edit7.Text:='0';
Edit8.Text:='0';
Edit9.Text:='0';
end;
procedure TForm1.SpeedButton21Click(Sender: TObject);
var
a,b,c,x1,x2,d,p:real;
begin
a:=strtofloat(edit4.Text);
b:=strtofloat(edit6.Text);
c:=strtofloat(edit5.Text);
if a=0 then
begin
ShowMessage('a=0. Неверноное значение a');
end;
d:=(b*b)-(4*a*c);
if d<0 then
begin
ShowMessage('Уравнение не имеет корней');
end;
p:=sqrt(d);
x1:=(-b+p)/(2*a);
x2:=(-b-p)/(2*a);
edit8.Text:='X1='+floattostr(x1);
edit7.Text:='X2='+floattostr(x2);
end;
procedure TForm1.SpeedButton22Click(Sender: TObject);
var
g,r,s:real;
s2:string;
begin
g:=strtofloat(edit9.Text);
if (g>360) or (g=360) then
begin
g:=g-360;
end;
r:=PI*g/180;
s:=sin(r);
s2:=floattostr(s);
if (g=0) or (g=180) then
begin
s2:='0';
end;
if (g=90) or (g=270) then
begin
s2:='1';
end;
if (g=30) or (g=210) then
begin
s2:='1/2';
end;
if (g=45) or (g=225) then
begin
s2:='(Квадратный корень от 2)/2';
end;
if (g=60) or (g=240) then
begin
s2:='(Квадратный корень от 3)/2';
end;
edit2.Text:=s2;
end;
procedure TForm1.SpeedButton23Click(Sender: TObject);
var
g,r,c:real;
c2:string;
begin
g:=strtofloat(edit9.Text);
if (g>360) or (g=360) then
begin
g:=g-360;
end;
r:=PI*g/180;
c:=cos(r);
c2:=floattostr(c);
if (g=0) or (g=180) then
begin
c2:='1';
end;
if (g=90) or (g=270) then
begin
c2:='0';
end;
if (g=30) or (g=210) then
begin
c2:='(Квадратный корень от 3)/2';
end;
if (g=45) or (g=225) then
begin
c2:='(Квадратный корень от 2)/2';
end;
if (g=60) or (g=240) then
begin
c2:='1/2';
end;
edit2.Text:=c2;
end;
procedure TForm1.SpeedButton24Click(Sender: TObject);
var
g,r,t,c,s:real;
t2:string;
begin
g:=strtofloat(edit9.Text);
if (g>360) or (g=360) then
begin
g:=g-360;
end;
r:=PI*g/180;
c:=Cos(r);
s:=Sin(r);
t:=s/c;
t2:=floattostr(t);
if (g=0) or (g=180) then
begin
t2:='0';
end;
if (g=90) or (g=270) then
begin
t2:='Не определён';
end;
if (g=30) or (g=210) then
begin
t2:='(Квадратный корень от 3)/3';
end;
if (g=45) or (g=225) then
begin
t2:='1';
end;
if (g=60) or (g=240) then
begin
t2:='Квадратный корень от 3';
end;
edit2.Text:=t2;
end;
procedure TForm1.SpeedButton25Click(Sender: TObject);
var
g,r:real;
begin
g:=strtofloat(edit9.Text);
r:=g*PI/180;
edit2.Text:=floattostr(r);
end;
procedure TForm1.SpeedButton26Click(Sender: TObject);
begin
ShellExecute(0, 'open', 'Calc by UnrealFire.chm','','', sw_show);
end;
end.