Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Teile einer Textdatei löschen (https://www.delphipraxis.net/45406-teile-einer-textdatei-loeschen.html)

mikael 5. Mai 2005 18:57


Teile einer Textdatei löschen
 
Hallo Leute ! :hi:

Mein erster Tag hier und gleich die erste Frage an die Profis:

Ich habe mehrere Textdateien mit je über 100 Zeilen.
Am Anfang und am Ende von jeder Textdatei ist Chaos.
Irgendwo in der Mitte ist ein Bereich, was nützlich ist.
Dieses nützliche Teil beginnt mit "Apfel" und endet mit "Birne".
Die Positionen von "Apfel" und "Birne" sind in jeder Datei unterschiedlich.

Wie lösche ich das Chaos, so dass die Dateien immer mit "Apfel" beginnen und mit "Birne" enden ?

Werde aus der Delphi-Hilfe nicht schlau, könnt Ihr mir helfen ?

Bitte denkt dran, bin kein Profi.

VIELEN DANK IM VORAUS

Mikael

SirThornberry 5. Mai 2005 19:01

Re: Teile einer Textdatei löschen
 
wenn die datei nicht all zu groß ist kommst du am besten du liest sie komplett in einen String ein. dann suchst du mit Delphi-Referenz durchsuchenPos nach Apfel. Anschließend suchst du mit Delphi-Referenz durchsuchenPos nach birne. und dann den teil dazwischen als datei speichern.

Ein Beispiel:
Delphi-Quellcode:
procedure CutFilePart(AFilename: String);
var LStream: TStream;
    LStr: String;
    LPos1, LPos2: Integer;
begin
  if FileExists(AFilename) then
  begin
    LStream := TFileStream.Create(AFilename, fmOpenRead);
    setlength(LStr, LStream.Size);
    LStream.Read(LStr[1], LStream.Size);
    LStream.Free;
    LPos1 := pos('apfel', LStr);
    if LPos1 > 0 then
    begin
      LPos1 := LPos1 + length(apfel);
      LPos2 := pos('biren', LStr);
      if (LPos2 > 0) and (LPos2 > LPos1) then
      begin
        LStream := TFileStream.Create(AFilename, fmCreate);
        LStream.Write(LStr[LPos1], LPos2 - LPos1);
        LStream.Free;
      end;
    end;
  end;
end;

mikael 5. Mai 2005 19:13

Re: Teile einer Textdatei löschen
 
SUPER ! :hello: bin begeistert !
HERZLICHEN DANK :-)))


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz