diff options
-rw-r--r-- | mystringlistunit.pas | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mystringlistunit.pas b/mystringlistunit.pas index 973f2cc..79e82f9 100644 --- a/mystringlistunit.pas +++ b/mystringlistunit.pas @@ -253,6 +253,12 @@ var s,t,u,v: string; SchleifenInhalt: tMyStringlist; wasGefunden: boolean; +const + kommentarKlammern: array[0..2,boolean] of string = ( + ('(*','*)'), + ('/*','*/'), + ('{','}') + ); begin result:=false; @@ -269,6 +275,29 @@ begin end; i:=0; + while i<count do begin // mehrzeilige Kommentare löschen + for j:=0 to length(kommentarKlammern)-1 do + if self[i]=kommentarKlammern[j,false] then begin + Ebene:=0; + delete(i); + while (i<count) and (Ebene>=0) do begin + if self[i]=kommentarKlammern[j,false] then + inc(Ebene); + if self[i]=kommentarKlammern[j,true] then + dec(Ebene); + delete(i); + end; + if Ebene>=0 then begin + gibAus('Klammern '''+kommentarKlammern[j,false]+'''-'''+kommentarKlammern[j,true]+''' nicht ausgeglichen!',3); + exit; + end; + dec(i); + break; + end; + inc(i); + end; + + i:=0; while i<count-1 do // "\Zeilenumbruch" löschen if rightStr(self[i],1)='\' then begin s:=self[i]; |