Unit2unit Unit2;interface
uses
  DateUtils, SysUtils;
type
  TDateClass = class
  private
  FDate : TDateTime;
    function GetDay: Integer;
    function GetMonth: Integer;
    function GetYear: Integer;
    procedure SetDay(const Value: Integer);
    procedure SetMonth(const Value: Integer);
    procedure SetYear(const Value: Integer);
  public
  procedure Increase;
  function LeapYear : Boolean;                      <-----这里
  function GetText : string;                           <-----这里
  procedure SetValue(d, m, y : Integer); overload;
  procedure SetValue(NewDate : TDateTime); overload;
  property Day : Integer read GetDay write SetDay;
  property Month : Integer read GetMonth write SetMonth;
  property Year : Integer read GetYear write SetYear;
  end;
implementation{ TDateClass }
function TDateClass.GetDay: Integer;
begin
  Result := DayOf(FDate);
end;function TDateClass.GetMonth: Integer;
begin
  Result := MonthOf(FDate);
end;function TDateClass.GetText: string;                  <-----这里
begin
  Result := DateToStr(FDate);
end;function TDateClass.GetYear: Integer;
begin
  Result := YearOf(FDate);
end;procedure TDateClass.Increase;
begin
  FDate := FDate + 1;
end;function TDateClass.LeapYear: Boolean;              <-----这里
begin
  Result := IsInLeapYear(FDate);
end;procedure TDateClass.SetDay(const Value: Integer);
begin
  FDate := RecodeDay(FDate, Value);
end;procedure TDateClass.SetMonth(const Value: Integer);
begin
  FDate := RecodeMonth(FDate, Value);
end;procedure TDateClass.SetValue(d, m, y: Integer);
begin
  FDate := EncodeDate(y, m, d);
end;procedure TDateClass.SetValue(NewDate: TDateTime);
begin
  FDate := NewDate;
end;procedure TDateClass.SetYear(const Value: Integer);
begin
  FDate := RecodeYear(FDate, Value);
end;end.
Unit1 实现unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit2;type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1Read: TButton;
    Button1Write: TButton;
    Button2Write: TButton;
    Button1Increase: TButton;
    procedure Button1ReadClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1WriteClick(Sender: TObject);
    procedure Button2WriteClick(Sender: TObject);
    procedure Button1IncreaseClick(Sender: TObject);  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}
var
  Date : TDateClass;procedure TForm1.FormCreate(Sender: TObject);
begin
  Date := TDateClass.Create;
  Date.SetValue(13, 12, 2005);end;procedure TForm1.FormDestroy(Sender: TObject);
begin
  Date.Free;
end;procedure TForm1.Button1WriteClick(Sender: TObject);
begin
  Date.SetValue(StrToInt(Edit1.Text), StrToInt(Edit2.Text), StrToInt(Edit3.Text));
end;procedure TForm1.Button2WriteClick(Sender: TObject);
begin
  Date.Day := StrToInt(Edit1.Text);
  Date.Month := StrToInt(Edit2.Text);
  Date.Year := StrToInt(Edit3.Text);
end;procedure TForm1.Button1IncreaseClick(Sender: TObject);
begin
  Date.Increase;
end;procedure TForm1.Button1ReadClick(Sender: TObject);
begin
  Edit1.Text := IntToStr(Date.Day);
  Edit2.Text := IntToStr(Date.Month);
  Edit3.Text := IntToStr(Date.Year);
end;
end.
在Unit2 的 LeapYear 和 GetText 在 Unit1 里实现了什么??
请解析,越简单越好.. 
谢谢~~

解决方案 »

  1.   

    在Unit2 的 LeapYear 和 GetText 在 Unit1 里实现了什么??
    ----------
    虽然定义了这两个类方法,但在Unit1里没有用到它们。
    GetText方法,是将日期转换为字符串方式返回。
    LeapYear方法,用于判断是否闰年
      

  2.   

    真的吗?? 
    好像有这样的感觉 >.<;;
      

  3.   

    LeapYear就是判断是否是闰年吧
      

  4.   

    兩個自定義函數,但沒有用到
    gettext將日期以字符串返回;
    leapyear判斷閏年
      

  5.   

    以上的我都了解.. 
    但我想知道它们在 Unit1 里有发挥到任何作用吗??
    谢谢..
      

  6.   

    LeapYear 和GetText在外部都没有访问到,所以没起任何作用
      

  7.   

    引自楼主#5以上的我都了解..  
    但我想知道它们在 Unit1 里有发挥到任何作用吗??
    谢谢..
    -------------
    在Unit1没有发挥作用
    但是每一个VCL类定义的每一个方法,我们并不是一定、必须用到
    比如,Ctrl+鼠标左键 展开TForm,就会发现,它定义了许多的方法,但并不是我们每个都用了
      

  8.   

    谢谢,大家帮我确认!!
    当我敲这两段代码时,我怀疑它们根本没有实际作用.. >.<ll
    现在我已得到100% 确认了...
    感激感激..