|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.11.2013, 21:58 | #1 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
Сортировка по VALUE в ValueListEditor
Добрый день. Есть процедура,которая сортирует пару KEY--VALUE(слово--число) по значению VALUE и передает результат в ValueListEditor, для просмотра
Код:
рпрпропопр--99 пиропиррор--87 прррпррппр--33 титититьит--223 рпрпрпрпрр--12 хотя строка титититьит--223 в ValueListEditor должна быть наверху так как 223 больше чем 99 Вопрос: где ошибка и как поправить? |
13.11.2013, 22:02 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Преобразуй в integer и сравнивай по значению, а не строки. Строка '99' больше '223', а вот в числовом виде наоборот
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2013, 22:07 | #3 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
так а функцию какую? использовать? что то непонятно
|
13.11.2013, 22:13 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А что, никогда в integer не преобразовывал? StrToInt
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2013, 22:27 | #5 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
типа того?
AnsiCompareStr(StrToInt(List.ValueF romIndex[Index2]), StrToInt(List.ValueFromIndex[Index1])) но function AnsiCompareStr ( const String1, String2 : string ) : Integer; сравнивает строки и выдает число -1 или 0 или 1 непонятно |
13.11.2013, 22:36 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
На AnsiCompareStr свет клином сошелся? IF ... ELSE и в Result -1, 0 или 1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2013, 22:54 | #7 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
это типа: AnsiCompareStr(List.ValueFromIndex[Index2], List.ValueFromIndex[Index1]); слишком просто и не то что нужно?
а нужно усложнить, тут дело в том что в СПИСОК передается из ValueListEditor1 пара роророро=44 (точнее много таких пар), их надо в списке отсортировть по число и вернуть обратно в ValueListEditor1 не испортив пары так что тут придумать? можно.. что то никак не пойму, может в списке в принципе нельзя отсортировать как надо? |
13.11.2013, 23:04 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.11.2013, 23:12 | #9 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
ну вот, теперь работает
большое спасибо, глубоко же эта функция заныкалась в юнит Math, сразу и не понятно где искать. а может там есть функция для сравнения нецелых чисел, типа пропрп=3,45 не INTEGER а Real или в общем дробное число???? |
13.11.2013, 23:17 | #10 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
вы бы про эту почитали, может и она умеет..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка построчно ValueListEditor Delphi | Венгельс | Помощь студентам | 0 | 05.06.2011 17:26 |
Сортировка построчно ValueListEditor | Венгельс | Помощь студентам | 0 | 05.06.2011 14:38 |
ValueListEditor | Pasha_Sh | Помощь студентам | 1 | 26.11.2010 13:19 |
ValueListEditor | StartMis | Общие вопросы Delphi | 3 | 23.12.2009 01:02 |
ValueListEditor | deadh5n1 | Компоненты Delphi | 2 | 31.05.2008 22:54 |