Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: In TextFile eine Zeile ändern

  Alt 3. Okt 2006, 16:10
Hallo kenu,

wenn du sicherstellen kannst, dass die fragliche Zahl immer den gleichen offset im file hat, dann kannst du die Zahl mit blanks auf eine definierte Länge bringen und den Zähler inplace patchen:

Delphi-Quellcode:
function IncCounter(fn: TFileName; dwOffset, dwLength: Cardinal): Cardinal;
var
  value: String;
begin
  with TFileStream.Create(fn, fmOpenReadWrite or fmShareDenyWrite) do
  begin
    Position := dwOffset;
    SetLength(value, dwLength);
    ReadBuffer(value[1], dwLength);
    Result := StrToIntDef(Trim(value), 0) + 1;
    value := IntToStr(Result);
    Position := dwOffset;
    WriteBuffer(value[1], dwLength);
    Free;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat