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 里实现了什么??
请解析,越简单越好..
谢谢~~
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 里实现了什么??
请解析,越简单越好..
谢谢~~
----------
虽然定义了这两个类方法,但在Unit1里没有用到它们。
GetText方法,是将日期转换为字符串方式返回。
LeapYear方法,用于判断是否闰年
好像有这样的感觉 >.<;;
gettext將日期以字符串返回;
leapyear判斷閏年
但我想知道它们在 Unit1 里有发挥到任何作用吗??
谢谢..
但我想知道它们在 Unit1 里有发挥到任何作用吗??
谢谢..
-------------
在Unit1没有发挥作用
但是每一个VCL类定义的每一个方法,我们并不是一定、必须用到
比如,Ctrl+鼠标左键 展开TForm,就会发现,它定义了许多的方法,但并不是我们每个都用了
当我敲这两段代码时,我怀疑它们根本没有实际作用.. >.<ll
现在我已得到100% 确认了...
感激感激..