unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
     Label1: TLabel;
     Label2: TLabel;
     Label3: TLabel;
     Label4: TLabel;
     Edit1: TEdit;
     Edit2: TEdit;
     Edit3: TEdit;
     Edit4: TEdit;
     Label5: TLabel;
     Edit5: TEdit;
     Button1: TButton;
     Button2: TButton;
     Button3: TButton;
     Label6: TLabel;
     Label7: TLabel;
     procedure Button1Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
     procedure Button3Click(Sender: TObject);
  private
     { Private declarations }
  public
     { Public declarations }
  end;
var
  Form1: TForm1;
  type
     Tstudent=class
     private
       name:string;
       yy:real;
       math:real;
       hx:real;
       total:real;
     public
       procedure getname(nm:string);virtual;
       procedure getyy(cj:real);virtual;
       procedure getmt(cj:real);virtual;
       procedure gethx(cj:real);virtual;
       procedure caculat();virtual;
       function returntotal():real;virtual;
  end;
implementation
function Tstudent.returntotal():real;
begin
  returntotal:=total;
end;
procedure Tstudent.getname(nm:string);
begin
  if name<>nm then
     name:=nm;
end;
procedure Tstudent.getyy(cj:real);
begin
  if yy<>cj then
     yy:=cj;
end;
procedure Tstudent.getmt(cj:real);
begin
  if math<>cj then
     math:=cj;
end;
procedure Tstudent.gethx(cj:real);
begin
  if hx<>cj then
     hx:=cj;
end;
procedure Tstudent.caculat();
begin
  total:=yy+math+hx;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
  student:Tstudent;
begin
  if (edit1.Text=”) or (edit2.Text=”) or (edit3.Text=”) or (edit4.Text=”) then
      edit5.Text:=’请检查输入!’
  else
      begin
        student:=Tstudent.Create;
        student.getname(edit1.Text);
        student.getyy(strtofloat(edit2.Text));
        student.getmt(strtofloat(edit3.Text));
        student.gethx(strtofloat(edit4.Text));
        student.caculat();
        edit5.Text:=floattostr(student.returntotal());
      end
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  edit1.Text:=”;
  edit2.Text:=”;
  edit3.Text:=”;
  edit4.Text:=”;
  edit5.Text:=”;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
  close;
end;
end.
Read: 37
