T
txmaster
Unregistered / Unconfirmed
GUEST, unregistred user!
我一直以为,我的pascal还过得去。(^_^我要说“但是”了)
但是,偶然看到了Delphi的一段Source,不夸张地说,我为我有上述的想法而羞愧。
乡亲们!革命尚未成功,同志仍需努力!
PS:此同志非彼同志。
判断闰年的Function:
function IsLeapYear(AYear: Integer): Boolean;
begin
Result := (AYear mod 4 = 0) and ((AYear mod 100 <> 0) or (AYear mod 400 = 0));
end;
我在M.. C..写的Delphi x系列中也没有看到如此简洁的代码。他也是用Case来Case去写的。
根据年、月来判断该月最大天数的Function:
function DaysPerMonth(AYear, AMonth: Integer): Integer;
const
DaysInMonth: array[1..12] of Integer =
(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
begin
Result := DaysInMonth[AMonth];
if (AMonth = 2) and IsLeapYear(AYear) then
Inc(Result);
{ leap-year Feb is special }
end;
......
不要笑我少见多怪。我相信,这里能写出这样的代码的人不会多。实际写时肯如此优化的更少。
如果要笑的话,贴你写的代码!
但是,偶然看到了Delphi的一段Source,不夸张地说,我为我有上述的想法而羞愧。
乡亲们!革命尚未成功,同志仍需努力!
PS:此同志非彼同志。
判断闰年的Function:
function IsLeapYear(AYear: Integer): Boolean;
begin
Result := (AYear mod 4 = 0) and ((AYear mod 100 <> 0) or (AYear mod 400 = 0));
end;
我在M.. C..写的Delphi x系列中也没有看到如此简洁的代码。他也是用Case来Case去写的。
根据年、月来判断该月最大天数的Function:
function DaysPerMonth(AYear, AMonth: Integer): Integer;
const
DaysInMonth: array[1..12] of Integer =
(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
begin
Result := DaysInMonth[AMonth];
if (AMonth = 2) and IsLeapYear(AYear) then
Inc(Result);
{ leap-year Feb is special }
end;
......
不要笑我少见多怪。我相信,这里能写出这样的代码的人不会多。实际写时肯如此优化的更少。
如果要笑的话,贴你写的代码!