Embarcadero Delphi
ループ
サーチ…
前書き
Delphi言語は3つのタイプのループを提供します
for
- 整数、文字列、配列または列挙型の固定シーケンスのイテレータ
repeat-until
-quit条件は各ターンの後にチェックし、ループは最低でも1回実行するtmeeven
while do
-do条件は各ターンの前にチェックしていますが、ループは決して実行できません
構文
- OrdinalVariable:= LowerOrdinalValueをUpperOrdinalValueにするdo begin {loop-body} end;
- OrdinalVariable:= UpperOrdinalValue downto LowerOrdinalValue do begin {ループボディ} end;
- コレクションのEnumerableVariableに対してdo begin {loop-body} end;
- {break-condition}まで{loop-body}を繰り返します。
- while {condition} do begin {ループボディ} end;
ループで中断し続ける
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
完了。
繰り返し - Until
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.
この例では、 While not(EOF)
条件を使用して、 WhileEOF.dpr
ファイルのテキスト内容をコンソールにWhileEOF.dpr
ます。 fileが空の場合、 ReadLn-WriteLn
ループは実行されません。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow