Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка на наличие элемента в ListBox [D7, XP]


AlexanderMS ©   (2006-04-24 19:24:00) 

Помогите, пожалуйста! Можно ли проверить наличие элемента в ListBox? В списке - около 7 тысяч элементов, и было бы нерационально перебирать их все. Список неупорядочен. Может, существует какая-нибудь функция?


AlexanderMS   (2006-04-25 19:01:00) [1]

Большое спасибо


KilkennyCat   (2006-04-25 11:14:00) [2]


>  [3] EvS ©   (24.04.06 19:45)
> Свойство Items имеет тип TStrings
> Класс TStrings имеет метод IndexOf


function TStrings.IndexOf(const S: string): Integer;
begin
 for Result := 0 to GetCount - 1 do
   if CompareStrings(Get(Result), S) = 0 then Exit;
 Result := -1;
end;


Гаврила   (2006-04-24 20:06:00) [3]

Если у тебя поиск с помощью "indexOf" занимает, на твой взгляд, неприемлимое время ,и если список дейстувительно должен быть неупорядоченный, то советую держать второй невидимый список - сортированный, и наличие проверять в нем, содержимое дублировать.
Неплохой класс для этого - THashedStringList


EvS   (2006-04-24 19:45:00) [4]

Свойство Items имеет тип TStrings
Класс TStrings имеет метод IndexOf


AlexanderMS   (2006-04-24 19:35:00) [5]

Мне нельзя допустить наличие двух и более одинаковых элементов в списке после переименования одного из элементов. А делать это придётся часто - такая уж программа! Есть какой-нибудь способ?


KilkennyCat   (2006-04-24 19:28:00) [6]

неупорядочный список 0- только тупым перебором. Если упорядочить - то будет намного проще....


Наверх

Титульная страница Поиск, карта сайта Написать письмо