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

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

Быстрый поиск в 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]

Если список сортированный, то делайте поиск делением пополам или золотым сечением.
Если не сортированный - отсортировать, создать массив индексов соответствия сортированного и не сортированного списков. А дальше проводите поиск в сортированном списке (см. выше) и по индексу определяйте номер строки в не сортированном списке.


Наверх

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