Показать сообщение отдельно
  #4  
Старый 12.12.2012, 07:16
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Этот кусок кода с единственно оставшимся циклом (и единственным который выполнял полезную работу ):
Цитата:
Сообщение от 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 в этом коде приведены только для лучшей читабельности и в общем то здесь не нужны.
Ответить с цитированием