Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2019, 16:17   #1
0xyg3n
 
Регистрация: 12.05.2019
Сообщений: 4
По умолчанию Поиск-извлечение блока данных из бинарного файла

Имеется некий бинарный файл, в нём нужно найти конец блока для копирования. Точно известно, что искомая где-то ближе к началу файла. Так что искать нужно с начала файла. Размер файла может быть больше чем количество оперативной памяти ПК. Поэтому читать весь файл в память и искать там позицию искомой фразы нельзя.
Прошу помощи, как поступить в данном случае.
0xyg3n вне форума Ответить с цитированием
Старый 15.05.2019, 16:21   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так не читайте весь сразу.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.05.2019, 16:26   #3
0xyg3n
 
Регистрация: 12.05.2019
Сообщений: 4
По умолчанию

Это я понимаю, просто хочу узнать как можно частями читать и искать в нем искомую строку, может кто-то видел готовый пример, а то я гуглил, но все предлагаемые варианты которые мне подошли бы были через загрузку всего файла в память и уже поиск в ней, это конечно очень быстро, но мне оно увы не подходит.
0xyg3n вне форума Ответить с цитированием
Старый 15.05.2019, 16:42   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от 0xyg3n Посмотреть сообщение
Это я понимаю, просто хочу узнать как можно частями читать и искать в нем искомую строку,
Либо используйте TFileStream (возьмите какую-нибудь киношку файл гиг на 8, откройте и проверьте, что TfileStream просто обёртка, которая отдаёт Вам столько байт, сколько попросите.

хотите, можете использовать олд-скул стайл - BlockRead() прочитает столько байт, сколько укажете.

Цитата:
Сообщение от 0xyg3n Посмотреть сообщение
может кто-то видел готовый пример
http://delphidabbler.com/tips/155
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2019, 20:30   #5
0xyg3n
 
Регистрация: 12.05.2019
Сообщений: 4
По умолчанию

Serge_Bliznykov, огромное спасибо за ссылку.

Последний раз редактировалось 0xyg3n; 15.05.2019 в 23:12.
0xyg3n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт данных из бинарного файла (.bin) на лист Excel Nomercy Microsoft Office Excel 24 23.08.2012 11:10
Поиск текста в массиве Char, массив берётся у бинарного файла(exe, dll) Человек_Борща Общие вопросы Delphi 13 08.10.2011 20:06
Чтение данных из бинарного файла Faramir02 Общие вопросы C/C++ 3 22.12.2010 22:43
Delphi Извлечение данных из файла txt ledenec Помощь студентам 2 07.04.2010 18:19
Поиск-извлечение блока данных из бинарного файла Alter Общие вопросы Delphi 6 28.11.2009 23:12