Announcement

Collapse
No announcement yet.

Strings in einer Textdatei ersetzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Strings in einer Textdatei ersetzen

    Hallo,

    ich durchlaufe eine Textdatei und möchte abhängig von den ersten x Stellen jeder Zeile einen bestimmten Bereich der Zeile ändern und dannach die Datei weiter abarbeiten.

    AssignFile (PimpGarfin, Verz + PimpFile) ;
    Reset (Pimpgarfin) ;
    While Not eof (Pimpgarfin) Do
    Begin
    Readln (Pimpgarfin, PimpZeile) ;
    SA := Copy (PimpZeile, 25, 3) ;
    If SA = '010' Then // Fahrzeugdaten
    Begin
    PimpZeile := Copy (PimpZeile, 1, 109) +
    'XXXXXXXXXXXX' +
    Copy (PimpZeile, 122, 178) ;
    Writeln (PimpGarfin, PimpZeile) ;
    End;
    End;

    leider bekomme ich einen Fehler in der Zeile in der geschrieben werden soll. Kann ich ggf. nicht gleichzeitig lesen und schreiben in einerDatei?

    Heiko

  • #2
    Hallo PM Heiko,

    ich weiss zwar nicht, ob Du es so meinst, aber ich würde es vom Prinzip her so machen:

    var
    MyList: TStringList;
    i: Integer;
    Verzeichnis, Dateiname: String;
    begin
    Verzeichnis:= 'd:\IrgendeinVerzeichnis';
    DateiName:= '\IgendeinDateiname';
    MyList:= TStringList.Create;
    MyList.LoadFromFile(Verzeichnis+Dateiname);
    for i:= 0 to MyList.Count-1 do
    begin
    if AnsiPos('010', MyList[i]) = 25 then //sollen es die ersten drei Stellen sein, dann nach = 1 prüfen
    begin
    MyList[i]:= copy(MyList[i],1,100); // Hier nach Wunsch den String "zurechtschneiden"
    end;
    end;
    MyList.SaveToFile(Verzeichnis+DateiName+'.neu');
    MyList.Free;
    end;

    Grüße
    Pete

    Comment


    • #3
      Mist,

      die Formatierung ist weg

      Comment


      • #4
        Danke Peter, so habe ich es gemeint! Ich musste zwar zweimal drüber lesen, aber so versuche ich es mal.

        Vielen Dank

        Heik

        Comment

        Working...
        X