<<< 前へ   TOP   次へ>>>


FOR文

FOR文の構文は以下の2通りです。

 FOR 変数=数字 TO 数字 [DO] 複文
 FOR 変数=数字 DOWNTO 数字 [DO] 複文

[]内は省略可能です。

「変数」とは、グローバル変数、ローカル変数、引数のことです。
「数字」とは、グローバル変数、ローカル変数、引数、定数、システム変数、計算式、ユーザー定義関数(戻り値が数値)の7つのことです。

TOの場合、変数は1づつ増えていきます。
FOR #i=1 TO 3 DO {...} の場合、 #iは 1, 2, 3と変化していきます。
FOR #i=3 TO 2 DO {...} のように最初の数字が、次の数字より大きいと複文は実行されません。#iには最初の数字である3は「代入されません」。

 例)
   #i=0;
   FOR #i=1 TO #_MARKNUM DO {        // #_MARKNUMが0の時
     GetMarkATTR(#_ACTIVEWINDOW,$work,#i); // は実行されない。
     PosStr(#d,$work,'D');
     IF (#d<>0) THEN { IncNum(#r); };
   };
   IF (#i<>0) THEN {
     ShowMessage('#_MARKNUM>0でした','test',0);
   } ELSE {
     ShowMessage('#_MARKNUM==0でした','test',0);
   };

DOWNTOの場合は、逆に1づつ減っていきます。
FOR #i=3 DOWNTO 1 DO {...} の場合、 #iは 3, 2, 1と変化していきます。
FOR #i=1 DOWNTO 2 DO {...} のように最初の数字が、次の数字より小さいと複文は実行されません。#iには最初の数字である1は「代入されません」。

なお、複文の中で、ループに使用している変数の中身を変更すると、実行時に文法エラーが発生してSTLの実行が中断されます。


<<< 前へ   TOP   次へ>>>