Цикл 
For...Next инициализируется 
iterator to 
startvalue, 
	затем выполняется 
statement block, идет приращение 
iterator 
	по 
stepvalue до тех пор, пока он не превышает 
endvalue. 
	Если 
stepvalue не является явно заданным будет присвоено 
1.
	Значения 
stepvalue и 
endvalue хранятся 
	внутренне сразу же после выполнения 
For и таким образом не 
	могут быть изменены в цикле 
For.  Операторы сравнения, такие 
	как < and > не будут эффективными, как и 
stepvalue или 
endvalue 
	потому что выражения не будут повторно проверяется во время цикла. 
	(Результаты выражений, используемых для их определения могут быть изменены, 
	но эти изменения не повлияют на выполнение цикла 
For.) 
	Смотрите примеры.
	Примечание: В некоторых диалектах, временные переменные
 stepvalue 
	и 
endvalue выходят из области видимости в конце цикла, и их 
	значения не гарантированно остаются неизменными, как только любой код после 
	цикла был выполнен. По этой причине, рекомендуется никогда не прыгать из 
	цикла 
 For...Next (используя 
Goto 
	или подобный), а затем переходить обратно в  его середину позже,  
	в диалектах  
-lang fb или 
-lang deprecated.
	Итератор должен быть неотъемлемым скаляром: только 
Static/
Shared 
	переменные и локальные переменные могут быть использованы; не может 
	использоваться никакой другой тип, включая элементы массива,
	
UDT элементы, 
ByRef 
	параметры или любого рода разыменованный адрес.
	
iterator может быть определен в той же области видимости, 
	что и 
For , используя синтаксис 
As datatype.  
	С помощью этого синтаксиса, 
iterator создается и 
	уничтожается в течение области видимости 
For...Next. 
	Смотрите диалектные различия ниже.
	Если 
endvalue меньше 
startvalue , то 
	отрицательный 
stepvalue должен быть указан или 
statement block 
	не будет выполняться правильно, начиная со 
startvalue 
	сравнивается на предмет больше, чем 
endvalue.
	
For заявление вызывает выполнение операторов в 
statement block 
	пока 
 iterator больше, чем endvalue 
	(или 
меньше чем endvalue если 
stepvalue < 0). 
iterator 
	будет увеличиваться на количество 
stepvalue после каждого 
	выполнения 
statement block. Если не задано приращение, 
iterator 
	будет неявно увеличивается на 
1.
	Если заявление 
Exit For 
	встречается внутри 
statement block, цикл завершается, и 
	выполнение возобновляется сразу же после его заявления 
Next. 
	Если заявление 
Continue For 
	встречается, остальные части 
statement block пропускаются до 
	тех пор, пока соответствующий 
Next в блоке не встретится. 
	Значение счетчика увеличивается, и цикл перезагружается, если это все еще в 
	пределах предоставленного 
endvalue.
	
Примечание: для типов данных 
Integer,  
	не возможно, чтобы цикл дошел до максимально возможного значения (или до 
	минимально возможного значения), которое может храниться в переменной типа, 
	поскольку цикл нарушается только тогда, когда инкрементированнная переменная 
	превышает 
endvalue. Например если вы попытаетесь сделать 
	итерацию переменной от 0 до 255, цикл будет прерван после того, как 
	переменная достигнет 256 или более. Использование переменной 
UByte 
	для счетчика не будет работать, потому что хотя он может содержать числа от 
	0 до 255, он не может вместить 256. Смотрите 
TblVarTypes 
	чтобы найти верхний и нижний пределы для стандартных типов данных.
	Как и все операторы управления потоком, 
For может быть 
	вложенным, то есть, он может использоваться в блоке оператора другого 
For.
For, 
Next, и 
Step - это 
	операторы, которые могут быть перегружены внутри определяемых пользователем 
	типов. См. 
Оператор For, 
	Оператор Next, 
	Оператор Step
См. также