Ja, hab ich gerade noch einmal geprüft, und damit ich nichts übersehe mit nachstehender Prozedur.
Erwartungsgemäß steht da "6393 6394 Region folgt Region"
Zeilen 6393 und 6394 sind die Zeilen
Delphi-Quellcode:
if AnsiContainsText(List[I],'{$Region') then begin
if (J>0) and AnsiContainsText(List[J-1],'{$Region') then
Delphi-Quellcode:
PROCEDURE TMain.Test;
const sRegReg=' Region folgt Region'; sNoReg='EndRegion ohne Reagion';
var I,J,L:Integer; List,ErrList:TStrings;
begin
if ClipBoard.HasFormat(CF_Text) then begin
List:=TStringList.Create;
List.Text:=ClipBoard.AsText;
ErrList:=TStringList.Create;
J:=0;
L:=0;
for I:=0 to List.Count-1 do begin
if AnsiContainsText(List[I],'{$Region') then begin
if (J>0) and AnsiContainsText(List[J-1],'{$Region') then
ErrList.Add(IntToStr(L)+' '+IntToStr(I)+sRegReg);
L:=I;
List[J]:=List[I];
Inc(J);
end else if AnsiContainsText(List[I],'{$EndRegion') then begin
if (J=0) or not AnsiContainsText(List[J-1],'{$Region') then
ErrList.Add(IntToStr(L)+' '+IntToStr(I)+sNoReg);
L:=I;
List[J]:=List[I];
Inc(J);
end;
end;
if ErrList.Count=0 then ErrList.Add('Keine Fehler');
for I:=0 to J-1 do ErrList.Add(List[I]);
List.Free;
ClipBoard.AsText:=ErrList.Text;
ErrList.Free;
end;
end;