ok, noch mal anderes gefragt
hab noch mal gesucht und bissel was gefunden, wegen dem beginupdate und endupdate.
das ganze bringt jetzt, wenn überhaupt eine sekunde gewinn. Hab ich das an der falschen stelle oder falsch verstanden?
Delphi-Quellcode:
b := (text<>'') OR (text2<>'') OR (text3<>'');
if b=true then
begin
text:=LowerCase(text);
text2:=LowerCase(text2);
text3:=LowerCase(text3);
mmoLines.Lines.BeginUpdate;
for ii := 0 to FSelect.Count-1 do
begin
if FSelect.Strings[ii] <>'' then
begin
i := Pos( text, LowerCase(FSelect.Strings[ii]) );
if i > 0 then
begin
mmoLines.SelStart := i+i2-1;
mmoLines.SelLength := Length(text);
mmoLines.SelAttributes.Color := c;
mmoLInes.SelAttributes.Style := [fsBold];
mmoLines.SelLength := 0;
end;
i := Pos( text2, LowerCase(FSelect.Strings[ii]) );
if i > 0 then
begin
mmoLines.SelStart := i+i2-1;
mmoLines.SelLength := Length(text2);
mmoLines.SelAttributes.Color := c2;
mmoLInes.SelAttributes.Style := [fsBold];
mmoLines.SelLength := 0;
end;
i := Pos( text3, LowerCase(FSelect.Strings[ii]) );
if i > 0 then
begin
mmoLines.SelStart := i+i2-1;
mmoLines.SelLength := Length(text3);
mmoLines.SelAttributes.Color := c3;
mmoLInes.SelAttributes.Style := [fsBold];
mmoLines.SelLength := 0;
end;
end;
i2 := i2+Length(FSelect.Strings[ii])+2;
end;
mmoLines.Lines.EndUpdate;
end;