var
st:string; {сама строка }
a,b:byte; {позиция левой и правой скобки}
BEGIN
writeln('Введите строку:');
readln(st);
a:=pos('{',st); {находим пзицию левой скобки }
b:=pos('}',st); {находим позицию правой скобки}
if (a<>0)and(a<b) then delete(st,a,b-a+1); {удаляем и скобки и текст}
writeln(st);
readln;
END.
В условии проверяется положение скобок: если открывающаяся скобка есть и она находится левее закрывающейся, тогда удаляем скобки и текст между ними.
Можно также проверить:
Если a=0 и b=0, то скобок нет;
Если a=0 и b<>0, то открывающейся скобки нет, а закрывающаяся есть;
Если a<>0 и b=0, то открывающаяся скобка есть, а закрывающейся нет;
Если a<>0 и b<>0 и a>b, то открывающаяся скобка находится после закрывающейся.