Вставка байтов в файл
Код:
01 02 03 04 | 05 06 07 08 | 09 0A 0B 0C | 0D 0E 0F 10
, то должен стать таким:
Код:
FF 01 02 03 | 04 05 06 07 | 08 FF 09 0A | 0B 0C 0D 0E | 0F 10
Пробовал читать исходный файл в массив байтов, а потом побайтово писать, но это очень долго. Читает он сразу и быстро (Get 1, ,TheBytes()), а пишет долго. Потом пробовал читать в двойной массив TheBytes (8, -int(-lof(1)/8)) и попытаться писать по 8 байт. Читает правильно, а попытку Put 2, ,TheBytes(,i) (i - переменная цикла) он пресекает: Синтаксис нарушен (оно и понятно). Что делать?
1 - FSO.Get читаешь в текстовую переменную сразу много байт (я читаю до 1Мб, а ты с учетом вставки например 800 Кб)
2 - вставляешь что надо куда надо в эту большую переменную
3 - FSO.Put пишешь эту большую переменную
Я для работы с большими файлами быстрее спосода не нашел, хотя коряво.
Мне вот интересно, как записать за один раз 8 байт из массива?
Я тут попробовал(см.файл), наверное, тебе подойдет 3-й вариант с 8-ми байтовой текстовой переменной, это в несколько раз быстрее побайтной обработки.
Мда, возник тут вопрос: как узнать длину файла в таком случае?
Усе, решил. Спасибо еще раз!