j:=Length(AFields);
while i<j do
begin
if pos(AFieldName,AData,AFields[i].Name.Start)-AFields[i].Name.Start=1 then
begin
Result:=True;
Break;
end;
inc(i);
end;
{
for i:=0 to Length(AFields)-1 do;
if pos(AFieldName,AData,AFields[i].Name.Start)-AFields[i].Name.Start = 1 then
begin
Result:=True;
Exit;
end;
}
end;
Вот такой код.
цикл while работает нормально.
цикл for не хочет, i сразу получает значение равное Length(AField)-1, выполняется один проход цикла и функция завершается.
Кто-нить может объяснить что это за хрень?
for ... do; — пустой цикл
Обсуждают сегодня