Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как можно и нужно организовать эффективный поиск внутри файла

5.0K
06 мая 2004 года
phyton
15 / / 26.04.2004
А проблема мой таков.
Прога проходит по всем каталогом и находя нужный файл с подходящим расширением заходит внутрь каждого файла. Там происходит поиск заранее заданного текста, и если оно там находиться, то имя файла автоматически включается в список.

Как вы сами видите скорость поиска впрямую зависит от зффективности локального поиска внутри файла.
Если у вас есть быстрый алгоритм поиска поделитесь пожалуйста.
10
06 мая 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by phyton
Если у вас есть быстрый алгоритм поиска поделитесь пожалуйста.


Если файл текстовый, его можно считать целиком в строку и потом воспользоваться AnsiString.Pos() (если использовать AnsiString) или же StrScan.

5.0K
07 мая 2004 года
phyton
15 / / 26.04.2004
Цитата:
Originally posted by smartsoft

Если файл текстовый, его можно считать целиком в строку и потом воспользоваться AnsiString.Pos() (если использовать AnsiString) или же StrScan.



Ну вообще то файл текстовый , но можно искать любой файл. А вот насчет AnsiString.Pos()
Надо ли весь файл в буфер скопировать и только потом там искать или впрямь внутри файла сравнивать тексты?

10
07 мая 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by phyton
Ну вообще то файл текстовый , но можно искать любой файл. А вот насчет AnsiString.Pos()
Надо ли весь файл в буфер скопировать и только потом там искать или впрямь внутри файла сравнивать тексты?


AnsiString ориентируется на длину строки, и кладет на содержимое, поэтому ею можно пользоваться для хранения и поиска любых символов.
Ну, а для того, чтобы произвести поиск при помощи одного вызова Pos(), придется весь файл считать в одну строку. Как это сделать, уже обсуждалось не раз на этом форуме.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог