![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск по вхождению [D7, XP]
Дилетант © (2005-10-05 12:31:00)Помогите, пожалуйста! Как организовать поиск по вхождению? Например, есть код 1283562, в Edit поле вводится 3562, надо найти соответствующий код. Спасибо
evvcom (2005-10-05 16:09:00) [1]
> всю базу перебирать? :-(((
А думаешь Locate выборочно перебирает?
Игорь Шевченко (2005-10-05 15:48:00) [2]Дилетант © (05.10.05 15:12) [5]
> всю базу перебирать? :-(((
Все подмножество записей, выбранное запросом из базы, например.
> Нужно организовать поиск, чтобы после Enter-а на Edit-поле,
> в которое введено произвольное количество символов, курсор
> вставал на первую позицию, которая удовлетворяет условиям
> поиска
Если поиск по началу, то можно использовать Locate с опцией loPartialKey
Если по произвольному вхождению, то [5]
Дилетант (2005-10-05 15:12:00) [3]всю базу перебирать? :-(((
Игорь Шевченко (2005-10-05 15:00:00) [4]
> Или тут не locate надо использовать?
Тут надо использовать последовательное чтение и в каждой прочитанной записи проверять совпадение условия по Pos
Дилетант (2005-10-05 14:48:00) [5]Я, наверное, не очень корректно задаю вопрос...
есть таблица с большим количеством позиций, отсортировано по кодам, которые не повторяются. Нужно организовать поиск, чтобы после Enter-а на Edit-поле, в которое введено произвольное количество символов, курсор вставал на первую позицию, которая удовлетворяет условиям поиска.
locate('kod',pos(edit.text,fieldbyname('kodm').AsString)>0, []) не ищет... Или тут не locate надо использовать?
Antonn (2005-10-05 13:33:00) [6]if pos('3562','1283562')>0 then входит else не входит
MBo (2005-10-05 12:32:00) [7]Pos ?