Szia!
Ez szerintem nem lazarus probléma, hanem pascal.
Egyszerűen írj egy funkciót, amin átfuttatod a szöveget, és közben figyeled a karaktereket. Ha a {-hoz érsz, nem adod hozzá a result-hoz addig, amíg a }-hoz érsz.
Egyszer csináltam ilyesmit, tanulmányozd:
//
Törli a kommenteket Source-bol
function StripComment(Symbol:string; Final:string; Source:string):string;
var l,index,Last,Count:integer;
begin
l:= Length(Source);
index:=0;
Last:=0;
repeat
if Source[index]= #39 then // string átugrása
repeat
inc(index); // addig növeli, amíg a string befejező karakterig ér
dec(l); // eggyel csökkenti l értékét (kiugrás ha l=0)
until Source[index]= #39; //chr(39)='
if Source[index]+Source[index+1]= Symbol then
begin //2
Last:= index;
repeat
inc(Last);
until Source[Last]+ Source[Last+1]= Final;
Count:= (Last+1)-index;
Delete(Source,index,Count+1);
index:=0;
l:= l-Count; // A törölt darab karakterszámának törlése
end; //2
inc(index);
dec(l); //
until l=0; // ha elfogyott a karakterszám, befejezés.
StripComment:= Source;
end;