Главная страница
    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.46 MB
Время: 0.006 c
3-1210834419
Непонятная ошибка
2008-05-15 10:53
2008.11.30
Непонятное поведение запроса Firebird


2-1224600668
romychk
2008-10-21 18:51
2008.11.30
dat файлы


4-1201114905
Artem
2008-01-23 22:01
2008.11.30
Как заменить иконку?


2-1224582071
Lex
2008-10-21 13:41
2008.11.30
Indy рассылка


15-1222501405
FoxNew
2008-09-27 11:43
2008.11.30
С чего начинать и что нужно для БД SQL-Server + Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский