Текущий архив: 2008.11.30;
Скачать: CL | DM;
ВнизTstringlist - сортировка по value Найти похожие ветки
← →
Me (2008-10-14 16:30) [0]Добрый день.
Есть следующие данные в tstringlist.text:
Jack=3
Bobby=5
Chris=9
Todd=2
Mike=1
Требуется отсортировать данный tstringlist, чтобы в итоге получилось:
Mike=1
Todd=2
Jack=3
Bobby=5
Chris=9
Требуется, чтобы алгоритм сортировал данный tstringlist по убыванию.
- Собственных идей нет, поэтому прощу помощи профессионалов.
Заранее спасибо!
← →
Сергей М. © (2008-10-14 16:35) [1]Самый простое - использовать TStrringList.CustomSort
← →
Me (2008-10-14 16:42) [2]Спасибо за быстрый ответ!
Вас не затруднит показать исходный код реализации данного алгоритма с CustomSort?
← →
Сергей М. © (2008-10-14 16:48) [3]Не затруднит.
Но хотелось бы знать, была ли Вами перед этим проштудирована стандартная справка на предмет изучения назнаячения и работы этого метода, а также были ли попытки поиска в Интернете готовых примеров его использования ?
← →
Me (2008-10-14 16:51) [4]Беусловно данный комплекс действий был проведен — к величайшему сожалению, подходящих результатов поиска в поисковых системах (Yandex, Google) к подходящему результату не привели.
Поэтому глубочайше прошу показать исходный код реализации данного алгоритма с CustomSort.
Спасибо!
← →
Сергей М. © (2008-10-14 17:06) [5]
function CompareFunc(List: TStringList; Index1, Index2: Integer): Integer;
var
i1, i2: Integer;
s1, s2: String;
begin
s1 := List[Index1];
s2 := List[Index2];
i1 := StrToInt(Copy(s1, Succ(Pos(s1,"="), Length(s1));
i2 := StrToInt(Copy(s2, Succ(Pos(s2,"="), Length(s2));
if i1 > i2 then Result := 1
else if i1 < i2 then Result := -1
else Result := 0;
end;
..
MyStringList.CustomSort(@CompareFunc);
← →
Me (2008-10-14 17:26) [6]Огромное спасибо :)
← →
Сергей М. © (2008-10-14 17:26) [7]Сразу видно - партнер !
← →
Юрий Зотов © (2008-10-16 17:38) [8]А почему не ValueFromIndex? Ведь NameValueSeparator может быть и другим.
← →
palva © (2008-10-20 20:47) [9]
> if i1 > i2 then Result := 1
> else if i1 < i2 then Result := -1
> else Result := 0;
>Result := i1 - i2;
так тоже должно работать.
Страницы: 1 вся ветка
Текущий архив: 2008.11.30;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.004 c