var T0,T1:Ttreenode;
aDay:Tdatetime;
Y,M,D:word;
begin
Y:=0;M:=0;D:=0;
aDay:=strtodate('2002-01-01');
while aDay<=now do
begin
if yearof(aDay)<>Y then
begin
Y:=yearof(aDay);
T0:=treeview1.Items.Add(nil,inttostr(Y));
end;
if monthof(aDay)<>M then
begin
M:=monthof(aDay);
T1:=treeview1.Items.AddChild(T0,inttostr(M));
end;
D:=dayof(aDay);
treeview1.Items.AddChild(T1,inttostr(D));
aDay:=aDay+1;
end;
end;