|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.08.2016, 15:43 | #1 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 121
|
Вопрос по записи в файл
Здравствуйте уважаемые форумчане, возникла следующая задача, прочитать файл в память, заменить один байт в нем и сохранить на диск.
Например, имея файл из 4-х байт Нужно например заменить второй байт на FF Чтоб получилось так: Причем находил примеры кода (так называемого патчинга файла) то есть переход по заданному смещению и замена байта в файле на диске, но это не то что мне нужно, так как мне перед этим нужно прочитать файл в память, заменять файл нужно уже именно памяти, только потом уже записывать на диск. Как это можно сделать программно, прошу Вашей помощи. |
17.08.2016, 15:45 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
используйте TFileStream
примерно так: Код:
Цитата:
а что значит - прочитать файл в память? Код:
ну так прочитайте: Код:
Код:
Ну и если файлик будет многогиговый, надо много времени и памяти, чтобы его полностью прочитать. Смысл какой в этом? Последний раз редактировалось Serge_Bliznykov; 17.08.2016 в 15:58. |
|
17.08.2016, 16:45 | #3 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 121
|
копнул в сторону TFilestream как вы изначально и предложили, пробовал сделать так
Код:
То есть первый файл 1.txt создается измененный как и положенно а вот дальше программа встает с ошибкой. Ппробовал выносить fss2.Free; за пределы цикла - увы не помогло. |
17.08.2016, 16:56 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
fss1 позицию в 0 перед копированием?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.08.2016, 17:00 | #5 |
Форумчанин
Регистрация: 13.01.2010
Сообщений: 121
|
Спасибо Вам обоим, разобрался с Вашей помощью =)
|
18.08.2016, 08:03 | #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 |