![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Ситуация такая... Есть библиотека слов записанная например в lib.txt, которые мне нужно пытаться найти в тексте введенном в Мемо1. Помоги организовать =)
|
#2
|
||||
|
||||
![]() Для поиска надо сделать сортировку слов. Если можно воспользоваться другим компонентом, то так:
Код:
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() так с поиском разобрались, а как из ТХТ файла, в котором порядка 50 слов, выдергивать их по одиночке для поиска?
И можешь в крадце описать, что происходит в 1 и 2 кодах? Последний раз редактировалось deathor, 28.03.2009 в 23:18. |
#4
|
||||
|
||||
![]() Ненадо выдергивать слова по одиночке, надо сразу загрузить в мемо содержимое текстового файла, т.к. и первый и второй варианты работают с уже загруженным списком. Загрузка реализуется методом самого компонента TMemo:
Код:
В первом варианте для поиска и сортировки используется компонет TStringList, собственно он и создан был для подобных операций. Сначала список сортируется, т.к. без этого невозможен корректный поиск методом Find. Во втором варианте делается тоже самое, что и в TStringList, только реализованы свои функции сортировки и поиска. Сортировку расписывать особо нечего, берется первый и следующий элемент, если первый элемент больше второго, то элементы меняются местами и так до конца списка. Это не самый быстрый способ сортировки, зато наиболее простой в реализации. С поиском тоже в принципе достаточно просто. Основное условие правильного поиска - обязательная сортировка. Берется список и сравнивается элемент из середины списка с поисковым значением. Если списочный элемент меньше, значит искомое слово находиться ближе к концу списка, если больше, то наоборот ближе к началу списка. Далее операция повторяется, только границы поисковые будут все время уменьшаться 1/2, 1/4, 1/8, 1/16 и т.д. пока не найдется нужный элемент. Данный способ сортировки очень быстр даже для очень больших списков. Если взять список в 100000 слов, то результат будет получен максимум за 16 проверок. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
![]() Что бы было понятно, что мне нужно провернуть скидываю код...
Код:
ну а в ТХТ фале хранятся имена програм, которые нужно найти... |
#6
|
||||||||
|
||||||||
![]() Понятно, замените в своем коде строчки:
Код:
Код:
Код:
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() Спасибо. Конечно не совсем так, как я хотел, но всеже работает ) И как вместо chrome.exe вставить мои билиотечку из ТХТ?
|
#8
|
||||
|
||||
![]() Т.е есть список имен программ имена которых надо предать анафеме и есть список запущеных процессов. Надо получить третий список в котором содержаться процессы преданные анафеме.
![]() Ну тогда можно так: Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#9
|
|||
|
|||
![]() Спасибо! Все работает!
|