Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: grep: nur eigentliche Matches ausgeben (nicht die ganze Zeile)

  Alt 30. Aug 2012, 10:48
als Schnellschuss, nicht optimiert

Project3 C:\temp\test.txt MyFunction(%)


Delphi-Quellcode:
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
f:TextFile;
Buffer,SToken,EToken:String;

Procedure FindToken;
  var
   i,j:Integer;
  begin
     i := pos(SToken,Buffer);
     while i>0 do
      begin
        Buffer := Copy(Buffer,i+Length(SToken),Length(Buffer));
        j := Pos(EToken,Buffer);
        Writeln(SToken + Copy(Buffer,1,j));
        Buffer := Copy(Buffer,j+1,Length(Buffer));
        i := pos(SToken,Buffer);
      end;
  end;

begin
  try
    Stoken := Copy(Paramstr(2),1,Pos('%',Paramstr(2))-1);
    Etoken := Copy(Paramstr(2),Pos('%',Paramstr(2))+1,Length(Paramstr(2)));
    AssignFile(f,Paramstr(1));
    Reset(f);
    while not Eof(f) do
      begin
      ReadLn(f,Buffer);
      FindToken;
      end;
    Readln;
    CloseFile(f);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (30. Aug 2012 um 10:58 Uhr)
  Mit Zitat antworten Zitat