Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск текста в TListView. 
:(
    Опции темы
myxa_0
Дата 30.1.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.1.2007

Репутация: нет
Всего: нет



Существует ли быстрый способ проверить, наличае определенного текста в конкретной колонке TListView? Данные не отсортированны. 
ViewStyle: vsReport
PM MAIL   Вверх
_hunter
Дата 30.1.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



существует: хранить set текстов конкретной колонки (для всех колонок -- массив моножеств текстов)


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
CatATonik
Дата 30.1.2007, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



А зачем? Чем SubItems не устраивают?
PM MAIL   Вверх
Sunvas
Дата 30.1.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(myxa_0 @  30.1.2007,  12:35 Найти цитируемый пост)
в конкретной колонке

Ну, дык обыкновенным фором пробежаться по всей колонке. В чем проблема-то??


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
myxa_0
Дата 31.1.2007, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.1.2007

Репутация: нет
Всего: нет



Строк более 1000000 и проверку необходимо осуществлять при добавлении каждой новой строки. Новые записи добавляются довольно большое кол-во за короткий промежуток времени.

Sunvas
Следовательно обыкновенным фором не так уж и быстро получится.

PM MAIL   Вверх
dumb
Дата 31.1.2007, 05:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



Цитата(myxa_0 @  31.1.2007,  03:24 Найти цитируемый пост)
Строк более 1000000 и проверку необходимо осуществлять при добавлении каждой новой строки.

сохраняй хэши строк в массив.
при добавлении:
1. считаешь хэш добавляемой строки (самое простое - crc32)
2. смотрим в массив на предмет "дупа":
Код

  mov edi, HashArray
  mov ecx, HashArrayCount
  cld
  mov eax, HashOfNewString
  repnz scasd
  je found_dupe

3. а собственно все... smile

массив с хэшами выделять динамически и расширять по мере надобности.

по сравнению с фор'ом должно быть резвее, но все равно... 4 мега пробежать - тоже время...
PM MAIL   Вверх
CatATonik
Дата 31.1.2007, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



При добавлении 1M строк в ListView скорость поиска вообще не будет иметь ни какого значения, т.к. он просто не переваривает подобные объемы, уже после нескольких тысяч он начинает тормозить так, что не приведи господь. Используй что-ить другое, VirtualTreeView например.
PM MAIL   Вверх
CatATonik
Дата 31.1.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.1.2007
Где: Москва

Репутация: 6
Всего: 8



Немного не потеме: выводить пользователю 1000000 строк, это безобразие. Что он там может увидеть? Нужно делать фильтры, группировки и т.д. Кроме того, если средний размер строки ~200 байт 1Mb * 200B = 200Mb!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1044 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.