📄 main.pas
字号:
num:real;
begin
num:=strtofloat(edit1.text);
edit1.text:=floattostr(1/num);
end;
procedure TCalculator_Form.Button7Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=1;
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button13Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=2;
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button19Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=3;
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button25Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=4;
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button26Click(Sender: TObject);
var
i:real;
begin
num2:=strtonum(edit1.text,haob);
if sign=1 then
begin
if num2=0 then
application.MessageBox('除数为零,不能运算!','提示信息',mb_ok)
else
begin
num3:=num1 / num2;
edit1.Text:=numtostr(num3,haob);
end;
end
else if sign=2 then
begin
num3:=num1*num2;
edit1.text:=numtostr(num3,haob);
end
else if sign=3 then
begin
num3:=num1-num2;
edit1.text:=numtostr(num3,haob);
end
else if sign=4 then
begin
num3:=num1+num2;
edit1.text:=numtostr(num3,haob);
end
else if sign=5 then
begin
num3:=num1-int(num1/num2)*num2;
edit1.text:=numtostr(num3,haob);
end
else if sign=6 then
begin
num3:=1;
i:=1;
while i<=num2 do
begin
num3:=num3*num1;
i:=i+1;
end;
edit1.text:=numtostr(num3,haob);
end
else if sign=7 then
begin
if num1*num2=0 then
num3:=0
else
num3:=1;
edit1.text:=numtostr(num3,haob);
end
else if sign=8 then
begin
if num1+num2=0 then
num3:=0
else
num3:=1;
edit1.text:=numtostr(num3,haob);
end
else if sign=9 then
begin
if (num1=0) and (num2<>0) then
num3:=1
else if (num1<>0) and (num2=0) then
num3:=1
else
num3:=0;
edit1.text:=numtostr(num3,haob);
end
else
application.MessageBox('1111除数为零,不能运算!','提示信息',mb_ok);
n1_flag:=false;
end;
procedure TCalculator_Form.Button23Click(Sender: TObject);
var
num:real;
begin
num:=strtofloat(edit1.text);
num:=-num;
edit1.text:=floattostr(num);
end;
procedure TCalculator_Form.Button2Click(Sender: TObject);
begin
edit1.text:='0';
start_flag:=false;
float_flag:=false;
end;
procedure TCalculator_Form.Button54Click(Sender: TObject);
begin
mem_flag:=false;
end;
procedure TCalculator_Form.Button56Click(Sender: TObject);
begin
mem:=strtofloat(edit1.text);
mem_flag:=true;
end;
procedure TCalculator_Form.Button55Click(Sender: TObject);
begin
if mem_flag=true then
edit1.text:=floattostr(mem)
else
application.MessageBox('没有数据存储,请检查!','提示信息',mb_ok);
end;
procedure TCalculator_Form.Button57Click(Sender: TObject);
begin
if mem_flag=true then
mem:=mem+strtofloat(edit1.text)
else
begin
mem:=strtofloat(edit1.text);
mem_flag:=true;
end;
end;
procedure TCalculator_Form.Button60Click(Sender: TObject);
begin
num1:=strtofloat(edit1.text);
sign:=5;
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.RadioButton2Click(Sender: TObject);
begin
CheckAlgorism;
end;
procedure TCalculator_Form.RadioButton1Click(Sender: TObject);
begin
checkHex;
end;
procedure TCalculator_Form.RadioButton3Click(Sender: TObject);
begin
CheckOctavo;
end;
procedure TCalculator_Form.RadioButton4Click(Sender: TObject);
begin
CheckBinary;
end;
procedure TCalculator_Form.N10Click(Sender: TObject);
begin
checkHex;
end;
procedure TCalculator_Form.N11Click(Sender: TObject);
begin
CheckOctavo;
end;
procedure TCalculator_Form.N12Click(Sender: TObject);
begin
CheckOctavo;
end;
procedure TCalculator_Form.N13Click(Sender: TObject);
begin
CheckOctavo;
end;
procedure TCalculator_Form.RadioButton5Click(Sender: TObject);
begin
N15.Checked:=true;
N16.Checked:=false;
end;
procedure TCalculator_Form.RadioButton6Click(Sender: TObject);
begin
N15.Checked:=false;
N16.Checked:=true;
end;
procedure TCalculator_Form.N15Click(Sender: TObject);
begin
N15.Checked:=true;
N16.Checked:=false;
RadioButton5.Checked:=true;
end;
procedure TCalculator_Form.N16Click(Sender: TObject);
begin
N15.Checked:=false;
N16.Checked:=true;
RadioButton6.Checked:=true;
end;
procedure TCalculator_Form.Button41Click(Sender: TObject);
var
t1:real;
t2:extended;
s:string;
begin
t1:=strtofloat(Edit1.text);
if radiobutton5.Checked then
t1:=t1 * 3.14159 /180;
t2:=sin(t1);
str(t2:6:4,s);
edit1.text:=s;
end;
procedure TCalculator_Form.Button42Click(Sender: TObject);
var
t1:real;
t2:extended;
s:string;
begin
t1:=strtofloat(Edit1.text);
if radiobutton5.Checked then
t1:=t1 * 3.14159 /180;
t2:=cos(t1);
str(t2:6:4,s);
edit1.text:=s;
end;
procedure TCalculator_Form.Button43Click(Sender: TObject);
var
t1:real;
t2:extended;
s:string;
begin
t1:=strtofloat(Edit1.text);
if radiobutton5.Checked then
t1:=t1 * 3.14159 /180;
t2:=tan(t1);
str(t2:6:4,s);
edit1.text:=s;
end;
procedure TCalculator_Form.Button45Click(Sender: TObject);
var
s1:real;
s2:string;
begin
s1:=strtofloat(edit1.text);
s1:=exp(s1);
str(s1:8:5,s2);
edit1.text:=s2;
end;
procedure TCalculator_Form.Button48Click(Sender: TObject);
var
s:real;
begin
s:=strtonum(edit1.Text,haob);
s:=s*s;
edit1.text:=numtostr(s,haob);
end;
procedure TCalculator_Form.Button47Click(Sender: TObject);
var
s:real;
begin
s:=strtonum(edit1.Text,haob);
s:=s*s*s;
edit1.text:=numtostr(s,haob);
end;
procedure TCalculator_Form.Button52Click(Sender: TObject);
var
s,s1:real;
i:integer;
begin
s:=strtonum(edit1.text,haob);
s:=int(s);
s1:=1;
i:=1;
while i<=s do
begin
s1:=s1*i;
i:=i+1;
end;
edit1.text:=numtostr(s1,haob);
end;
procedure TCalculator_Form.Button51Click(Sender: TObject);
var
s:real;
s1:string;
begin
s1:=edit1.text;
s:=strtonum(s1,haob);
if s>0 then
begin
s:=log10(s);
edit1.text:=numtostr(s,haob);
end
else
application.MessageBox('数值错误,请检查!','提示信息',mb_ok);
end;
procedure TCalculator_Form.Button50Click(Sender: TObject);
var
s:real;
begin
s:=strtonum(edit1.text,haob);
if s>0 then
begin
s:=ln(s);
edit1.text:=numtostr(s,haob);
end
else
application.MessageBox('数值错误,请检查!','提示信息',mb_ok);
end;
procedure TCalculator_Form.Button58Click(Sender: TObject);
begin
edit1.text:=numtostr(3.14159,haob);
end;
procedure TCalculator_Form.Button27Click(Sender: TObject);
var
s:real;
begin
s:=strtonum(edit1.text,haob);
s:=int(s);
edit1.text:=numtostr(s,haob);
end;
procedure TCalculator_Form.Button21Click(Sender: TObject);
var
s,x:real;
begin
s:=strtonum(edit1.text,haob);
if s=0 then
x:=1
else
x:=0;
edit1.text:=numtostr(x,haob);
end;
procedure TCalculator_Form.Button46Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=6; //x^y
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button9Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=7; //and
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button14Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=8; //or
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button15Click(Sender: TObject);
begin
num1:=strtonum(edit1.text,haob);
sign:=9;//xor
edit1.text:='0';
start_flag:=false;
n1_flag:=true;
end;
procedure TCalculator_Form.Button28Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='A';
start_flag:=true
end
else
edit1.text:=edit1.text+'A';
end;
procedure TCalculator_Form.Button29Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='B';
start_flag:=true
end
else
edit1.text:=edit1.text+'B';
end;
procedure TCalculator_Form.Button30Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='C';
start_flag:=true
end
else
edit1.text:=edit1.text+'C';
end;
procedure TCalculator_Form.Button31Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='D';
start_flag:=true
end
else
edit1.text:=edit1.text+'D';
end;
procedure TCalculator_Form.Button32Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='E';
start_flag:=true
end
else
edit1.text:=edit1.text+'E';
end;
procedure TCalculator_Form.Button33Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='F';
start_flag:=true
end
else
edit1.text:=edit1.text+'F';
end;
procedure TCalculator_Form.Button34Click(Sender: TObject);
begin
button35.Enabled:=true;
button36.Enabled:=true;
button37.Enabled:=true;
button38.Enabled:=true;
stat_count:=0;
end;
procedure TCalculator_Form.Button38Click(Sender: TObject);
begin
stat_count:=stat_count+1;
stat_mem[stat_count]:=strtonum(edit1.text,haob);
end;
procedure TCalculator_Form.Button36Click(Sender: TObject);
var
s:real;
i:integer;
begin
s:=0;
for i:=1 to stat_count do
s:=s+stat_mem[i];
Edit1.text:=numtostr(s,haob);
end;
procedure TCalculator_Form.Button35Click(Sender: TObject);
var
s:real;
i:integer;
begin
s:=0;
for i:=1 to stat_count do
s:=s+stat_mem[i];
s:=s /stat_count;
Edit1.text:=numtostr(s,haob);
end;
procedure TCalculator_Form.Button37Click(Sender: TObject);
var
s1,s2:real;
i:integer;
begin
s1:=0;
for i:=1 to stat_count do
s1:=s1+stat_mem[i];
s1:=s1 /stat_count;
s2:=0;
for i:=1 to stat_count do
s2:=s2+(stat_mem[i]-s1)*(stat_mem[i]-s1);
s2:=sqrt(s2);
Edit1.text:=numtostr(s2,haob);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -