Петља је уобичајени елемент у свим програмским језицима. Делпхи има три контролне структуре који опетовано извршавају блокове кода: за, поновите... док и док... урадити.
Петља ФОР
Претпоставимо да морамо поновити операцију одређено време.
// прикажите 1,2,3,4,5 поља са порукама
вар ј: цели број;
започети
за ј: = 1 до 5 урадити
започети
СховМессаге ('Бок:' + ИнтТоСтр (ј));
крај;
крај;
Вриједност контролне варијабле (ј), која је у ствари само бројач, одређује колико пута се извршава наредба. Кључна реч за постављање бројача. У претходном примеру, почетна вредност бројача постављена је на 1. Завршна вредност је постављена на 5.
Када наредба фор почне да ради, променљива бројача постављена је на почетну вредност. Делпхи него проверава да ли је вредност бројача мања од крајње вредности. Ако је вредност већа, ништа се не ради (извршење програма скаче на линију кода одмах након блока кода за петљу). Ако је почетна вредност мања од завршне вредности, извршава се тело петље (овде: приказује се оквир за поруке). Коначно, Делпхи додаје 1 на бројач и поново започиње поступак.
Понекад је потребно рачунати уназад. Тхе до кључна реч одређује да вредност бројача треба да се смањи за сваки пут када се изврши петља (није могуће одредити прираштај / смањење који није један). Пример петље која броји уназад.
вар ј: цели број;
започети
за ј: = 5 до 1 урадити
започети
СховМессаге ('Т минус' + ИнтТоСтр (ј) + 'секунди');
крај;
СховМессаге ('За редослед извршен!');
крај;
Напомена: важно је да никада не мењате вредност контролне променљиве у средини петље. Ако то учините, проузроковаће се грешке.
Гнездене за петље
Писање петље унутар друге за петљу (петље за уношење) врло је корисно када желите да попуните / прикажете податке у табели или мрежи.
вар к, ј: цели број;
започети
// ова се двострука петља извршава 4к4 = 16 пута
за к: = 1 до 4 урадити
за ј: = 4 до 1 урадити
СховМессаге ('Оквир:' + ИнтТоСтр (к) + ',' + ИнтТоСтр (ј));
крај;
Правило за гнијежђење за наредне петље је једноставно: унутрашња петља (ј бројач) мора се довршити прије него што се нађе сљедећа изјава за вањску петљу (к бројач). Можемо имати троструко или четвороструко угнијежђене петље, или чак више.
Напомена: Генерално, почетне и крајње кључне речи нису строго потребне, као што видите. Ако се почетак и крај не користе, изјава одмах након изјаве сматра се телом петље.
Петља ФОР-ИН
Ако имате Делпхи 2005 или неку новију верзију, можете користити „нову“ итерацију у стилу елемента у колекцији преко контејнера. Следећи пример показује итерација над стринг изразима: за сваки знак у низу проверите да ли је знак или 'а' или 'е' или 'и'.
цонст
с = 'О Делпхи програмирању';
вар
ц: цхар;
започети
за ц ин с урадити
започети
ако ц ин ['а', 'е', 'и'] онда
започети
// учини нешто
крај;
крај;
крај;
ВХИЛЕ и РЕПЕАТ петље
Понекад нећемо тачно знати колико пута би петља требала да кружи. Шта ако желимо поновити операцију док не постигнемо одређени циљ?
Најважнија разлика између петље „док радимо“ и петље „понављај док не ради“ је кодова поновите изјаву увек се извршава барем једном.
Општи образац када у Делпхију пишемо понављајућу (и док) врсту петље је следећи:
понављање
започети
изјаве;
крај;
све док услов = тачно
док услов = тачно урадити
започети
изјаве;
крај;
Овде је код за приказ 5 узастопних оквира са порукама користећи „понови“ до:
вар
ј: цели број;
започети
ј: = 0;
понављање
започети
ј: = ј + 1;
СховМессаге ('Бок:' + ИнтТоСтр (ј));
крај;
све док ј> 5;
крај;
Као што видите, наредба понављања процењује стање на крају петље (зато се понављајућа петља сигурно изводи сигурно бар једном).
С друге стране, а изјава вреднује стање на почетку петље. Пошто се тест врши на врху, обично ћемо морати да се уверимо да је стање смисла пре него што се петља обради, ако то није тачно преводилац може да одлучи да уклони петљу из кода.
вар ј: цели број;
започети
ј: = 0;
док ј <5 урадити
започети
ј: = ј + 1;
СховМессаге ('Бок:' + ИнтТоСтр (ј));
крај;
крај;
Прекини и настави
Поступци прекида и наставка могу се користити за контролу протока понављајућих изјава: Прекид поступак узрокује да проток контроле излази за, док или понавља изјаву и наставља се на следећи изјава пратећи петљу изјава. Наставак омогућава протоку контроле да пређе на следећу понављање операције која се понавља.