![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сортировка в StringGridе
AlexJ © (2002-09-28 01:47:00)Уважаемые мастера! Вы уж мне (чайнику) ответьте, как в StringGridе сортировать строки. Например, по дате, по алфавиту. Заранее, спасибо!
PaRL (2002-09-28 16:45:00) [1]Я в своей проге делал TStringList - он сортировать умеет, дату не проверял, но должен работать.
//Массив. Можно динамический сделать.
type xxx = array [1..100] of array [0..100] of string;
var x : TStringList;
m, s, col, N, F, d, k : integer;
str : xxx;
begin
N := SG.ColCount-1;
F := SG.RowCount-2;
for m := 1 to F do
for s := 0 to N do
str[m, s] := SG.Cells[s, m];
x := TStringList.Create;
for m := 1 to SG.RowCount-2 do
x.Add(SG.Cells[0,m]); //заполняем StringList
x.Sort; //сортируем
for m := 1 to SG.RowCount-2 do
SG.Cells[0,m] := x.Strings[m-1]; //заносим обратно
for k := 1 to F do
for m := 1 to F do
if str[k, 0] = SG.Cells[0, m] then
for s := 1 to N do
SG.Cells[s, m] := str[k, s];
Я давно это делал, помню у меня там своя какая-то особенность была, так что сам уж разберись.