![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 121
|
![]()
Здравствуйте уважаемые форумчане, возникла следующая задача, прочитать файл в память, заменить один байт в нем и сохранить на диск.
Например, имея файл из 4-х байт ![]() Нужно например заменить второй байт на FF Чтоб получилось так: ![]() Причем находил примеры кода (так называемого патчинга файла) то есть переход по заданному смещению и замена байта в файле на диске, но это не то что мне нужно, так как мне перед этим нужно прочитать файл в память, заменять файл нужно уже именно памяти, только потом уже записывать на диск. Как это можно сделать программно, прошу Вашей помощи. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
используйте TFileStream
примерно так: Код:
Цитата:
а что значит - прочитать файл в память? Код:
ну так прочитайте: Код:
Код:
Ну и если файлик будет многогиговый, надо много времени и памяти, чтобы его полностью прочитать. Смысл какой в этом? Последний раз редактировалось Serge_Bliznykov; 17.08.2016 в 15:58. |
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 121
|
![]()
копнул в сторону TFilestream как вы изначально и предложили, пробовал сделать так
Код:
![]() То есть первый файл 1.txt создается измененный как и положенно а вот дальше программа встает с ошибкой. Ппробовал выносить fss2.Free; за пределы цикла - увы не помогло. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
fss1 позицию в 0 перед копированием?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 121
|
![]()
Спасибо Вам обоим, разобрался с Вашей помощью =)
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]()
Но TFileStream это не память. Это файл. Раз хотите именно в памяти, то используйте например TMemoryStream
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменить mysql на файл (вместо записи в БД записывать в текстовый файл) | прак | PHP | 2 | 16.12.2015 23:21 |
Записи в файл. | MiaKotova | Общие вопросы Delphi | 3 | 14.07.2015 10:04 |
Создать файл студент. Из файла студент занесите в отдельный файл записи об отличниках | MrDeura | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.05.2015 21:05 |
Вопрос по записи в файл | arcer | Общие вопросы C/C++ | 1 | 14.08.2010 19:13 |
Вопрос по записи в БД | Rootz | БД в Delphi | 1 | 11.05.2008 00:56 |