Embarcadero Delphi
Для циклов
Поиск…
Синтаксис
- для OrdinalVariable: = LowerOrdinalValue для UpperOrdinalValue действительно начать {loop-body} end;
- для OrdinalVariable: = UpperOrdinalValue downto LowerOrdinalValue действительно начать {loop-body} end;
- для EnumerableVariable в коллекции do begin {loop-body} end;
замечания
- Синтаксис Delphi
for
-loop не дает ничего, чтобы изменить количество шагов от1
до любого другого значения. - При циклировании с переменными порядковыми значениями, например локальными переменными типа
Integer
, верхнее и нижнее значения будут определяться только один раз. Изменения таких переменных не будут влиять на счетчик циклов циклов.
Простой цикл
Цикл for
выполняет итерацию от начального значения до конечного значения включительно.
program SimpleForLoop;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 1 to 10 do
WriteLn(i);
end.
Выход:
1
2
3
4
5
6
7
8
9
10
Зацикливание символов строки
2005
Следующие итерации над символами строки s
. Он работает аналогично для циклизации элементов массива или набора, если тип переменной управления циклом ( c
, в этом примере) соответствует типу элемента повторяющегося значения.
program ForLoopOnString;
{$APPTYPE CONSOLE}
var
s : string;
c : Char;
begin
s := 'Example';
for c in s do
WriteLn(c);
end.
Выход:
Е
Икс
м
п
L
е
Обратное направление для цикла
Цикл for
выполняет итерацию от начального значения до конечного значения включительно, как пример «обратного отсчета».
program CountDown;
{$APPTYPE CONSOLE}
var
i : Integer;
begin
for i := 10 downto 0 do
WriteLn(i);
end.
Выход:
10
9
8
7
6
5
4
3
2
1
0
Для цикла, использующего перечисление
Цикл for
циклически перебирает элементы в перечислении
program EnumLoop;
uses
TypInfo;
type
TWeekdays = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
var
wd : TWeekdays;
begin
for wd in TWeekdays do
WriteLn(GetEnumName(TypeInfo(TWeekdays), Ord(wd)));
end.
Выход:
Воскресенье
понедельник
вторник
среда
Четверг
пятница
суббота
Для массива
Цикл for
циклирует элементы в массиве
program ArrayLoop;
{$APPTYPE CONSOLE}
const a : array[1..3] of real = ( 1.1, 2.2, 3.3 );
var f : real;
begin
for f in a do
WriteLn( f );
end.
Выход:
1,1
2,2
3,3
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow