Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Быстрая проверка на наличие элемента в списке

Поиск:
Я тут нашел (опять нашел :)) одну интересную фишку. А именно способ проверки элемента в списке. Пример (см. ниже) я только немного поподробней написал, чтобы было проще.

Если вы хотите определить, находится ли в списке какой-либо определенный элемент, обычно вы создаете массив, в котором и осуществляете поиск. В качестве более быстрой альтернативы для коротких списков предлагаем использовать строку неограниченной длины вместо массива. Например, предположим, что у вас есть элемент управления ListBox и вы хотите проверить, содержится ли там заданный пользователем элемент. Для начала осуществите просмотр списка в цикле и создайте такую строку:
Код
For X = 0 To List1.ListCount - 1
   strItemList = strItemList & "[" & List1.List(X) & "]"
Next X

После этого с помощью функции Instr() определите, содержит ли новая строка искомый элемент:
Код
If InStr(strItemList, "[" & strTestItem & "]") Then
MsgBox "Уже есть в списке"
Else
MsgBox "Добавьте в список..."
End If

Авторы статьи: Андрей Колесов, Ольга Павлова
Статья взята на: www.beda.stup.ac.ru

Вот пример использования:
Код
Option Explicit

Private Sub Command1_Click()

   Dim strTestItem As String
   Dim strItemList As String
   Dim x As Integer

   strTestItem = "один"

   For x = 0 To List1.ListCount - 1
       strItemList = strItemList & "[" & List1.List(x) & "]"
   Next x

   If InStr(strItemList, "[" & strTestItem & "]") Then
       MsgBox "Уже есть в списке"
   Else
       MsgBox "Добавьте в список..."
   End If

End Sub

Private Sub Form_Load()
   
   List1.AddItem "один"
   List1.AddItem "два"
   List1.AddItem "три"
   List1.AddItem "четыре"
   List1.AddItem "пять"

End Sub
Автор: cardinal
Сайт: http://






Просмотров: 4484

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную