Как минимум - форматирование.
и вот это не совсем верно:
Код:
function Del(const AData:string):string;
var
Pos1,Pos2:integer;
Buf:string;
begin
Buf:=AData;
while Pos1 > 0 do // переменная Pos1 можеть быть любого значения, в т.ч. и нулевого, ибо она не проинициализирована
begin
Pos1:=PosEx('<',Buf,1);
Pos2:=PosEx('>',Buf,Pos1);
if (Pos1 = 0) or (Pos2 = 0) then Break; (*защита*)
Delete(Buf,Pos1,(Pos2-Pos1));
end;
Result:=Buf;
end;