Jak pozmieniać znaki w określonym miejscu pliku
Adam Boduch
Jeżeli chcemy zamienić dane znaki w określonym miejscu pliku, najprościej wczytać zawartość pliku do pamięci, a następnie wykonać żądane operacje. Najprościej skorzystać ze strumieni.
Procedura obejmie swoim zasięgiem 500 znaków zaczynając od 100 bajtów pliku:
procedure TForm1.ChangeCharsClick(Sender: TObject);
var
F : TFileStream;
Buff : array[0..1024] of char;
iMuch : Integer;
begin
F := TFileStream.Create('C:Scandisk.log', fmOpenReadWrite);
try
F.Position := 200; // ustaw na pozycji
iMuch := F.Read(Buff, 500); // odczytaj znaki
Buff := StringReplace(' ', '_', [rfReplaceAll]); // zastap spacje znakiem _
F.Position := 100; // ustaw na poprzedniej pozycji
F.Write(Buff, iMuch); // zapisz nowa warosc
finally
F.Free;
end;
end;
Zobacz też: