|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
|
Поиск информации по каталогу13.04.2016, 18:18. Показов 860. Ответов 16
Метки нет (Все метки)
Есть задача
Программе указываешь каталог с файлами ( там могут быть xls, doc, docx, xlsx, ACCDB и MDB, также могут лежать базы mysql, sql и т.п.) допустим в одном файле (таблице) найдена информация файл1: Иванов Иван Иванович 79996665555 ул.Гагарина 1 во втором файле есть такая строка жигули х555хх777 2004 г.в. третий файл содержит такую строку 12.04.2016 16:00 пр. Коммунистический 44 х555хх777 превышение скорости четвертый 79996665555 Генадий ул.Гагарина 1 3 порции пиццы и т.п. надо по запросу в поиске получить всю информацию например задал я Иванов программа вывела мне Иванов Иван Иванович машина жигули х555хх777 2004 г.в Часто бывает по адресу ул.Гагарина 1 что то в этом роде Вопрос №1 какой алгоритм лучше использовать для реализации поиска прочитать все файлы и записать в одну таблицу (проблема количество полей будет не совпадать) и потом каким оброзов вытащить всю информацию. Либо создовать для каждого файла таблицу и потом из кучи таблиц искать информацию Вопрос№2 сам поиск допустим я ввел Иванов нашел в первом файле строки с таким совпадением записал куда-нибудь себе до окончания поиска и пошел дальше по всем файлам записал все строки по первичному запросу как организовать поиск по данным из полученных строк Сильно не пинайте я ток разбираюсь в программирование \Если есть какието мысли пните меня в какую сторону идти и что использовать Зарание спасибо
0
|
|
| 13.04.2016, 18:18 | |
|
Ответы с готовыми решениями:
16
Поиск по диску и ошибка доступа к каталогу System Volume Information Ввод информации в структуру и поиск элемента по информации, находящейся в этом же элементе Запись в текстовый файл информации о студентах, поиск информации, сортировка |
| 13.04.2016, 21:51 | ||||||
|
а ничего не треснет? твоя программа будет уметь искать по всему-всему, а по своим же строкам не умеет?
0
|
||||||
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
||
| 14.04.2016, 11:56 [ТС] | ||
вопрос в в алгоритме получаю я данные в строках провожу поиск по первому слову программа находит совпадения в файлах и берет строку в которой нашла совпадение и так везде где нашла совпадения Получаю список строк с совпадениями дальше из этих строк надо выбрать ключевые чтобы запустить поиск по всем файлам по этим словам а предполагаю что надо взять такие слова как адрес телефон номер машины то что может быть уникальным и привязанным к человеку Как выделить из строки адрес Пример дана строка Иванов иван Иванович ленина 55 ваз2106 х555х777 надо получить 1. Леннина 55 2. ваз2106 х555х777 Иванов Иван Иванович Или Иванов И.И. Добавлено через 7 минут думал про написание справочников улиц хотя бы взять один город и хранить их в тхт файлах но тут проблема следующая в тхт файлах я будет либо улица Ленина а может быть и переулок Ленина в файле же может совсем не указана улица эта или переулок ил может будет сокращения типа ул. или пер. пр. (проспект) выделить телефон думаю следующим обзором сделать маску типа xxxxxxxxxxx и при просмотре слов в строках сравнивать если текущее слово состоит из цифр и соответствует маске то это телефон Пока только включил мозг вот до этой стадии дальше не знаю есть мысли по поводу реализации этого?
0
|
||
|
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
|
||||
| 14.04.2016, 12:10 | ||||
, когда можно воспользоваться СУБД (это легче и проще).
0
|
||||
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
||||
| 14.04.2016, 13:27 [ТС] | ||||
возникает проблема при поиске в не соответствии типов как использовать INFORMATION_SCHEMA в аксессе я не знаю
0
|
||||
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
||||||
| 14.04.2016, 13:39 [ТС] | ||||||
|
Вот что у меня получилось на данный момент
во вложении исходник
0
|
||||||
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
|
| 14.04.2016, 13:40 [ТС] | |
|
Если можно комментарии по коду и укажите на ошибки буду очень благодарен
0
|
|
|
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
|
|
| 14.04.2016, 13:54 | |
|
0
|
|
| 14.04.2016, 13:58 | |
|
ужас
бессмысленный и беспощадный велосипед особенно бесполезен поиск в БД (не зная логики хранения) запароленные базы, эксельки, доки, базы больше чем 500 мб вызовут у этого большие проблемы
0
|
|
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
|
| 14.04.2016, 14:08 [ТС] | |
|
0
|
|
|
W
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
|
|
| 14.04.2016, 14:42 | |
|
+100 велосипед! Сделайте им базу с четко заданными полями и пусть ручками все заново вносят со своих шпоргалок, возможно что-то и покопировать/позакачивать получится. А то вдруг у них еще где-то в левом кармане на кусочке туалетной бумаги тоже инфа есть которую поискать можно))
Добавлено через 15 минут И хорошо, если просто поискать, а то по вашему заданию инфа же там же и останется. Значит в следующий раз опять заново головняк и ее поиском. Например файл doc переместили, бумажку с кармана выкинули - и все поиск не удачный
0
|
|
|
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
|
||
| 14.04.2016, 14:54 | ||
|
P,S, Импорт в общую БД с определённой логикой хранения реализовать проще, чем поиск по 100500 файлам и БД самых различных форматов и содержимого.
1
|
||
| 14.04.2016, 16:07 | ||
|
с БД точно нужна работа? а если в базе все на справочниках и в таблицах только цифры? искать в базе нужно четко зная что\где лежит результаты поиска сохранять в локальную бд без потоков твоя программа - УГ Напиши для чего это ты все делаешь
1
|
||
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
||||||||
| 15.04.2016, 05:52 [ТС] | ||||||||
|
Тут вопрос сразу может он и тривиальный но я не знаю как реализовать запись текстовых (doc) документов в бд так как считывать можно построчно или абзацами я не пробывал считывать если в doc будет таблица, либо запихивать весь файл в поле... по поводу того что базы и файлы могут быть запароленны да такое возможно При Но считаем сейчас что мы знаем пароли от всех файлов и этот момент отпускаем думал об этом когда стало не удобно читать код но тут было бы классно не переливать с имеющийся базы в локальную а просто подключатся к ней используя СУБД текущий базы (непосредственно должны Быть установлены соответствующие СУБД) для формированиея ключивых слов для полного поиска по всем файлам Резюмируем 1. Ставим задачу по другому: Есть каталог все с теме же файлами (все базы не запаролены или мы знаем пароль от них, файлы также, мы не рассматриваем большие БД хотя зависит скорость обрабодки и от железа на котором все это выполняется) 2. Надо написать чтоб программа а) Читала и могла подключится к любому файлу и БД б) делаем общюю структуру хранения данных сливаем каждый файл в отдельную таблицу одной БД в) Если это бд то подключаемся к ней определяем таблицы, определяем поля, определяем типы полей далее организуем поиск исходя из исходного запроса на поиск тоесть ввыбираем из тех полей которые подходят по типу г) После первого поиска по ключевому слову или словам создаем таблицы с совпадением по это слову д) формируем из этой таблицы ряд параметров для поиска е) ищем по очереди по этим параметром по всем файлам ё)Результат также записываем в бд ж) Делаем сборку результата убирая повторения информации 3. Поиск организуем как Нечёткий поиск в тексте и словаре вот по этому алгоритму https://habrahabr.ru/post/114997/ 4. обработку каждого типа файла делаем отдельно а чтобы в чем то разобраться надо это "пощупать по ковырять" читать можно много но практика все таки это практика я не говорю что читать не надо! надо но совместно с практикой Всем спасибо кто откликнулся буду дальше мозг включать ![]() буду благодарен за ваши мысли по поводу этого всего или направлениях что и с помощью какого метода сделать СПАСИБО!
0
|
||||||||
|
W
115 / 115 / 33
Регистрация: 16.04.2013
Сообщений: 750
|
||
| 15.04.2016, 08:58 | ||
У тебя думаю срок выполнения примерно тот же, на счет зарплаты - тебе виднее Я к тому что человек (или несколько их) справятся с задачей на порядок быстрее, хотя процесс конечно монотонный и неинтересный будет и база на тот же порядок скучнее получится. Так что дерзай, если очень интересно!
0
|
||
| 15.04.2016, 09:35 | |||
|
представь себе таблицу вида id | id_1 | id2 | id_3 | id4 | id_5 | id6 | id_7 | id8 | id_9 | id10 | id_11 | где каждый ID это информация из справочника что ты тут найдешь? и не забудь 5. убрать с формы все визуальные компоненты, кроме диалога выбора папки
0
|
|||
|
0 / 0 / 1
Регистрация: 15.05.2014
Сообщений: 24
|
||||
| 15.04.2016, 10:06 [ТС] | ||||
|
qwertehok,
Спасибо! по результатом буду отписываться и выкладывать для критики промежуточные этапы
0
|
||||
| 15.04.2016, 10:06 | |
|
Помогаю со студенческими работами здесь
17
Реализовать поиск заданного файла в древе каталогов и поиск указанной информации в этом файле
Поиск информации
Поиск информации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|