Einzelnen Beitrag anzeigen

marabu

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

Re: Textdatei Zeichen in bestimmter Zeile löschen

  Alt 27. Apr 2006, 09:18
Hallo.

Wenn du diese Dump-Files erzeugst, warum berichtigst du dann nicht einfach den erzeugenden Code anstelle vom Output?

Wenn du aber keine Kontrolle über den erzeugenden Code hast, dann wäre es wichtig das genaue Format zu kennen. Sind die Umbrüche korrekt wiedergegeben?

Ein möglicher Ansatz wäre die gepufferte Umsetzung mit einem look ahead von einer Zeile:

Delphi-Quellcode:
procedure AdjustScript(fn: TFileName);
var
  tfIn, tfOut: TextFile;
  line, buffer: String;
begin
  AssignFile(tfIn, fn);
  Reset(tfIn);
  AssignFile(tfOut, ChangeFileExt(fn, '.tmp'));
  Rewrite(tfOut);

  buffer := '';
  while not Eof(tfIn) do
  begin
    ReadLn(tfIn, line);
    if (line = '') or (line[Length(line)] = ';') then
      if (buffer <> '') and (buffer[Length(buffer)] = ',') then
        buffer[Length(buffer)] := ';';
    if buffer <> 'then
      WriteLn(tfOut, buffer);
    buffer := line;
  end;

  CloseFile(tfOut);
  CloseFile(tfIn);
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat