Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить информацию по позиции в бинарный файл, Способы добавления инфы одной структуры 
V
    Опции темы
Vaskevych
  Дата 15.2.2012, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi Developer



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 30.12.2009
Где: UA. Rovno

Репутация: нет
Всего: нет



Всем привет вопрос следующий как добавить определенную информацию в файл без нарушения структуры.

Например:

user posted image

Запись идет через WriteBuffer ... вообщем используется стандартный TFileStream
PM   Вверх
northener
Дата 15.2.2012, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Считать файл в память, изменить считанный образ, записать измененный образ на диск.
Волшебных палочек для работы с файлами нет.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Vaskevych
Дата 15.2.2012, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi Developer



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 30.12.2009
Где: UA. Rovno

Репутация: нет
Всего: нет



Такой вариант не подходит, припустил файл в 150 Мб. и считывать все ето в память для изменения одного параметра ((((
Уж очень долго и много ресурсов надо а если ещё несколько обращений !!!! 

Может есть какие то иные варианты ????
PM   Вверх
Qu1nt
Дата 15.2.2012, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 18
Всего: 50



PM MAIL   Вверх
northener
Дата 15.2.2012, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Цитата(Vaskevych @  15.2.2012,  11:55 Найти цитируемый пост)
Такой вариант не подходит, припустил файл в 150 Мб. и считывать все ето в память для изменения одного параметра ((((

Так нужно добавить или изменить?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Vaskevych
  Дата 15.2.2012, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi Developer



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 30.12.2009
Где: UA. Rovno

Репутация: нет
Всего: нет



northener,  и добавить и изменить.
PM   Вверх
northener
Дата 15.2.2012, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Цитата(Vaskevych @  15.2.2012,  22:24 Найти цитируемый пост)
и добавить и изменить.

Изменить(т.е. когда размер файла не меняется) можно и без чтения. Рассчитать позицию, найти позицию в стриме функцией Seek и записать тем же WriteBuffer. А вот добавить совсем без чтения никак. Надо хотя бы прочитать ту часть файла, которая после добавления должна переместиться вниз на вашей схеме файла. Тогда можно добавить в нужную позицию то что надо добавить, а затем дописать ранее прочитанное.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Vaskevych
  Дата 16.2.2012, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi Developer



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 30.12.2009
Где: UA. Rovno

Репутация: нет
Всего: нет



northener,  Спасибо за помочь думаю так и сделаю !!!!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.