毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 报告 >> 正文

基于Delph的计算器毕业实习报告含源代码

更新时间:2007-10-12:  来源:毕业论文

基于Delph的计算器毕业实习报告含源代码|计算机实习报告|毕业实习报告|暑假实习报告总结

终于走进了大学生活的最后阶段,大学生活马上就要结束了,我们要证明一下自己所学的知识能不能在社会上派上用场,毕业实习就是最好证明自己的方法。

实习是我们从大学走向社会的第一步,为了是让我们今后走向工作岗位后能很快地适应。

实习的方法有很多,可以到各公司去工作实习,也可以在学校里用自己所学的东西做出点实际的东西来。我的实习就是在学校里用Delphi做了一个简单的程序。程序虽然小但很实用,就是做一个简单的计算器。计算器是大家在日常生活中经常用到的,其功能也越来越强大。

在我看来Delphi是一种功能很强大的开发工具,不论是从程序语言结构的严谨性,还是从模块功能的完整性来看都不次与C++Delphi语言的结构很有条理,思路很清晰,让人看了一目了然,而且语法结构也很简单,程序设计相对容易。在日常的数据库管理工作中,Delphi起了很的大的作用,所以对Delphi的学习对我们今后的工作是相当重要的。

Delphi是我最近才开始学的,有很多语句我用的不是很熟练,有的跟本就不会用。虽然是做一个小小的计算器,但还是困扰了我很长时间。只能请教懂Delphi的同学和知道老师了。最后做出的计算器外观是不怎么好看,功能也只有四则运算,但我觉得已经很欣慰了。不关怎么说毕竟我付出了劳动。

下面是我做的计算器的界面:

其源代码如下:

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Buttons, StdCtrls, ExtCtrls;

 

type

  TForm1 = class(TForm)

    Panel1: TPanel;

    Panel2: TPanel;

    SpeedButton7: TSpeedButton;

    SpeedButton8: TSpeedButton;

    SpeedButton9: TSpeedButton;

    SpeedButton13: TSpeedButton;

    SpeedButton4: TSpeedButton;

    SpeedButton5: TSpeedButton;

    SpeedButton6: TSpeedButton;

    SpeedButton12: TSpeedButton;

    SpeedButton1: TSpeedButton;

    SpeedButton2: TSpeedButton;

    SpeedButton3: TSpeedButton;

    SpeedButton11: TSpeedButton;

    SpeedButton14: TSpeedButton;

    SpeedButton15: TSpeedButton;

    SpeedButton10: TSpeedButton;

    StaticText1: TStaticText;

    SpeedButton0: TSpeedButton;

    SpeedButton16: TSpeedButton;

    SpeedButton17: TSpeedButton;

    GroupBox1: TGroupBox;

    procedure SpeedButton1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure SpeedButton11Click(Sender: TObject);

    procedure SpeedButton15Click(Sender: TObject);

    procedure SpeedButton16Click(Sender: TObject);

    procedure SpeedButton17Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

  restart: Boolean;

  isfirst: Boolean;

  fir_num,sec_num: String;

  sign: integer;

  result: real;

  save: String;

 

implementation

 

{$R *.dfm}

 

function count(sign: integer):real;

begin

  case sign of

    1: result:=strtofloat(fir_num)+strtofloat(sec_num);  //为加号时

    2: result:=strtofloat(fir_num)-strtofloat(sec_num);  //为减号时

    3: result:=strtofloat(fir_num)*strtofloat(sec_num);  //为乘号时

    4: begin

         try

           result:=strtofloat(fir_num)/strtofloat(sec_num);  //为除号时

         except

           ShowMessage('错误!');

           form1.close;

         end; //除数为0,做出异常处理

       end;

  end;

end;

 

procedure TForm1.SpeedButton1Click(Sender: TObject);

var

 i: integer;

