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: 23