Форум: "Основная";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
ВнизСортировка ListBox (значение Stlye = lbVirtualOwnerDraw) Найти похожие ветки
← →
Reals (2003-12-08 04:36) [0]Здравствуйте, уважаемые!
Помогите пожалуйста отсортировать ListBox со значением Style = lbVirtualOwnerDraw.
Кто знает, что можно сделать.
Данные (100000 записей) загружаються из файла в класс TFileStream. Потом при помощи события ListBox`а OnDrawItem из FileStream записи добавляються в ListBox.
Или может кто подскажете как отсортировать записи в TFileStream?
Заранее премного благодарен.
P.S. Переключить ListBox в Style = lbStandard или еще в какое-то значение отличное от lbVirtual не подходит.
← →
Babay (2003-12-08 05:15) [1]ИМХО использовать промежуточный StringList. А у него свойство Sorted есть.
← →
Reals (2003-12-08 06:25) [2]А как это повлияет на скорость выполнения?
Очень сильно или нет?
P.S. У меня очень важна скорость загрузки данных в ListBox.
← →
Babay (2003-12-08 07:50) [3]Это зависит от того что там у тебя реализуется...
Я ж не знаю чего там может у тебя еще какие объекты к пунктам пристегиваются или еще чего. Так что пробуй тебе все карты в руки.
Или опиши задачу подробнее чего за файл чего за данные как нужно выбирать и т.д. (все что посчитаешь нужным но подробнее) И почему именно lbVirtualOwnerDraw ?
Может и другие решения будут.
ИМХО 100 000 записей в ListBox ??? !!! юзер запарится их смотреть.
← →
Amoeba (2003-12-08 10:53) [4]Отображение порядка 100000 элементов в LisеBox - это просто нонсенс и форменное издевательство над пользователем. Подумай хорошенько над структурой и дизайном. Определенно что-то в них не так.
← →
Reals (2003-12-08 13:59) [5]Ok. опишу что к чему.
Я пишу обычный словарь (Румынско-Русский), как Lingvo.
Пользователь вводит слово в Edit, а в ListBox`е оно выделяеться.
Одним вловом, все сделано как в Lingvo.
Почему lbVirtualOwnerDraw? Потому что я записи добавляю через OnDrawItem и мне нужно указать количесво записей ListBox`у свойству Count. А ему можно присваивать только когда Style = какому-то из lbVirtual.
Вот это одна проблема. Если бы мне не нужно было указывать ListBox.Count я бы конечно использовал другой Style.
Я проверил несколько вариантов вставки записей в ListBox, OnDrawItem оказался самым быстрым выводом.
Может имеються другие какие-то советы, с удовольствием выслушаю и прму во внимание.
Структура файла, который находиться в TFileStream имеет 5 полей типа String. В ListBox я вывожу только одно поле.
Вот вроде и все.
Спасибо!
← →
Reals (2003-12-08 14:03) [6]Подскажите пожалуйста еще, как использовать событие OnDataFind в ListBox?
Я никак не могу понять, как его использоваться. Весь инет облазил ничего не нашел по этому событию.
Спасибо огромное!
← →
Reals (2003-12-08 18:42) [7]Мастера, подскажите что-нибудь!!
Заранее премного благодарен!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c