For($vlElem;1;Size of array(anArray)) ` 配列要素に対する何らかの処理
anArray{$vlElem}:=... End for
3. 以下の例は、テキスト変数vtSomeTextの全ての文字について処理を行います。
For($vlChar;1;Length(vtSomeText)) ` 一文字づつの何らかの処理 (例えばタブを処理する等) If(Character code(vtSomeText[[$vlChar]])=Tab) ` ... End if End for
4. 以下の例は、テーブル[aTable]のカレントセクションの各レコードについて処理を行います。
FIRST RECORD([aTable]) For($vlRecord;1;Records in selection([aTable])) ` レコードについての何らかの処理 SEND RECORD([aTable]) ` ... ` 次レコードへ移動 NEXT RECORD([aTable]) End for
For($vlElem;Size of array(anArray);1;-1) ` 配列要素に対する何らかの処理
anArray{$vlElem}:=... End for
7. 以下の例は、テキスト変数“vtSomeText”の全ての文字について処理を行います。
For($vlChar;Length(vtSomeText);1;-1) ` 一文字づつの何らかの処理 (例えばタブを処理する等) If(Character code(vtSomeText[[$vlChar]])=Tab) ` ... End if End for
8. 以下の例は、テーブル[aTable]のカレントセクションの各レコードについて処理を行います。
LAST RECORD([aTable]) For($vlRecord;Records in selection([aTable]);1;-1) ` レコードについての何らかの処理 SEND RECORD([aTable]) ` ... ` 前レコードへ移動 PREVIOUS RECORD([aTable]) End for
<>vbWeStop:=False ON EVENT CALL("HANDLE STOP") ` HANDLE STOP は<>vbWeStop変数 を Ctrl+ピリオド(Windows) またはCmd+ピリオド(Macintosh)がタイプされた場合にTrueにします $vlNbRecords:=Records in selection([aTable]) FIRST RECORD([aTable]) For($vlRecord;1;$vlNbRecords) ` 何らかのレコード処理 SEND RECORD([aTable]) ` ... ` 次のレコードに移動 If(<>vbWeStop) $vlRecord:=$vlNbRecords+1 ` カウンタ変数値をループ終了値以上に設定し、ループを抜ける Else NEXT RECORD([aTable]) End if End for ON EVENT CALL("") If(<>vbWeStop) ALERT("処理は中断されました。") Else ALERT("正常終了しました。") End if
For($vlElem;1;Size of array(anArray)) ` ... ` 行の何らかの処理 ` ... For($vlSubElem;1;Size of array(anArray{$vlElem})) ` 何らかの配列要素への処理
anArray{$vlElem}{$vlSubElem}:=... End for End for
13. 以下の例は、データベースのすべての日付フィールドに対するポインタの配列を作成します。
ARRAY POINTER($apDateFields;0) $vlElem:=0 For($vlTable;1;Get last table number) If(Is table number valid($vlTable)) For($vlField;1;Get last field number($vlTable)) If(Is field number valid($vlTable;$vlField)) $vpField:=Field($vlTable;$vlField) If(Type($vpField->)=Is date) $vlElem:=$vlElem+1 INSERT IN ARRAY($apDateFields;$vlElem) $apDateFields{$vlElem}:=$vpField End if End if End for End if End for