📄 main.pas
字号:
Button45.Top:=top+height*2;
Button45.left:=left1+width*2;
Button46.Visible:=true;
Button46.Top:=top+height*3;
Button46.left:=left1+width*2;
Button47.Visible:=true;
Button47.Top:=top+height*4;
Button47.left:=left1+width*2;
Button48.Visible:=true;
Button48.Top:=top+height*5;
Button48.left:=left1+width*2;
//第四列按键
Button49.Visible:=true;
Button49.Top:=top+height;
Button49.left:=left1+width*3;
Button50.Visible:=true;
Button50.Top:=top+height*2;
Button50.left:=left1+width*3;
Button51.Visible:=true;
Button51.Top:=top+height*3;
Button51.left:=left1+width*3;
Button52.Visible:=true;
Button52.Top:=top+height*4;
Button52.left:=left1+width*3;
Button53.Visible:=true;
Button53.Top:=top+height*5;
Button53.left:=left1+width*3;
//第五列按键
Button54.Visible:=true;
Button54.Top:=top+height;
Button54.left:=left1+width*4;
Button55.Visible:=true;
Button55.Top:=top+height*2;
Button55.left:=left1+width*4;
Button56.Visible:=true;
Button56.Top:=top+height*3;
Button56.left:=left1+width*4;
Button57.Visible:=true;
Button57.Top:=top+height*4;
Button57.left:=left1+width*4;
Button58.Visible:=true;
Button58.Top:=top+height*5;
Button58.left:=left1+width*4;
//第六列按键
Button4.Visible:=true;
Button4.Top:=top+height;
Button4.left:=left2;
Button10.Visible:=true;
Button10.Top:=top+height*2;
Button10.left:=left2;
Button16.Visible:=true;
Button16.Top:=top+height*3;
Button16.left:=left2;
Button22.Visible:=true;
Button22.Top:=top+height*4;
Button22.left:=left2;
Button28.Visible:=true;
Button28.Top:=top+height*5;
Button28.left:=left2;
//第七列按键
Button5.Visible:=true;
Button5.Top:=top+height;
Button5.left:=left2+width;
Button11.Visible:=true;
Button11.Top:=top+height*2;
Button11.left:=left2+width;
Button17.Visible:=true;
Button17.Top:=top+height*3;
Button17.left:=left2+width;
Button23.Visible:=true;
Button23.Top:=top+height*4;
Button23.left:=left2+width;
Button29.Visible:=true;
Button29.Top:=top+height*5;
Button29.left:=left2+width;
//第八列按键
Button6.Visible:=true;
Button6.Top:=top+height;
Button6.left:=left2+width*2;
Button12.Visible:=true;
Button12.Top:=top+height*2;
Button12.left:=left2+width*2;
Button18.Visible:=true;
Button18.Top:=top+height*3;
Button18.left:=left2+width*2;
Button24.Visible:=true;
Button24.Top:=top+height*4;
Button24.left:=left2+width*2;
Button30.Visible:=true;
Button30.Top:=top+height*5;
Button30.left:=left2+width*2;
//第九列按键
Button7.Visible:=true;
Button7.Top:=top+height;
Button7.left:=left2+width*3;
Button13.Visible:=true;
Button13.Top:=top+height*2;
Button13.left:=left2+width*3;
Button19.Visible:=true;
Button19.Top:=top+height*3;
Button19.left:=left2+width*3;
Button25.Visible:=true;
Button25.Top:=top+height*4;
Button25.left:=left2+width*3;
Button31.Visible:=true;
Button31.Top:=top+height*5;
Button31.left:=left2+width*3;
//第十列按键
Button8.Visible:=true;
Button8.Top:=top+height;
Button8.left:=left2+width*4;
Button14.Visible:=true;
Button14.Top:=top+height*2;
Button14.left:=left2+width*4;
Button20.Visible:=true;
Button20.Top:=top+height*3;
Button20.left:=left2+width*4;
Button26.Visible:=true;
Button26.Top:=top+height*4;
Button26.left:=left2+width*4;
Button32.Visible:=true;
Button32.Top:=top+height*5;
Button32.left:=left2+width*4;
//第十一列按键
Button9.Visible:=true;
Button9.Top:=top+height;
Button9.left:=left2+width*5;
Button15.Visible:=true;
Button15.Top:=top+height*2;
Button15.left:=left2+width*5;
Button21.Visible:=true;
Button21.Top:=top+height*3;
Button21.left:=left2+width*5;
Button27.Visible:=true;
Button27.Top:=top+height*4;
Button27.left:=left2+width*5;
Button33.Visible:=true;
Button33.Top:=top+height*5;
Button33.left:=left2+width*5;
//屏蔽其他没用按钮
Button59.Visible:=false;
Button60.Visible:=false;
if N10.Checked then
checkHex
else if N11.Checked then
CheckAlgorism
else if N12.Checked then
checkOctavo
else
checkbinary;
end;
procedure TCalculator_Form.FormActivate(Sender: TObject);
begin
edit1.UseRightToLeftAlignment;
start_flag:=false;
float_flag:=false;
n1_flag:=false;
mem_flag:=false;
if n7.Checked then
begin
ScienticToStardard;
haob:=10;
end
else
begin
StardardToScientic;
if N10.Checked then
haob:=16
else if n11.checked then
haob:=10
else if n12.Checked then
haob:=8
else
haob:=2;
end;
Button35.Enabled:=false;
Button36.Enabled:=false;
Button37.Enabled:=false;
Button38.Enabled:=false;
stat_count:=0;
end;
procedure TCalculator_Form.N7Click(Sender: TObject);
begin
ScienticToStardard;
end;
procedure TCalculator_Form.N8Click(Sender: TObject);
begin
StardardToScientic;
end;
procedure TCalculator_Form.StardardToScientic;
begin
N7.Checked:=false;
N8.Checked:=true;
N11.Enabled:=true;
N12.Enabled:=true;
N13.Enabled:=true;
N10.enabled:=true;
N14.Enabled:=true;
N15.Enabled:=true;
N16.Enabled:=true;
Scienticshow;
end;
procedure TCalculator_Form.ScienticToStardard;
begin
N7.Checked:=true;
N8.Checked:=false;
N11.Enabled:=false;
N12.Enabled:=false;
N13.Enabled:=false;
N10.enabled:=false;
N15.Enabled:=false;
N16.Enabled:=false;
Stardardshow;
end;
procedure TCalculator_Form.CheckAlgorism;
var
s:string;
x:real;
begin
Button4.Enabled:=true;
Button5.Enabled:=true;
Button6.Enabled:=true;
Button10.Enabled:=true;
Button11.Enabled:=true;
Button12.Enabled:=true;
Button17.Enabled:=true;
Button18.Enabled:=true;
Button28.Enabled:=false;
Button29.Enabled:=false;
Button30.Enabled:=false;
Button31.Enabled:=false;
Button32.Enabled:=false;
Button33.Enabled:=false;
N10.Checked:=false;
N11.Checked:=true;
N12.Checked:=false;
N13.Checked:=false;
RadioButton2.Checked:=true;
RadioButton5.Enabled:=true;
RadioButton6.Enabled:=true;
N15.Enabled:=true;
N16.Enabled:=true;
Button39.Enabled:=true;
Button40.Enabled:=true;
Button41.Enabled:=true;
Button42.Enabled:=true;
Button43.Enabled:=true;
Button45.Enabled:=true;
x:=StrToNum(edit1.text,haob);
s:=numtostr(x,10);
edit1.text:=s;
haob:=10;
end;
procedure TCalculator_Form.CheckBinary;
var
s:string;
begin
Button4.Enabled:=false;
Button5.Enabled:=false;
Button6.Enabled:=false;
Button10.Enabled:=false;
Button11.Enabled:=false;
Button12.Enabled:=false;
Button17.Enabled:=false;
Button18.Enabled:=false;
Button28.Enabled:=false;
Button29.Enabled:=false;
Button30.Enabled:=false;
Button31.Enabled:=false;
Button32.Enabled:=false;
Button33.Enabled:=false;
N10.Checked:=false;
N11.Checked:=false;
N12.Checked:=false;
N13.Checked:=true;
RadioButton4.Checked:=true;
RadioButton5.Enabled:=false;
RadioButton6.Enabled:=false;
N15.Enabled:=false;
N16.Enabled:=false;
Button39.Enabled:=false;
Button40.Enabled:=false;
Button41.Enabled:=false;
Button42.Enabled:=false;
Button43.Enabled:=false;
Button45.Enabled:=false;
s:=numtostr(StrToNum(edit1.text,haob),2);
edit1.text:=s;
haob:=2;
end;
procedure TCalculator_Form.CheckHex;
var
s:string;
begin
Button4.Enabled:=true;
Button5.Enabled:=true;
Button6.Enabled:=true;
Button10.Enabled:=true;
Button11.Enabled:=true;
Button12.Enabled:=true;
Button17.Enabled:=true;
Button18.Enabled:=true;
Button28.Enabled:=true;
Button29.Enabled:=true;
Button30.Enabled:=true;
Button31.Enabled:=true;
Button32.Enabled:=true;
Button33.Enabled:=true;
N10.Checked:=true;
N11.Checked:=false;
N12.Checked:=false;
N13.Checked:=false;
RadioButton1.Checked:=true;
RadioButton5.Enabled:=false;
RadioButton6.Enabled:=false;
N15.Enabled:=false;
N16.Enabled:=false;
Button39.Enabled:=false;
Button40.Enabled:=false;
Button41.Enabled:=false;
Button42.Enabled:=false;
Button43.Enabled:=false;
Button45.Enabled:=false;
s:=numtostr(StrToNum(edit1.text,haob),16);
edit1.text:=s;
haob:=16;
end;
procedure TCalculator_Form.CheckOctavo;
var
s:string;
begin
Button4.Enabled:=true;
Button5.Enabled:=false;
Button6.Enabled:=false;
Button10.Enabled:=true;
Button11.Enabled:=true;
Button12.Enabled:=true;
Button17.Enabled:=true;
Button18.Enabled:=true;
Button28.Enabled:=false;
Button29.Enabled:=false;
Button30.Enabled:=false;
Button31.Enabled:=false;
Button32.Enabled:=false;
Button33.Enabled:=false;
N10.Checked:=false;
N11.Checked:=false;
N12.Checked:=true;
N13.Checked:=false;
RadioButton3.Checked:=true;
RadioButton5.Enabled:=false;
RadioButton6.Enabled:=false;
N15.Enabled:=false;
N16.Enabled:=false;
Button39.Enabled:=false;
Button40.Enabled:=false;
Button41.Enabled:=false;
Button42.Enabled:=false;
Button43.Enabled:=false;
Button45.Enabled:=false;
s:=numtostr(StrToNum(edit1.text,haob),8);
edit1.text:=s;
haob:=8;
end;
procedure TCalculator_Form.Button4Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='7';
start_flag:=true
end
else
edit1.text:=edit1.text+'7';
end;
procedure TCalculator_Form.Button3Click(Sender: TObject);
begin
edit1.text:='0';
start_flag:=false;
float_flag:=false;
n1_flag:=false;
mem_flag:=false;
stat_count:=0;
end;
procedure TCalculator_Form.Button5Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='8';
start_flag:=true
end
else
edit1.text:=edit1.text+'8';
end;
procedure TCalculator_Form.Button6Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='9';
start_flag:=true
end
else
edit1.text:=edit1.text+'9';
end;
procedure TCalculator_Form.Button10Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='4';
start_flag:=true
end
else
edit1.text:=edit1.text+'4';
end;
procedure TCalculator_Form.Button11Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='5';
start_flag:=true
end
else
edit1.text:=edit1.text+'5';
end;
procedure TCalculator_Form.Button12Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='6';
start_flag:=true
end
else
edit1.text:=edit1.text+'6';
end;
procedure TCalculator_Form.Button16Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='1';
start_flag:=true
end
else
edit1.text:=edit1.text+'1';
end;
procedure TCalculator_Form.Button17Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='2';
start_flag:=true
end
else
edit1.text:=edit1.text+'2';
end;
procedure TCalculator_Form.Button18Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='3';
start_flag:=true
end
else
edit1.text:=edit1.text+'3';
end;
procedure TCalculator_Form.Button22Click(Sender: TObject);
begin
if start_flag=false then
begin
edit1.text:='0.';
start_flag:=true;
float_flag:=true
end
else
edit1.text:=edit1.text+'0';
end;
procedure TCalculator_Form.Button24Click(Sender: TObject);
begin
if float_flag=false then
begin
if start_flag=false then
begin
edit1.text:='0.';
start_flag:=true;
float_flag:=true
end
else
begin
edit1.Text:=edit1.Text+'.';
float_flag:=true
end;
end;
end;
procedure TCalculator_Form.Button1Click(Sender: TObject);
var
i,j:integer;
s1,s2:string;
begin
i:=edit1.gettextlen();
if i>1 then
begin
s1:=edit1.text;
s2:=s1[i];
edit1.text:='';
for j:=1 to i-1 do
edit1.text:=edit1.text+s1[j];
if s2='.' then
float_flag:=false;
end
else
begin
edit1.text:='0';
start_flag:=false;
end;
end;
procedure TCalculator_Form.Button59Click(Sender: TObject);
var
num:real;
begin
num:=strtofloat(edit1.text);
if num>=0 then
begin
num:=sqrt(num);
edit1.text:=floattostr(num);
end
else
application.MessageBox('该数开方出错,请检查!','提示信息',mb_ok)
end;
procedure TCalculator_Form.Button53Click(Sender: TObject);
var
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -