Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.02.2007, 11:54
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию Запись в бинарный файл

Народ, такая проблема. Как в двоичном (бинарном) файле поменять символ, стоящий на определенной позиции?

Например, если сделать так:
procedure AddStrToFile(S:string;const FileName:string);
var
f:TFileStream;
begin
f.Position:=605;
f.Write(pointer(s)^,length(s));
f.Destroy;
end;
- то символ (строка) S записываецца в файл на эту позицию (605), а надо штобы заменялась.

Но не обязательно таким образом (TFileStream), может есть ищо какойнть способ...
Заранее спасибо!
Ответить с цитированием
  #2  
Старый 21.02.2007, 13:18
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию

все, разобрался:

procedure Replace(FileName:string);
var
f: file;
l: Longint;
oldstring, newstring, s: string;
begin
oldstring := '_NullFlags';
newstring := '_NullFlags.C';

s := oldstring;
AssignFile(f, FileName);
Reset(f, 1);
for l := 0 to FileSize(f) - Length(oldstring) - 1 do
begin
Application.ProcessMessages;
Seek(f, l);
BlockRead(f, oldstring[1], Length(oldstring));
if oldstring = s then
begin
Seek(f, l);
BlockWrite(f, newstring[1], Length(newstring));
ShowMessage('String successfully replaced!');
end;
Application.ProcessMessages;
end;
CloseFile(f);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter