| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Добавить информацию по позиции в бинарный файл |
| Автор: Vaskevych 15.2.2012, 10:43 |
| Всем привет вопрос следующий как добавить определенную информацию в файл без нарушения структуры. Например: ![]() Запись идет через WriteBuffer ... вообщем используется стандартный TFileStream |
| Автор: northener 15.2.2012, 11:27 |
| Считать файл в память, изменить считанный образ, записать измененный образ на диск. Волшебных палочек для работы с файлами нет. |
| Автор: Vaskevych 15.2.2012, 11:55 |
| Такой вариант не подходит, припустил файл в 150 Мб. и считывать все ето в память для изменения одного параметра (((( Уж очень долго и много ресурсов надо а если ещё несколько обращений !!!! Может есть какие то иные варианты ???? |
| Автор: Qu1nt 15.2.2012, 12:08 |
| http://www.codeproject.com/Articles/17716/Insert-Text-into-Existing-Files-in-C-Without-Temp |
| Автор: Vaskevych 15.2.2012, 22:24 |
| northener, и добавить и изменить. |
| Автор: northener 15.2.2012, 22:50 |
Изменить(т.е. когда размер файла не меняется) можно и без чтения. Рассчитать позицию, найти позицию в стриме функцией Seek и записать тем же WriteBuffer. А вот добавить совсем без чтения никак. Надо хотя бы прочитать ту часть файла, которая после добавления должна переместиться вниз на вашей схеме файла. Тогда можно добавить в нужную позицию то что надо добавить, а затем дописать ранее прочитанное. |
| Автор: Vaskevych 16.2.2012, 13:14 |
| northener, Спасибо за помочь думаю так и сделаю !!!! |