Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > как убрать число из цикла


Автор: leon2009 6.9.2020, 22:24
как в делфи 7, из цикла убрать число?
Код

for i := 1 to 8 do
begin
for j := 1 to 8 do
begin
//form1.arr[i,j].ResetRotations;
form1.memo1.Lines.Add(form1.arr[i, j].Name+inttostr(i)+inttostr(j));
end;end;

в мемо выводит так: 11 12 13 14 15 16 17 / 21 22 23 24 25 26 27 28 / 
как убрать пр: 24 = (i=2, j=4)

Автор: Агрох 7.9.2020, 10:39
Перед "form1.memo1.Lines.Add":
Код

if (i = 2) and (j = 4) then
Continue;


Более универсальное решение это заносить сами цифры - только те, которые нужны, в массив и перечислять уже элементы массива.
Код

var
  iArr, jArr: array of integer;
  i, j: integer;
begin
  SetLength(iArr, 5);
  iArr[0] := 1;
  iArr[1] := 3;
  iArr[2] := 7;
  iArr[3] := 19;
  iArr[4] := 1115;

  SetLength(jArr, 5);
  jArr[0] := 11;
  jArr[1] := 32;
  jArr[2] := 76;
  jArr[3] := 142;
  jArr[4] := 675;

  for i := 0 to pred(Length(iArr)) do
    for j := 0 to pred(Length(jArr)) do
      form1.memo1.Lines.Add(form1.arr[iArr[i], jArr[j]].Name+inttostr(iArr[i])+inttostr(jArr[j]));
end;

Автор: leon2009 8.9.2020, 11:22
Спасибо!!!  smile  ...

Автор: leon2009 8.9.2020, 12:04
 smile  я правда так и не понял почему все работает главное работает! smile 
в теории: 
Код

if cube=2 then begin
for i := 1 to 8 do
begin
for j := 1 to 8 do
begin
if (i = 1) and (j = 2) then 
begin =  обратить внимания 
Continue;
form1.MySphere[i,j].ResetRotations;
end;
end;
end;
end;

НО и так все крутиться и вовремя останавливает  smile  Continue 
Код

if cube=2 then begin
for i := 1 to 8 do
begin
for j := 1 to 8 do
begin
if (i = 1) and (j = 2) then 
--------пусто =  обратить внимания 
Continue;
form1.MySphere[i,j].ResetRotations;
end;
end;
end;

Автор: Агрох 8.9.2020, 13:53
Continue принудительно прерывает текущую итерацию цикла и переходит к следующей. Т.е. весь код, которые после Continue, вплоть до конца тела цикла, не выполняется, но и цикл не прерывается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)