![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстрый поиск в RichEdit
Itap © (2002-09-22 15:58:00)На форме находятся: RichEdit1 (список заполняется из текстового файла) и Edit1.
Как наиболее эффективно решить следующую задачу: Пишем в Edit1 текст и по мере написания текста, строка в списке RichEdit1, начинающаяся с символов указанные в Edit1, была бы видна пользователю.
У меня есть на примете пару вариантов решения этой проблемы через прекрепление к файловой переменной файла потом поиска текста указание строки, выделения в RichEdit1 строки с такимже номером, или создание цикла, но всё это "подход через ...", я уверен что есть метод или какой-то другой подход для решения этого вопроса неужели поможет только цикл?
Song (2002-09-22 18:17:00) [1]Ой, сорри, я думал листбокс.
Тогда EM_FINDTEXT или EM_FINDTEXTEX
Itap (2002-09-22 18:03:00) [2]Как работает LB_SELECTSTRING в ListBox - понятно, а как её присобачить к RichEdit?
TTCustomDelphiMaster (2002-09-22 18:01:00) [3]Itap © (22.09.02 16:45)
> Тут задача чтобы пользователь видел элементв RichEdit
Что вы понимаете под термином "элемент"?
Если я правильно понял Itap © (22.09.02 15:58) нужно сделать что-то наподобие поиска в help. А конкретно задача заключается в том, чтобы найти в списке слов номер строки, в которой текст начинается с указанной последовательности символов. В таком случае общее решение уже было мной предложено см. TTCustomDelphiMaster © (22.09.02 16:32).
Если проблема была в чем-то другом, то постарайтесь задавать вопрос более конкретно, без лирики.
Song (2002-09-22 17:25:00) [4]LB_SELECTSTRING
Itap (2002-09-22 16:45:00) [5]>TTCustomDelphiMaster
Тут задача чтобы пользователь видел элемент в RichEdit который записан в Edit1. И нужно чтобы этот элемент начинался с букв которые записаны в Edit1
TTCustomDelphiMaster (2002-09-22 16:32:00) [6]Если список сортированный, то делайте поиск делением пополам или золотым сечением.
Если не сортированный - отсортировать, создать массив индексов соответствия сортированного и не сортированного списков. А дальше проводите поиск в сортированном списке (см. выше) и по индексу определяйте номер строки в не сортированном списке.