В Примерах не нашел похожего.
Есть текстовый файл, достаточно большой.
Приизвести подгрузку его в элемент Таблица не составляет труда. А вот как произвести поиск по всем строкам?
Т.е. например из всего файла нужны строик имеющие в себе 2 слова - адрес, квартира, расположенных в любой части строки, так вот как или каким компонентом производить данный поиск?
Этот топик читают: Гость
Ответов: 952
Рейтинг: 4
|
|||
карма: 0 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
По двум, совершенно разным и находящимся в разных столбцах, словам ни одна таблица искать не будет, это же не база. Можно искать последовательно, сначала ближайшее поле, затем следующее, но штатная таблица не обладает функцией поиска, только StrTableMT и MStrTbl, как искать в последней, есть пример на wiki. но для этих целей лучше использовать базу, в ней и искать.
|
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
карма: 25 |
| ||
файлы: 1 | code_15126.txt [573B] [196] |
Ответов: 952
Рейтинг: 4
|
|||
Именно что база то мне и не подходит
Прога нужна для чтения и поиска в лог-файле. Попробую остановится на StrTableMT Может получу желаемый результат. спасибо за ответ. Не получилось с StrTableMT При указании для загрузки текстового файла-лога размером 180 Мб - приложение наглухо виснет Жаль. |
|||
карма: 0 |
|
Ответов: 4641
Рейтинг: 334
|
|||
user_asm писал(а): Именно что база то мне и не подходита чем тебя вариант от Tad, не устраивает? ------------ Дoбавленo в 11.21: user_asm писал(а): наглухо виснетоно не виснет, а грузится! ------------ Дoбавленo в 11.26: а что бы не вис, посмотри Thread |
|||
карма: 1 |
|
Ответов: 8926
Рейтинг: 823
|
|||
user_asm, да и зачем обязательно элемент Таблица, поскольку "адрес, квартира, расположенных в любой части строки", чем хуже, например, Список строк
nesco, часто возникает вопрос по большим файлам, иногда напрягает ожидание полной загрузки 180 Мб ; можно-ли сделать компонент для загрузки не всего файла, а его определённой части |
|||
карма: 19 |
|
Ответов: 952
Рейтинг: 4
|
|||
Я понимаю что грузится.
Сейчас пробую вариант Tad Выставил в свойствах сразу открытие файла с логом. В 27 минут запустил. Сейчас 31 минута - все еще не открылось. Открылось - в строках таблицы только первое слово из всей строчки файла-лога Убрал стрингдэлимитер - то же самое. |
|||
карма: 0 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Леонид писал(а): можно-ли сделать компонент для загрузки не всего файла, а его определённой части А что, разве это нельзя реализовать через копии стрима, переместив Position на нужное место и сделав копию определенного количества байт ------------ Дoбавленo в 11.49: Tad писал(а): а так не пробовал ?Ну ты и предложил, загружать файл в 189 Мб в одну таблицу и потом лопатить эту таблицу для получения результата. Вы хоть отдаленно представляете, что вы делаете |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
фильтрацию строк из лога надо делать до его загрузки куда бы то ни было. В зависимости от формата исходного файла с логами это делается через потоки(Stream) элементом DataToFile в режиме AnsiStringLines.
|
|||
карма: 27 |
|
Ответов: 952
Рейтинг: 4
|
|||
В принципе видеть весь лог в таблице мне без надобности.
Я хочу реализовать следующее - code_15133.txt Это просто интерфейс. Т.е. параметр или 2 вводится в поля Эдит и запуском на кнопку Поиск - запускаем поиск в логе и вывод строк с указанными в фильтре значениями в таблицу. Как бы задумка проста, но вот уперся в её претворение в жизнь. Щас буду пробовать прокурчивать вариант Tad Може еще кто идейку подкинет? |
|||
карма: 0 |
| ||
файлы: 1 | code_15133.txt [570B] [219] |
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Ну ты и предложилuser_asm писал(а): Приизвести подгрузку его в элемент Таблица не составляет труда. А вот как произвести поиск по всем строкам?пусть посмотрит в паралельной теме Компонент StringTable не принимает более 6469 строк |
|||
карма: 25 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
user_asm, ссылку на кусок своего лога кинь, мега на 1.5
|
|||
карма: 22 |
|
Ответов: 8926
Рейтинг: 823
|
|||
nesco,
nesco писал(а): А что, разве это нельзя реализовать через копии стрима, переместив Position на нужное место и сделав копию определенного количества байт |
|||
карма: 19 |
| ||
файлы: 1 | code_15134.txt [1KB] [220] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:21:41 |
|||
карма: 0 |
|
Ответов: 952
Рейтинг: 4
|
|||
Вот кусок лога
http://hiasm.com/forum_serv.php?q=56&id=556 Допустим мне там нужно вывести строчки имеющие в себе слова - serial и dur |
|||
карма: 0 |
|