信息化的本质分享 http://blog.sciencenet.cn/u/Babituo

博文

“计算者”的实现1-最简单的“计算者”

已有 2975 次阅读 2011-1-20 09:47 |个人分类:基因软件开放实验室|系统分类:科研笔记| 基因软件

为了逐步演变出“基因软件架构”下的“计算者”系统,下面我从现有架构下最简单的“计算者”出发,一步一步添加演变需求,最终实现一个演示性的“基因软件架构”下的“计算者”系统。最后对基因软件架构进行归纳总结。
对于最简单的计算者,我只提出如下需求:可以做任意2个数的加法。
现有架构下的程序实现如下:
unit FormCalcu;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
 TCalculator = Class(TObject)           //计算者类
    Private
    Protected
    Public
      Function Plus(A,B : Extended) : Extended;  //暂时只会做“求加”法
    End;
 
  TFormCalculate = class(TForm)           //计算窗口
    EdA: TEdit;
    Label1: TLabel;
    EdB: TEdit;
    Label2: TLabel;
    EdC: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    BtnCalculate: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BtnCalculateClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FCalculator : TCalculator;      //包含一个计算者
  public
    { Public declarations }
  end;
var
  FormCalculate: TFormCalculate;
 
implementation
{$R *.dfm}
procedure TFormCalculate.FormCreate(Sender: TObject);
begin
  FCalculator := TCalculator.Create;     //在窗口创建时创建计算者生命
end;
procedure TFormCalculate.BtnCalculateClick(Sender: TObject);
var
  A,B,C : Real;
begin
  A := StrToFloat(EdA.Text);                 //计算者用户发出”计算“指令时
  B := StrToFloat(EdB.Text);
  C := FCalculator.Plus(A,B);           //调用计算着的"求加"方法
  EDC.Text := FloattoStr(C);
end;
 
procedure TFormCalculate.FormDestroy(Sender: TObject);
begin
  FCalculator.Free;                     //在窗口关闭时结束计算者生命
end;
 
{TCalculator}           //计算者类
Function TCalculator.Plus(A,B : Extended) : Extended;  //“求加”法实现
  begin
    Result := A + B;
  end;
end.
 
程序运行界面如下:
 

计算者1



https://wap.sciencenet.cn/blog-33982-406109.html

上一篇:基因软件架构实现样例设计-计算世界
下一篇:设计“计算者1”的基因软件架构的需求
收藏 IP: 112.91.148.*| 热度|

1 黄富强

发表评论 评论 (4 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 06:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部