begin

 if restart then  //如果是重新开始输入,则清除原来的操作数,并设置isfirstTrue

  begin

   isfirst:=True;

   fir_num:='';

   sec_num:='';

   restart:=False;

  end;

 if isfirst then  //如果是第一个操作数

  begin

   if (sender as TSpeedButton).Caption='.' then  //如果输入的是小数点

    begin

     if (strlen(pChar(fir_num))<=0) then  //如果第一个操作数并未输入

      fir_num:='0.'

     else

      for i:= 1 to strlen(pChar(fir_num)) do

       if fir_num[i]='.' then exit;

     //如果第一个中已含有小数点而又输入小数点,则退出

    end;

   if (strlen(pChar(fir_num))>0) and (fir_num[1]='0') then  //如果最高位为0

    begin

     if ((sender as TSpeedButton).Caption='.') then

      fir_num:='0.'

     else

      begin

       if strlen(pChar(fir_num))>1 then  //如果是小数,则继续输入

        fir_num:=fir_num+(sender as TSpeedButton).Caption

       else

        fir_num:=(sender as TSpeedButton).Caption;

       //如果不是小数,则去掉最高位的0

      end;

    end

   else

    fir_num:=fir_num+(sender as TSpeedButton).Caption;

   StaticText1.Caption:=fir_num;

  end

 else

  begin

   if (sender as TSpeedButton).Caption='.' then  //如果第二个操作数并未输入

    begin

     if (strlen(pChar(sec_num))<=0) then

      sec_num:='0.'

     else

      for i:= 1 to strlen(pChar(sec_num)) do

       if sec_num[i]='.' then exit;

       //如果第二个中已含有小数点而又输入小数点,则退出

    end;

   if (strlen(pChar(sec_num))>0) and (sec_num[1]='0') then  //如果最高位为0

    begin

     if ((sender as TSpeedButton).Caption='.') then

      sec_num:='0.'

     else

      begin

       if strlen(pChar(sec_num))>1 then  //如果是小数,则继续输入

        sec_num:=sec_num+(sender as TSpeedButton).Caption

       else

        sec_num:=(sender as TSpeedButton).Caption;

       //如果不是小数,则去掉最高位的0

      end;

    end

   else

   sec_num:=sec_num+(sender as TSpeedButton).Caption;

   StaticText1.Caption:=sec_num;

  end;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

 StaticText1.Caption:='0.';  //设置StaticText1初始显示为0.

 restart:=False;

 Isfirst:=True;

 fir_num:='';

 sec_num:='';

end;

 

procedure TForm1.SpeedButton11Click(Sender: TObject);

begin

 if (fir_num<>'') and (sec_num<>'') then

 //如果两各操作数都不为空

  begin

   result:=count(sign);  //调用函数,返回计算结果

   fir_num:=floattostr(result);

   sec_num:='';

   StaticText1.Caption:=floattostr(result);

  end;

 sign:=(sender as TSpeedButton).Tag;

 isfirst:=False;

 restart:=False;

end;

 

procedure TForm1.SpeedButton15Click(Sender: TObject);

begin

 if (sec_num<>'') then

 //如果第二个操作数不为空则返回结果

    begin

      result:=count(sign);

      fir_num:='';

      fir_num:=fir_num+floattostr(result);

      StaticText1.Caption:=floattostr(result);

      sec_num:='';

    end;

    restart:=true;

end;

 

procedure TForm1.SpeedButton16Click(Sender: TObject);

begin

 restart:=True;

 fir_num:='';

 sec_num:='';

 self.StaticText1.Caption:='0.';

end;

 

procedure TForm1.SpeedButton17Click(Sender: TObject);

begin

 Close;

end;

 

end.

根据计算器的原理对各按键的功能进行设置,如名称,属性,事件等。对不同按键的功能进行编程。计算器在运算时可能会出现错误比如说数值过大,除数为0。要把这些情况考虑进去,在出现如上的错误会给出错误提示。能在现有的计算结果上进行下一次运算,即连续运算。其基本思路是把当前运算结果当成当前输入的计算数值,而且在按下其他数字键时会自动清除当前运算结果,显示正在输入的数值。当在按下错误的运算符时再按其它的运算赴会将之前按下的运算符取消,执行当前所按运算符的命令。1188

基于Delph的计算器毕业实习报告含源代码下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。