![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Править двоичные файлыDelphi , Файловая система , ФайлыПравить двоичные файлы
Оформил: DeeCo // Replaces a string in a file with new string. // Ersetzt eine Zeichenkette in einer Datei mit einer anderen Zeichenkette. procedure TForm1.Button1Click(Sender: TObject); var f: file; l: Longint; FileName, oldstring, newstring, s: string; begin oldstring := 'old string'; newstring := 'new string'; FileName := 'c:\YourFileName.xyz'; 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; Привет! Вот перевод текста на русский язык: Декларация процедуры
Это процедура, которая будет вызвана при клике кнопки Декларация переменных
Следующие переменные объявлены:
Инициализация
Следующие строки инициализированы:
Чтение и замена
Код читает двоичный файл блок за блоком, проверяет каждый блок на соответствие оригинальной строке и заменяет ее новой строкой, если соответствие найдено. Используются процедуры Замечания
Альтернативное решение Если вам нужно заменять строки в двоичном файле более эффективно, вы можете рассмотреть использование библиотеки, которая предоставляет более robust и эффективный способ работы с двоичными файлами, например, TA Util Library или JclFileUtils. Alternatively, если вы работаете с текстовыми файлами, вам может быть полезно использовать библиотеку для обработки текста, например, Tee или TextFinder. Эти библиотеки предоставляют более advanced функции для поиска и замены текста в файлах. В статье описывается процедура, которая позволяет заменить строку в двоичном файле на новую строку с использованием Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |