Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.014 c
2-1224766335
Lamer6666
2008-10-23 16:52
2008.11.30
Kak obratit sa k elementu formi po ego imeni?


15-1222657245
Slider007
2008-09-29 07:00
2008.11.30
С днем рождения ! 29 сентября 2008 понедельник


15-1222511662
Игорь Шевченко
2008-09-27 14:34
2008.11.30
Предлагается звукотехника


9-1175243923
>>DEATH<<
2007-03-30 12:38
2008.11.30
реализация консоли


15-1222674092
Slider007
2008-09-29 11:41
2008.11.30
С днем рождения ! 27 сентября 2008 суббота