ich schreibe gerade an einer Komponente für ein Programm, die selbst definierbare Filter, auf ein TextFile anwenden soll.
(Zeilen, die ein Sichwort/Stichsatz enthalten, entfernen)
Um die verschiedenen Filter zu speichern, nutze ich eine StringList ("tFilterIncludes")
Wenn das File vom FTP heruntergeladen wurde, soll es in die StringList ("tFile1") geladen werden,
diese Zeile für Zeile, mit tFilterIncludes abgeglichen, und wenn ein Eine Stelle aus tFilterIncludes gefunden wurde, die Stelle aus tFile1 gelöscht werden.
Mein Problem liegt darin, dass ich in der procedure eine Exeption ("External SIGSEGV") gefeuert wird... :/
Code:
Code: Alles auswählen
procedure ApplyFilter();
var
tFile1: TStringList;
i, x: integer;
begin
tFile1 := TStringList.Create;
tFile1.loadfromFile('logFile.txt');
for i := 1 to tFile1.Count - 1 do
begin
if (tFilterIncludes.Count = 1) or (tFilterIncludes.count>1) then //Hier ist die erste Exeption! (Mit Haltepunkten herausgesucht)
begin
for x := 1 to tFilterIncludes.Count - 1 do
begin
if Pos(tFilterIncludes[x], tFile1[i]) <> 0 then
begin
tFile1.Delete(i);
end;
end;
end;
tFile1.SaveToFile('logFile');
tFile1.Free;
end;
end;
- Sind beide StringListen geladen (bla = TStringList.create;)? -- Ja
- Ist tFilterIncludes Global deklariert? -- Ja (tFilterIncludes: TStringList)
Hat jemand von euch eine Idee, wo das Problem liegen könnte ?
MfG
mark332