Этот кусок кода с единственно оставшимся циклом (и единственным который выполнял полезную работу

):
Цитата:
Сообщение от bambooshoot
Код:
k:=StringGrid1.Cells[2,0];
i:=Length(k);
for i:=1 to i do
begin
b:= #$00D8;
j:=pos(b,k);
Delete(k,j,1); // Если pos не найдёт подстроку, то j будет равно 0. Зачем пытаться удалять несуществующий символ?
StringGrid1.Cells[2,0]:=k; // Это присвоение выполнится столько раз, сколько символов в исходной строке. Зачем?
end;
|
Лучше переделать примерно так:
Код:
k := StringGrid1.Cells[2, 0];
for i := Length(k) downto 1 do
begin
if k[i] = #$D8 then Delete(k, i, 1);
end;
StringGrid1.Cells[2, 0] := k;
p.s. begin и end в этом коде приведены только для лучшей читабельности и в общем то здесь не нужны.