unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;type
  Tcaculate = class(TForm)
    edtOperand1: TEdit;
    edtOperand2: TEdit;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    edtResult: TEdit;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  caculate: Tcaculate;implementation
uses UnitMathStuff;{$R *.dfm}procedure Tcaculate.SpeedButton1Click(Sender: TObject);
begin
edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
StrToFloat(edtOperand2.Text),'+'));
end;procedure Tcaculate.SpeedButton2Click(Sender: TObject);
begin
edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
StrToFloat(edtOperand2.Text),'-'));
end;procedure Tcaculate.SpeedButton3Click(Sender: TObject);
begin
edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
StrToFloat(edtOperand2.Text),'*'));
end;procedure Tcaculate.SpeedButton4Click(Sender: TObject);
begin
edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
StrToFloat(edtOperand2.Text),'/'));
end;end.
unit unitMathStuff;
interface
type
 function Calculate(op1,op2:double;operator:char):
 double;
implementation
function Tcaculate.Calculate(op1,op2:double;opeerator:char):double;
begin
case operator of
'+':result:=op1+op2;
'-':result:=op1+op2;
'*':result:=op1+op2;
'/':result:=op1+op2;end;
end;
end.

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Buttons, StdCtrls;type
      TForm1 = class(TForm)
        edtOperand1: TEdit;
        edtOperand2: TEdit;
        edtResult: TEdit;
        SpeedButton1: TSpeedButton;
        SpeedButton2: TSpeedButton;
        SpeedButton3: TSpeedButton;
        SpeedButton4: TSpeedButton;
        procedure SpeedButton1Click(Sender: TObject);
        procedure SpeedButton2Click(Sender: TObject);
        procedure SpeedButton3Click(Sender: TObject);
        procedure SpeedButton4Click(Sender: TObject);
      private
        { Private declarations }
        function Calculate(op1,op2:double;operator:char):double;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}function TForm1.Calculate(op1,op2:double;operator:char):double;
    begin
      result := 0;
      case operator of
      '+':result:=op1+op2;
      '-':result:=op1-op2;
      '*':result:=op1*op2;
      '/':result:=op1/op2;
      end;
    end;procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
      edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
      StrToFloat(edtOperand2.Text),'+'));
    end;procedure TForm1.SpeedButton2Click(Sender: TObject);
    begin
      edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
    StrToFloat(edtOperand2.Text),'-'));end;procedure TForm1.SpeedButton3Click(Sender: TObject);
    begin
    edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
    StrToFloat(edtOperand2.Text),'*'));
    end;procedure TForm1.SpeedButton4Click(Sender: TObject);
    begin
    edtResult.Text:=FloatToStr(Calculate(StrToFloat(edtOperand1.Text),
    StrToFloat(edtOperand2.Text),'/'));
    end;end.
      

  2.   

    我晕!
    我Delphi出了问题
    没法帮你编译了