桐の一括処理(プログラム)でのサブルーチン定義の方法解説
●はじめに
プログラム(桐では一括処理と呼びます)(以降「プログラム」の事を「一括処理」と書きます)を作成する時に、一括処理の作成効率化と言うか省力化と、複雑な一括処理をダラダラ書くよりはサブルーチンとしてまとめると一括処理自体がスッキリとして見やすくなり、結果的に一括処理の処理の流れが分りやすくなり処理の間違いが発見しやすくなります。
小生、ちょこちょこと一括処理を桐V5の時代に書いていましたが、サブルーチン(手続き)を一括処理の中で書かなければならず、色々な一括処理で共通するサブルーチン(手続き)を使おうとすると、一括処理とサブルーチンとなる一括処理のファイルを結合する処理を書かなければダメ見たいでサブルーチンの利用は挫折してました。
桐もDOS対応からWindows対応になり桐9の一括処理コマンドを見ていると「ライブラリ」コマンドが目に止まり、サブルーチンを外部に置いても一括処理で使える様になってる事に気がつきました・・・気がつくのが遅いですね(笑)
と言う事で、外部に置いておいてサブルーチンの共通利用が出来るので、ぼちぼちとサブルーチンを作り始めました。
●サブルーチンとなる一括処理(手続き)を納める場所
サブルーチンとなる一括処理(手続き)を管理しやすくするために、1箇所に入れて管理すると良いと思います。

小生の場合は、桐標準でデータを納めている \k3\data ディレクトリの下に新たに Lib と言うディレクトリを作成してサブルーチンとなる手続きが書かれた一括処理を納めています。
桐をインストールしたカレントドライブが「Cドライブ」の場合は次の様になります。
 c:\k3\data\Lib

●一括処理で使うサブルーチン(手続き)の定義
一括処理の最初の方(小生の場合は変数宣言の後)に次の様に利用するサブルーチン(手続き)名(この場合は makefile.cmd)を書きます。
 ライブラリ "\k3\data\Lib\makefile.cmd"

通常は \k3 の前に
ドライブ名「c:」を書きますが省略するとカレントドライブとなりますので、データを dドライブ に納めている場合でもサブルーチン(手続き)が利用できる様にドライブ名を省略しています。

●ライブラリコマンドの制限事項と回避方法
最大8個のサブルーチン(手続き)ファイルから、手続きを読込む事。

8個以上のサブルーチン(手続き)を使いたい場合は、利用するサブルーチン(手続き)を1つのファイルにまとめてユニークな名前を付けて下さい。
例を挙げる次の様になります。
 fopen.cmd
 makefile.cmd
 error.cmd

   ・
   ・
 Kanaconv.cmd
    ↓(上記のファイルを1つのファイルにまとめる)
 Lib01.cmd(手続き名と同じでなくてもOK)

サブルーチン(手続き)を利用する一括処理のライブラリコマンドは次の様になり、サブルーチン(手続き)名は手続き名で呼び出します。
 ライブラリ "\k3\data\lib\
Lib01.cmd"
            ・
            ・
            ・
 手続き実行
makefile("$作業.tbl","teigi.k3","作業ファイルの作成テスト","たぬきだんな","未定義","\",&RRC)

●ライブラリコマンドの使用例

*作業ファイル作成テスト
***************************************

* 変数定義部
変数宣言 固有,整数 {&K未定義,&Kゼロ}
変数宣言 固有,実数 {&RRC}

ライブラリ "\k3\data\Lib\makefile.cmd"
ライブラリ "\k3\data\Lib\error.cmd"


&K未定義=1
&Kゼロ=2

手続き実行 makefile("$作業.tbl","teigi.k3","作業ファイルの作成テスト","たぬきだんな","未定義","\",&RRC)
条件 (&RRC < 1) 手続き実行
error("作業ファイル作成エラー",&RRC)

実行終了 破棄,表題="作業ファイル作成 プログラム 終了"
【 お問合せフォームで 桐の問合せ 】
【 メールで 問合せ 】

桐の購入はこちらをクリック → ソフト 管理工学研究所
多摩電脳技研