Вверх ↑
Этот топик читают: Гость
Ответов: 499
Рейтинг: 1
#16: 2007-04-03 06:11:56 ЛС | профиль | цитата
может кто помнит, не пробегал ли тут алгоритм числовой сортировки, который можно привязять к таблице. я так понимаю, что таблица может отдать только строку, а чтобы получить стобик - нужно ее всю перешерстить.

(перенесено из другой темы, туда по ошибке запостил)
Dilma писал(а):
HikeR писал(а)
а если по делу - может кто помнит, не пробегал ли тут алгоритм числовой сортировки, который можно привязять к таблице. я так понимаю, что таблица может отдать только строку, а чтобы получить стобик - нужно ее всю перешерстить.


в том случае, когда есть метод, возвращающий два числа и ожидающий назад результат их сравнения весь алгоритм сводится к банальному сравнению на больше/меньше.


так сравнить два числа и поменять их местами по возрастанию-убыванию еще в школе учили.
просто весьма долгое время занимает следующий алгоритм:
- по индексу столбца i прочитать все значения i каждой строки
- сбросить их в StrList в виде (индекс строки j; значение i)
- методом пузырьков отсортировать, причем предварительно проверить каждое на предмет символа разделителя дробной части, если не соответствует локальным настройкам - то поменять
- построчно прочитать таблицу, копируя всю строку в конец списка и удаляя на старом месте
вроде просто, но ощутимо притормаживает на таблицах от 32х40, хотя встроенная сортировка мнгновенно работает.
если бы переписать это на дельфях (или еще на чем), то побыстрее должно быть, наверное, но тут я не силен
карма: 0

0
Ответов: 1305
Рейтинг: 29
#17: 2007-04-03 07:20:22 ЛС | профиль | цитата
HikeR писал(а):
построчно прочитать таблицу, копируя всю строку в конец списка и удаляя на старом месте
вроде просто, но ощутимо притормаживает на таблицах от 32х40, хотя встроенная сортировка мнгновенно работает.

Это лишнее - если ты уже все пересортировал в StrList, то просто очисти таблицу и запиши туда данные из StrList заново. Это побыстрее будет
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#18: 2007-04-03 11:47:06 ЛС | профиль | цитата
Galkov, работает и и скролл не пропадает... При первом запуске потребовало ColClick.
Пришлось определить.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#19: 2007-04-03 12:19:26 ЛС | профиль | цитата
В общем думаю я так:

  • добавить левую точку doSortDigit (попробовал поди, а?)
  • добавить левую точку doSortExtCmp и верхнюю точку Cmp, которая "наверх" будет передавать две строки для сравнения. Пусть даже MT, как сказал Dilma Это строки из ячеек запрошенного столбца, а результат сравнения нужно вернуть как число >0, =0, <0

    Вроде бы разнообразие левых точек необходимо для того, чтобы в одном элементе можно было проводить сортировку разных столбцов разным макаром....
  • карма: 9

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #20: 2007-04-03 21:33:57 ЛС | профиль | цитата
    Galkov писал(а):
    - и скролл не пропадает...

    Galkov, а ты в курсе, что скролл пропадает только, если Flat=false? При Flat=true скролл пропадать никак не хочет. Какое твое мнение -- с чем такая интересная фича связана? Мне кажется, что это как-то связано с опцией lvoFlatsb, которая как раз и устанавливается для Flat=true.
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #21: 2007-04-03 22:05:26 ЛС | профиль | цитата
    1) в курсе
    2) никакого
    3) молчание воспринимаю как знак согласия
    карма: 9

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #22: 2007-04-06 03:17:08 ЛС | профиль | цитата
    Galkov, покажи пример применения doSortExtCmp. Совсем непонятно, что он сортирует. Наверх (на ExtCmp) выдает последовательно по два MT значения, и что с ними делать?
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #23: 2007-04-06 08:45:41 ЛС | профиль | цитата
    code_1225.txt
    карма: 9

    0
    файлы: 1code_1225.txt [858B] [397]
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #24: 2007-04-07 00:02:00 ЛС | профиль | цитата
    Galkov, скажи честно -- этот метод ты для себя сделал? Он, конечно, очень интересный, но будут ли им пользоваться?
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #25: 2007-04-07 00:04:14 ЛС | профиль | цитата
    nesco, какие к тебя варианты, если захочешь сортировать по времени-дате

    Если делать выводы из непонимания - твой стиль... Меняй профессию
    карма: 9

    0
    Ответов: 3655
    Рейтинг: 69
    #26: 2007-04-07 00:12:43 ЛС | профиль | цитата
    nesco писал(а):
    но будут ли им пользоваться?

    Да больно уж мудрёно.

    [size=-2]------ Добавлено в 00:12
    Galkov писал(а):
    Если делать выводы из непонимания

    Странный стиль то что понятно каждому в дистрибутив не добавляют ,а что непонятно в первую очередь.
    карма: 0

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #27: 2007-04-07 00:17:50 ЛС | профиль | цитата
    Galkov писал(а):
    nesco, какие к тебя варианты, если захочешь сортировать по времени-дате

    Если делать выводы из непонимания - твой стиль... Меняй профессию

    А я здесь причем? И почему "делать выводы из непонимания", я его прекрасно понял, после того как ты показал пример. "Какие к тебе варианты" -- это к чему? И я не про себя спрашивал, а вобщем.
    карма: 22

    0
    Ответов: 9906
    Рейтинг: 351
    #28: 2007-04-07 00:38:56 ЛС | профиль | цитата
    nesco, сделай сортировку по дате.
    Ты говорил о чем угодно, кроме этого.
    Может поставишь себе в труд подумать пять минут, перед тем как отвечать.
    Нефига ты не понял.


    Вячеслав,
    Есть другие варианты меннее мудреные
    Задавался вопрос - все промолчали.
    Предложений не последовало.
    А теперь обсуждение закончено.
    Для ButtonEx заводи другой топик.
    карма: 9

    0
    Ответов: 3655
    Рейтинг: 69
    #29: 2007-04-07 00:52:45 ЛС | профиль | цитата
    Galkov писал(а):
    Есть другие варианты меннее мудреные

    Внешняя сортировка.
    Компонент который читает массив ,сортирует и кладёт обратно.
    Galkov писал(а):
    Для ButtonEx заводи другой топик.

    Я не про ButtonEx а про принцип добавления в дистрибутив.
    Типа если это тебе надо самому то добавляем, а ненадо значит не добавляем и пишем что некогда.
    карма: 0

    0
    Разработчик
    Ответов: 26113
    Рейтинг: 2126
    #30: 2007-04-07 00:54:34 ЛС | профиль | цитата
    Galkov писал(а):
    сделай сортировку по дате.
    Ты говорил о чем угодно, кроме этого

    А она мне нужна была? Почему я, или кто-либо, должны догадываться для чего ты это все сделал? Вместо того, чтобы нормально описать метод, ты на меня наезжать начинаешь. Я что -- "козел отпущения". Все, для меня тема -- закрыта.
    карма: 22

    0
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)