■主に関連するコマンド
■書式
変数宣言 |固有or共通|,文字列{〈変数名〉,・・・},・・・
|固有or共通|,数値{〈変数名〉,・・・},・・・
|固有or共通|,整数{〈変数名〉,・・・},・・・
■機能
一括処理で使用する変数をここで宣言する。宣言した変数を未定義値にする。
■引数
固有 ; 変数宣言したときに実行している一括処理を終了した時点で自動的に削除される。
共通 ; 変数宣言したときに実行している一括処理が終了した後も残っている。
桐を終了するか、変数削除コマンドを使用すれば削除できる。
【注意】変数宣言する変数は主に私的に作って登録したいと思う変数に使用します。
それとは別に、桐には既に組み込み変数という数種類の変数を持っています。
これは桐を起動したときに自動的に設定されている変数です。
組込 ; システムにあらかじめ組込んである変数で、この変数は削除することはできない。逆にこの種類の変数を
利用する場合はあえて変数宣言する必要はありません。以下に組み込み変数の一覧表を載せておきます。
【組み込み変数一覧表】
【リスト1】
1行目 | 変数宣言 整数{&年度,&保護,&行,&初期値,&メニュー,&メニュー2} |
2行目 | 変数宣言 数値{&表,&確認} |
3行目 | 変数宣言 文字列{&表名,&表2,&キー,&表題} |
【解説】
1回の実行で複数の変数を宣言できます。
記述するときは、使用する変数を文字列or数値or整数の各データ型に分けて指定します。
固有と共通を両方記述するときも、それぞれを{ }で分けて指定します。
変数の先頭には必ず&(アンパーサンド)をつけ、文字数は半角、全角の区別なく10文字まで可能です。
記号など、何種類か変数として使用できないものもあります。
【応用】
変数を駆使して、より複雑な一括処理を作成することもできます。例えは当HPにある【実力テス
ト個人面談システム】の一括処理内に、変数書き込みコマンド、変数読み込みコマンドを使用している部分があります。これにより、自由自在に他の表からのデータ取り込みをすることが可能になります。
■関連コマンドと書式
繰り返し 〈変数名〉=〈初期値〉,〈最終値〉,〈増減値〉
〈コマンド群〉
・
・
・
繰り返し終了
■機能
指定した回数だけ同じ処理を繰り返す。
■引数
〈変数名〉 ;増減した値を代入する変数名を指定する。数値型か整数型に限る。
〈初期値〉 ;繰り返しを開始するときの数値を定数か変数で指定する。
〈最終値〉 ;繰り返しを終了させるための数値を定数か変数で指定する。
〈増減値〉 ;繰り返す毎に加算(or減算)する数を指定する。
省略すると 初期値≦最終値のとき1、初期値>最終値のとき−1となる。
【参考】繰り返し
(注;サンプルプログラムのなかで、一連の処理手順にあまり関係のないものは省いています。)
【リスト2】
1行目 | 項目集計 [] |
2行目 | 繰り返し &G0=1,&最大値,1 |
3行目 | 選択 []=&G0 |
4行目 | 代入 &BANGO=#CAT(#全角(#STR(&G0)),"番の生徒") |
5行目 | 画面表示 (16,15),"印刷中の生徒",白 |
6行目 | 画面表示 (16,30),"・・・・・・",白 |
7行目 | 画面表示 (16,40),&BANGO,白 |
8行目 | 帳票印刷 "偏差.FRM",部数=1,ページ番号=1 |
9行目 | 選択解除 1 |
10行目 | 繰り返し終了 |
【解説】
1行目;(既に表は開かれています。)開いた表の中にある項目値[]の項目集計を行います。
2行目;1行目の項目集計コマンドによって、『組込み変数一覧表』にあるそれぞれの変数に値が代入されています。
その中の組込み変数&最大値には項目値[]の最大値が代入されています。繰り返しから繰り返し終了までの
処理、すなわち3行目から9行目までの処理を1番から(&最大値)番まで1つずつ増加しながら繰り返し行っ
ていきます。
3行目;変数&GOには最初1が代入されていますが、一度10行目までの処理が終わると2行目でご説明した通り次に
は2が代入され、同様にして最後(&最大値)まで選択をしていきます。
4行目;変数&BANGOは文字型の変数なので、関数#STRを使って数値型の変数&GOを文字型に変換後、”番の生徒”とい
う文字列と連結して&BANGOに代入します。
5行目
6行目
7行目;5行目から7行目までの画面表示コマンドの実行で、画面には
印刷中の生徒・・・・・・(&BANGO)番の生徒 と表示されています。
8行目;3行目で選択した[]の生徒のデータをあらかじめ作成していた帳票”偏差.FRM”で印刷します。
9行目;3行目で選択したものをここで選択解除します。
10行目;2行目に戻ります。(&最大値)回実行後、この繰り返しは終了します。
【リスト2】は1クラスの場合のみを想定して作成していますが、繰り返し処理の入れ子というテクニックを使えば、クラス毎に【リスト2】の処理が行えます。それのテクニックについては【繰り返し】のところでご説明させて頂きます。