如何在一个PAS中引用另一个PAS文件(50分)

  • 主题发起人 主题发起人 天飞
  • 开始时间 开始时间

天飞

Unregistered / Unconfirmed
GUEST, unregistred user!
我是一个初学者.
我在学习的时候,想把定义类的代码放在一个CLASSDEFINE.PAS中,在里面定义类的成员和方法.
而在另外一个文件中引用,如EXAMPLE.PAS中引用.那么我应该在EXAMPLE.PAS中如何实现呀?
 
EXAMPLE 的 uses 中加入 CLASSDEFINE 就 OK!

uses
CLASSDEFINE, 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 
我马上试一下后就回哈,
 
unit class1;

interface

implementation
type
TDate=class
private
Mouth,Day,Year:Integer;
public
procedure SetValue(m,d,y:Integer);
function LeapYear:Boolean;
end;
procedure Tdate.SetValue(m,d,y:Integer);
begin
Mouth:=m;
Day:=d;
Year:=y;
end;

function TDate.LeapYear:Boolean;
begin
if (Year mod 4 <>0) then
LeapYear:=False
else if (Year mod 100 <>0) then
LeapYear:=True
else if (Year mod 400 <>0) then
LeapYear:=False
else
LeapYear:=True;
end;
end.
=================================
unit example;

interface

uses
class1,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

var
ADay:TDate;
begin
ADay:=TDate.Create;
ADay.SetValue(12,3,1200);
if ADay.LeapYear then
ShowMessage('闰年:'+Inttostr(ADay.Year)+'-'+Inttostr(ADay.mouth)+'-'+Inttostr(ADay.Day));
ADay.Free;
end.

 
这个不行呀,它说我在EXAMPLE中的没有类或对像呀..
 
class1中把你的类声明放在Interface下:

Interface

type
TDate1 = class
private
...
public
end;
...
implementation

procedure TDate1.SetDate(...
begin
...
end;

建议不要用TDate,因Delphi中有TDate类型
 
USES一下就可以了,
或者在
FILE/菜单下面引用你所要引用的单元
 
真的谢谢了呀这是一个菜鸟问题,,
我第二次来
不知如何分配分数呀..:)
 
谢谢大家了,,,再一次
 
后退
顶部