?? unit1.pas
字號(hào):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
E1: TMenuItem;
c1: TMenuItem;
P1: TMenuItem;
V1: TMenuItem;
H1: TMenuItem;
H2: TMenuItem;
A1: TMenuItem;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
Edit1: TEdit;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton29: TSpeedButton;
SpeedButton30: TSpeedButton;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
SpeedButton33: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure SpeedButton26Click(Sender: TObject);
procedure SpeedButton29Click(Sender: TObject);
procedure SpeedButton30Click(Sender: TObject);
procedure SpeedButton31Click(Sender: TObject);
procedure SpeedButton32Click(Sender: TObject);
procedure SpeedButton27Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton28Click(Sender: TObject);
procedure SpeedButton33Click(Sender: TObject);
procedure c1Click(Sender: TObject);
procedure P1Click(Sender: TObject);
procedure A1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
temp1:string; //用于存放你一個(gè)計(jì)算參數(shù)
temp3:real; //用于存放第二個(gè)計(jì)算參數(shù)
temp2:real; //用于存放計(jì)算結(jié)果
flag:integer=0; //加,減,乘,除 的標(biāo)志位
flag2:integer=0; //判斷除數(shù)是否為0的標(biāo)志位
flag3:integer=0; // 是否多次按下運(yùn)算符
fuhao:integer=0; //計(jì)算參數(shù)的符號(hào)
B: Boolean; //用以表示是否是第一次按下"="號(hào)
plate:string;//存放剪切板內(nèi)容
buffer:integer; //用于保存flag,以便按"="時(shí)使用
C:integer=0; //用于規(guī)定每次輸入只能有一個(gè)小數(shù)點(diǎn)
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Clear;
B:=true;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var s:string;
begin
s:=edit1.Text;
delete(s,length(s),1);
edit1.Text:=s;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
edit1.text:='';
temp1:='';
temp2:=0;
temp3:=0;
edit1.Enabled:=true;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
edit1.text:='';
temp1:='';
temp2:=0;
temp3:=0;
edit1.Enabled:=true;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='7'
else
edit1.text:=edit1.text+'7';
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='8'
else
edit1.text:=edit1.text+'8';
end;
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='9'
else
edit1.text:=edit1.text+'9';
end;
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='4'
else
edit1.text:=edit1.text+'4';
end;
procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='5'
else
edit1.text:=edit1.text+'5';
end;
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='6'
else
edit1.text:=edit1.text+'6';
end;
procedure TForm1.SpeedButton24Click(Sender: TObject);
begin
if flag3=1 then //若第二次按下"+"號(hào),清空edit1,并進(jìn)行和運(yùn)算
begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='1'
else
edit1.text:=edit1.text+'1';
end;
procedure TForm1.SpeedButton25Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='2'
else
edit1.text:=edit1.text+'2';
end;
procedure TForm1.SpeedButton26Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
if edit1.text='0' then edit1.text:='3'
else
edit1.text:=edit1.text+'3';
end;
procedure TForm1.SpeedButton29Click(Sender: TObject);
begin
if flag3=1 then begin edit1.Clear;flag3:=-1; end;
edit1.Text:=edit1.Text+'0';
end;
procedure TForm1.SpeedButton30Click(Sender: TObject);
var s:string ;
begin
if (edit1.text='')or (edit1.text='0') then fuhao:=-1
else if strtofloat(edit1.text)<0 then fuhao:=1//若小于0 ,則是 負(fù)數(shù)
else fuhao:=0; //若大于0 ,則是正數(shù)
if fuhao=0 then //若原來(lái)是正數(shù),按后變負(fù)數(shù)
begin
edit1.text:='-'+edit1.Text;
fuhao:=1;
end
else // 若原來(lái)是負(fù)數(shù),按后變正數(shù)
begin
s:=edit1.text;
delete(s,1,1);
edit1.text:=s;
fuhao:=0;
end;
end;
procedure TForm1.SpeedButton31Click(Sender: TObject);
begin
if edit1.text='' then edit1.text:='0.'
else if C=1 then
else
edit1.Text:=edit1.Text+'.';
C:=1;
end;
procedure TForm1.SpeedButton32Click(Sender: TObject); //加法處理過(guò)程
begin
if edit1.text='' then edit1.Text:='0';
if flag=2 then //若之前是"-"號(hào)
begin
edit1.Text:=floattostr(strtofloat(temp1)-strtofloat(edit1.text));
temp1:=edit1.text;
end
else if flag=3 then //若之前是"*"號(hào)
begin
edit1.Text:=floattostr(strtofloat(temp1)*strtofloat(edit1.text));
temp1:=edit1.text;
end
else if flag=4 then //若之前是"/"號(hào)
begin
if edit1.text='0' then
begin
edit1.text:='除數(shù)不能為0';
edit1.Enabled:=false;
end
else
begin
edit1.Text:=floattostr(strtofloat(temp1)/strtofloat(edit1.text));
temp1:=edit1.text;
end;
end
else //若是加法過(guò)程,則執(zhí)行下列語(yǔ)句
begin
if flag3=0 then //若第一次輸入“+”號(hào)
begin
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -