При решении некоторых задач бывает необходимо организовать вычисление циклов в другом цикле. Т.е. необходимо создавать вложенные циклы. Довольно часто работа с вычислениями многомерных массивов требует этого.
Для примера давайте сделаем приложение вычисляющее стандартную таблицу умножения цифр от 1 до 9.
Примерный внешний вид программы будет такой как на рисунке слева.
Располагаем на форме компоненты Memo, Button. В свойствe ScrollBars, компонента Memo, устанавливаем значение ssVertical.
Для кнопки напишем такой обработчик вычисления:
procedure TForm1.Button1Click(Sender: TObject); var N, K : integer; begin for N := 1 to 9 do begin for K := 1 to 9 do begin Memo1.Lines.Add(IntToStr(N) + ' x ' + IntToStr(K)+ ' = '+ IntToStr(N*K)); end; Memo1.Lines.Add('---------------'); end; end;
При работе со вложенными циклами мы должны помнить, что процедуры Continue и Break воздействуют только на ближайший оператор цикла и следовательно прекратить выполнение всех вложенных циклов с их помощью нельзя.
Для прекращения выполнения вложенных циклов, а также функции в которой он расположен необходимо воспользоваться оператором Exit.
Итог: мы изучили работу со вложенными циклами в Delphi.