Показать сообщение отдельно
  #16  
Старый 14.12.2008, 21:05
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Ну в таком случае можно извратится до такого:
Код:
type
 TMyRec = record
           AName: String;
           ADate: array [1..3] of Integer;
          end;
var
 MyRec : array [1..10] of TMyRec;
 AMyRec: TMyRec;

 for i := 1 to 10 do
  for j := 1 to 10-i do
   if MyRec[j].ADate[1] < MyRec[j+1].ADate[1] then
   begin
    AMyRec := MyRec[j];
    MyRec[j] := MyRec[j+1];
    MyRec[j+1] := AMyRec;
   end;

 for i := 1 to 10 do
  for j := 1 to 10-i do
   if MyRec[j].ADate[2] < MyRec[j+1].ADate[2] then
   begin
    AMyRec := MyRec[j];
    MyRec[j] := MyRec[j+1];
    MyRec[j+1] := AMyRec;
   end;

 for i := 1 to 10 do
  for j := 1 to 10-i do
   if MyRec[j].ADate[3] < MyRec[j+1].ADate[3] then
   begin
    AMyRec := MyRec[j];
    MyRec[j] := MyRec[j+1];
    MyRec[j+1] := AMyRec;
   end;

MyRec[j].ADate[1] - дата
MyRec[j].ADate[2] - месяц
MyRec[j].ADate[3] - год
Ответить с цитированием