unit untClassTeacher;interfacetype
TTeacher=class
Name:string; //姓名
Sex:Boolean; //性别
Birthday:TDate; //出生日期
TeachPost:string; //职称
function Talk:string;
end;implementation{ TTeacher }function TTeacher.Talk: string;
begin
Result:='I am a teacher';
end;end.unit untClassStudent;interfacetype
TStudent=class
Name:string; //姓名
Sex:Boolean; //性别
Birthday:TDate; //出生日期
function Talk:string;
end;implementation{ TStudent }function TStudent.Talk: string;
begin
Result:='I am learning programing.';
end;end.
unit MainForm;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
lbTeacher: TListBox;
lbStudent: TListBox;
btnTeacher: TButton;
btnStudent: TButton;
procedure btnTeacherClick(Sender: TObject);
procedure btnStudentClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
ATeacher:TTeacher;
AStudent:TStudent;implementationuses untClassStudent, untClassTeacher;{$R *.dfm}procedure TForm1.btnTeacherClick(Sender: TObject);
begin
ATeacher:=TTeacher.Create; //创建对象实例
lbTeacher.Items.Add('教师姓名:'+ATeacher.Name); //显示ATeacher变量的Name域
if ATeacher.Sex then
lbTeacher.Items.Add('布尔字段值为True')
else
lbTeacher.Items.Add('布尔字段值为False');
lbTeacher.Items.Add('教师生日:'+DateToStr(ATeacher.Birthday));
lbTeacher.Items.Add('教师职称:'+ATeacher.TeachPost);
lbTeacher.Items.Add(ATeacher.Talk)
lbTeacher.Items.Add('类变量所分配的存储字节数:'+IntToStr(SizeOf(ATeacher)));
lbTeacher.Items.Add('类实例所分配的存储字节数:'+IntToStr(TTeacher.InstanceSize)));
ATeacher.Free; //释放对象实例
end;procedure TForm1.btnStudentClick(Sender: TObject);
begin
AStudent:=TStudent.Create; //创建对象实例
AStudent.Name:='李大江';
AStudent.Sex:=True;
AStudent.Birthday:=EncodeDate(1986,2,18);
lbStudent.Items.Add('学生姓名:'+AStudent.Name); //显示ATeacher变量的Name域
if AStudent.Sex then
lbStudent.Items.Add('男')
else
lbStudent.Items.Add('女');
lbStudent.Items.Add('学生生日:'+DateToStr(AStudent.Birthday));
lbStudent.Items.Add(AStudent.Talk)
lbStudent.Items.Add('类变量所分配的存储字节数:'+IntToStr(SizeOf(AStudent)));
lbStudent.Items.Add('类实例所分配的存储字节数:'+IntToStr(TStudent.InstanceSize)));
AStudent.Free; //释放对象实例
end;end.
我的所有程序。下面是提示的错误
[Error] MainForm.pas(25): Undeclared identifier: 'TTeacher'
[Error] MainForm.pas(26): Undeclared identifier: 'TStudent'
[Error] untClassStudent.pas(9): Undeclared identifier: 'TDate'
[Fatal Error] MainForm.pas(30): Could not compile used unit '..\简单范例\Exa03-02\untClassStudent.pas'
TTeacher=class
Name:string; //姓名
Sex:Boolean; //性别
Birthday:TDate; //出生日期
TeachPost:string; //职称
function Talk:string;
end;implementation{ TTeacher }function TTeacher.Talk: string;
begin
Result:='I am a teacher';
end;end.unit untClassStudent;interfacetype
TStudent=class
Name:string; //姓名
Sex:Boolean; //性别
Birthday:TDate; //出生日期
function Talk:string;
end;implementation{ TStudent }function TStudent.Talk: string;
begin
Result:='I am learning programing.';
end;end.
unit MainForm;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
lbTeacher: TListBox;
lbStudent: TListBox;
btnTeacher: TButton;
btnStudent: TButton;
procedure btnTeacherClick(Sender: TObject);
procedure btnStudentClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
ATeacher:TTeacher;
AStudent:TStudent;implementationuses untClassStudent, untClassTeacher;{$R *.dfm}procedure TForm1.btnTeacherClick(Sender: TObject);
begin
ATeacher:=TTeacher.Create; //创建对象实例
lbTeacher.Items.Add('教师姓名:'+ATeacher.Name); //显示ATeacher变量的Name域
if ATeacher.Sex then
lbTeacher.Items.Add('布尔字段值为True')
else
lbTeacher.Items.Add('布尔字段值为False');
lbTeacher.Items.Add('教师生日:'+DateToStr(ATeacher.Birthday));
lbTeacher.Items.Add('教师职称:'+ATeacher.TeachPost);
lbTeacher.Items.Add(ATeacher.Talk)
lbTeacher.Items.Add('类变量所分配的存储字节数:'+IntToStr(SizeOf(ATeacher)));
lbTeacher.Items.Add('类实例所分配的存储字节数:'+IntToStr(TTeacher.InstanceSize)));
ATeacher.Free; //释放对象实例
end;procedure TForm1.btnStudentClick(Sender: TObject);
begin
AStudent:=TStudent.Create; //创建对象实例
AStudent.Name:='李大江';
AStudent.Sex:=True;
AStudent.Birthday:=EncodeDate(1986,2,18);
lbStudent.Items.Add('学生姓名:'+AStudent.Name); //显示ATeacher变量的Name域
if AStudent.Sex then
lbStudent.Items.Add('男')
else
lbStudent.Items.Add('女');
lbStudent.Items.Add('学生生日:'+DateToStr(AStudent.Birthday));
lbStudent.Items.Add(AStudent.Talk)
lbStudent.Items.Add('类变量所分配的存储字节数:'+IntToStr(SizeOf(AStudent)));
lbStudent.Items.Add('类实例所分配的存储字节数:'+IntToStr(TStudent.InstanceSize)));
AStudent.Free; //释放对象实例
end;end.
我的所有程序。下面是提示的错误
[Error] MainForm.pas(25): Undeclared identifier: 'TTeacher'
[Error] MainForm.pas(26): Undeclared identifier: 'TStudent'
[Error] untClassStudent.pas(9): Undeclared identifier: 'TDate'
[Fatal Error] MainForm.pas(30): Could not compile used unit '..\简单范例\Exa03-02\untClassStudent.pas'
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, untClassStudent, untClassTeacher;
你的 unit untClassStudent; 里面 用到 TDate ,就加上 uses system, controls;
[Error] untClassStudent.pas(6): Identifier redeclared: 'System'
[Fatal Error] MainForm.pas(7): Could not compile used unit '..\简单范例\Exa03-02\untClassStudent.pas'
uses controls;
type
TTeacher=class
Name:String;
Sex:Boolean;
Birthday:TDate;
TeachPost:String;
destructor Destroy;override;
function Talk:String;
end;implementation{ TTeacher }destructor TTeacher.Destroy;
begin
ShowMessage('Instance object has been destroyed.');
inherited;
end;function TTeacher.Talk: String;
begin
Result:='I''m a teacher.';
end;end.unit MainForm;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,untClassStudent, untClassTeacher;type
TForm1 = class(TForm)
lbTeacher: TListBox;
lbStudent: TListBox;
btnTeacher: TButton;
btnStudent: TButton;
btnClose: TButton;
procedure btnTeacherClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ATeacher:TTeacher;
AStudent:TStudent; implementation{$R *.dfm}procedure TForm1.btnTeacherClick(Sender: TObject);
begin
ATeacher.Name :='zhang zhe';
lbTeacher.Items.Add(ATeacher.Name );
ATeacher:=nil;
end;运行后
[Error] untClassTeacher.pas(21): Undeclared identifier: 'ShowMessage'
[Fatal Error] MainForm.pas(6): Could not compile used unit 'untClassTeacher.pas'
在 unt untclassteacher该如何定义showmessage