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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 19:15   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Insert для типизированного файла.

Записиваю матрицу байт в файл, потом брожу по файлу с Seek, считываю значения, в общем веселюсь, как могу. Изменяю значение при помощи BlockWrite:
Код:
FF FE ED

Seek(F,1);
B:=$23;
BlockWrite(F, B, 1);

FF 23 ED
В общем, производится именно то, что мне надо. А вопрос заключается в следующем:
При таком подходе производится ЗАМЕНА байта (или ряда байтов), а вот возможно ли делать ВСТАВКУ ряда байтов без переписывания всего файла вручную? Сейчас мне это не горит, но может пригодится...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 19.02.2010, 19:34   #2
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Может через потоки попробовать ?
Читаем из файла (используем TFileStream) до нужного байта или последовательности, пишем в другой поток (TMemoryStream) потом туда же пишем нашу последовательность. Потом читаем хвост файла и пишем все в тот же поток.
Ну а потом тот поток в который писали в файл.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 19.02.2010, 19:39   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Хм... Это конечно вариант, но покороче никак нельзя? Я ничего не имею против потоков, но громоздко как-то...
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 19.02.2010, 19:50   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Ну если данные невелики, то может читать в строку как в буфер, а потом Insert ?
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 19.02.2010, 20:00   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
Ну если данные невелики, то может читать в строку как в буфер, а потом Insert ?
Спасибо, учту и такой вариант.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание типизированного файла Siluet Общие вопросы Delphi 10 26.09.2009 12:47
Загрузка данных из типизированного файла diliana Паскаль, Turbo Pascal, PascalABC.NET 33 30.07.2009 14:59
Cортировка типизированного файла по 3м признакам Dremgor Помощь студентам 3 05.06.2009 14:10
Проблема с чтением типизированного файла. Вадим Буренков Общие вопросы Delphi 8 28.05.2009 13:31