Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сорт. по дате. [D5, Win95/98]


Елена ©   (2002-01-27 22:30:00) 

У меня есть StringGrid, в него заносятся всякие данные, в том числе и дата. Мне нужно написать сортировку по дате, как это можно осуществить путём наименьших усилий?


MBo   (2002-01-28 08:17:00) [1]

procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
d,m,y:integer;
begin
randomize;
for i:=0 to sg1.rowcount-1 do begin
for j:=0 to sg1.colcount-1 do begin
if i=0 then begin
d:=random(30)+1;
y:=random(10)+1993;
m:=random(12)+1;
sg1.cells[i,j]:=datetostr(encodedate(y,m,d))
end
else sg1.cells[i,j]:=chr(random(26)+64);
end;
end;//заполнение случ. датами
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
temp:tstringlist;
begin
temp:=TStringList.Create;
for i:=0 to SG1.RowCount-2 do begin
for j:=i+1 to SG1.RowCount - 1 do
if strtodate(SG1.Cells[0,i])>strtodate(SG1.Cells[0,j]) then
begin
Temp.Assign(SG1.Rows[i]);
SG1.Rows[i].Assign(SG1.Rows[j]);
SG1.Rows[j].Assign(Temp);
end;//сортировка пузырьком- для больших таблиц лучше
//QuickSort
end;
Temp.Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо