Описание:
В попытках разобраться как работают такие объекты как ЧтениеДанных, ЗаписьДанных, БуферДвоичныхДанных пришел к написанию этой обработки, ибо проще всего понять, когда "потрогаешь".
Предлагаемая обработка рабочая, но в силу того, что использовалась мало, может содержать ошибки. Тем не менее поиск, переход в произвольное место, просмотр и внесение изменений в бинарный файл она выполняет. Сервиса минимум, но зато постарался оптимизировать по скорости.
Произвольную маску для поиска можно набрать руками, по аналогии со стартовым примером: или символами, или кодами (если что-то с клавиатуры не набирается).
В больших файлах поиск может занять достаточно продолжительной время. Предварительная оценка возможного времени поиска выводится в поле "справочно" (это, чтоб совсем неожиданностью не стало).
Просмотр (для скорости) выводит не все данные файла, а только позиционируется на нужной строчке (можно пролистать стрелками, страницами, выполнить поиск или перейти по индексу) и +- 50 строк от неё (чтоб хоть что-то читалось).
При любом изменении в основной таблице просмотра фиксируются (для дальнейшего изменения, но пока не меняются) в таблице Изменения. Текущий индекс из таблицы изменений будет приоритетно подставляться в диалог для перехода (из меню поиск). Для того, чтоб изменения вступили в силу, как это не парадоксально, предусмотрена кнопка "Записать изменения".
NB:
Обработка реально работает!!! Тренируйте на ненужных файлах!
PS:
Код открытый. Читайте, дорабатывайте, пользуйтесь.
PРS:
Обработка тестировалась на платформе 8.3.22.1709.