Extracted line filtering
This commit is contained in:
parent
3e3ba96fb9
commit
c62d4fae0c
27
UApp.pas
27
UApp.pas
|
@ -44,6 +44,7 @@ type
|
|||
procedure ProcessCommand(ACommand, AParams: String);
|
||||
procedure WriteContent(AContent: String; AFilters: TFilterList;
|
||||
AGroupRanges: TGroupRanges);
|
||||
procedure FilterLine(ALine: String);
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
|
@ -58,8 +59,6 @@ procedure TLogFilterApplication.DoRun;
|
|||
var
|
||||
commandFile: TextFile;
|
||||
logFile: TextFile;
|
||||
groupRanges: TGroupRanges;
|
||||
lineFilter: TLineFilter;
|
||||
line: String;
|
||||
begin
|
||||
if HasOption('h', 'help') or not HasOption('c', 'commandfile') then
|
||||
|
@ -115,14 +114,7 @@ begin
|
|||
while not EOF(logFile) do
|
||||
begin
|
||||
Readln(logFile, line);
|
||||
for lineFilter in FLineFilters do
|
||||
begin
|
||||
if lineFilter.Matches(line, groupRanges) then
|
||||
begin
|
||||
WriteContent(line, lineFilter.Filters, groupRanges);
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
FilterLine(line);
|
||||
end;
|
||||
|
||||
CloseFile(logFile);
|
||||
|
@ -225,6 +217,21 @@ begin
|
|||
highlights.Free;
|
||||
end;
|
||||
|
||||
procedure TLogFilterApplication.FilterLine(ALine: String);
|
||||
var
|
||||
lineFilter: TLineFilter;
|
||||
groupRanges: TGroupRanges;
|
||||
begin
|
||||
for lineFilter in FLineFilters do
|
||||
begin
|
||||
if lineFilter.Matches(ALine, groupRanges) then
|
||||
begin
|
||||
WriteContent(ALine, lineFilter.Filters, groupRanges);
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TLogFilterApplication.Create(TheOwner: TComponent);
|
||||
begin
|
||||
inherited Create(TheOwner);
|
||||
|
|
Loading…
Reference in New Issue