Embarcadero Delphi
Loops
Поиск…
Вступление
Язык Delphi обеспечивает 3 типа цикла
for
- iterator для фиксированной последовательности над целым числом, строкой, массивом или перечислением
условие repeat-until
quit проверяется после каждого хода, цикл выполняется минимум один раз tmeeven
while do
do условие проверяется перед каждым поворотом, цикл никогда не может выполняться
Синтаксис
- для OrdinalVariable: = LowerOrdinalValue для UpperOrdinalValue действительно начать {loop-body} end;
- для OrdinalVariable: = UpperOrdinalValue downto LowerOrdinalValue действительно начать {loop-body} end;
- для EnumerableVariable в коллекции do begin {loop-body} end;
- repeat {loop-body} до {break-condition};
- в то время как {условие} действительно начинает {loop-body} конец;
Перерыв и продолжение в циклах
program ForLoopWithContinueAndBreaks;
{$APPTYPE CONSOLE}
var
var i : integer;
begin
for i := 1 to 10 do
begin
if i = 2 then continue; (* Skip this turn *)
if i = 8 then break; (* Break the loop *)
WriteLn( i );
end;
WriteLn('Finish.');
end.
Выход:
1
3
4
5
6
7
Конец.
Повторять-До
program repeat_test;
{$APPTYPE CONSOLE}
var s : string;
begin
WriteLn( 'Type a words to echo. Enter an empty string to exit.' );
repeat
ReadLn( s );
WriteLn( s );
until s = '';
end.
Этот короткий пример печати на консоли Type a words to echo. Enter an empty string to exit.
, дождитесь ввода типа пользователя, повторите его и снова ожидайте ввод в бесконечном цикле - пока пользователь не войдет в пустую строку.
Пока делаете
program WhileEOF;
{$APPTYPE CONSOLE}
uses SysUtils;
const cFileName = 'WhileEOF.dpr';
var F : TextFile;
s : string;
begin
if FileExists( cFileName )
then
begin
AssignFile( F, cFileName );
Reset( F );
while not Eof(F) do
begin
ReadLn(F, s);
WriteLn(s);
end;
CloseFile( F );
end
else
WriteLn( 'File ' + cFileName + ' not found!' );
end.
В этом примере напечатайте консоль текстового содержимого файла WhileEOF.dpr
используя WhileEOF.dpr
«Не WhileEOF.dpr
While not(EOF)
. Если файл пуст, ReadLn-WriteLn
не выполняется.