function htmld(S: string): string;
var
TagBegin, TagEnd, TagLength: integer;
begin
TagBegin := Pos( '<', S);
while (TagBegin > 0) do begin
TagEnd := Pos('>', S);
TagLength := TagEnd - TagBegin + 1;
Delete(S, TagBegin, TagLength);
TagBegin:= Pos( '<', S);
end;
Result := S;
end;
merhaba bu fonksiyonla html tag'leri memo'dan siliyorum fakat memo'daki satır sayısı çok fazla olunca uygulama donuyor bunun için ne yapabilirim? ne yaptıysam bir türlü çözemedim
Application.progresmessage satırını ekle. Tam ne yapmak istediğinizi bilmiyorum ama Html parse ile ilgili daha basit yöntemler paylaşıldı dilersen onlara göz atabilir, tag temizlemekten kurtulabilirsin.
function StripHtmlMarkup(const source:string):string;
var i, count: Integer;
InTag: Boolean;
P: PChar;
begin
SetLength(Result, Length(source));
P := PChar(Result);
InTag := False;
count := 0;
for i:=1 to Length(source) do
if InTag then
begin
if source[i] = '>' then InTag := False;
end
else
if source[i] = '<' then InTag := True
else
begin
P[count] := source[i];
Inc(count);
end;
SetLength(Result, count);
end;