前置き

まぁ。。。変数の説明だけでは頭が痛くなりますので、実践で行きましょうか。

マイツールでTしますと、右の方に最終書き込み日が出ますが、この日付はデータに書かれた「日付」ではありませんので、ソートしたり、データを変更したりしてると、どの頁にいつのデータが有るかは、経験と感に頼る事になります。
これを一々手操作で日付変更などしてられません、ので、オートとなります。

変数の使い方の例として、表題付けを上げてみますね。

サンプルオートを付けました。
マイツールが起動してましたら、一旦ENDさせて下さい。(二重起動出来ません。)
DL時間は一瞬と思います。
DL時に「保存」を選択なさって無ければ、W で空いてる頁に書き込んで下さい。 (でないと、消えちゃうかも知れません。)
RUN で走ります。

変数って?

変数というのは。。。パソコンのメモリの一部に記憶される内容です。

メモリを単語帳とするならば、
整数用単語帳の1枚目をZ1、2枚目をZ2と呼ぶ、という感じ。
整数用のZカードは101枚用意されていて、それぞれに数字10文字書けます。
文字用の単語帳の1枚目をV1、2枚目をV2と呼ぶ、という感じ。
文字用のVカードは51枚用意されていて、半角文字で100文字書けます。
マイツールが起動してる間、それを自由に書いたり読み出したりする事が出来ます。

尚、変数に書き込む事を代入と言います。
原則として、オートでの代入式は手操作での計算式等と違いますので、注意が必要です。
変数=(データの場所、または計算式) のように書きます。

詳しくは、
マイツール for Windowsなら ヘルプの「オート命令一覧」の「変数とは」
マイツール V2 for Windowsなら ヘルプの「目次」タブの「機能編」の「オート命令一覧」の「変数とは」 をご覧下さい。


表題に先頭日付を入れる

サンプルデータとオート TTL_V01.MYX のダウンロード

2列目が日付列として、H行(先頭データ行)の2列目を表題に入れるオートです。
サンプルでは、画面オートになっています。
ので、「仕事は=」RUN です。
表題が、H(先頭)行2列目の日付に変わります。
確認したければ、仕事は=RV で元の画面に戻ります。

◆列番号で指定する◆


V0=[H,2]:
CT:出納帳 V0〜:
STOP:

例えば「仕入先」でソートしたデータが有る時等、3列目をタイトルに入れたければ、

V0=[H,3]:
CT:出納帳 V0〜:
STOP:

のように、EDコマンドを使って列番号を変え、RUNすればOKです。
日付列が2列目以外の時も、[H,n]の n を変更すればOKです。

◆項目名で指定する◆


後日、列を変更するかも知れないとか、色々な頁に汎用性を持たせたい時は、
項目名で指定する事も出来ます。
その名前の項目ならば、何列目に有ってもOKです。
上記の例は、分かり易く配列を用いましたが、項目指定の場合はマトリックス指定になります。
そして文字変数に代入する場合、ストリング(文字)関数 STR[] を付けた方が無難なようです。

V0=STR[MH,@日付]:
CT:出納帳 V0〜:
STOP:

◆行の指定方法◆


Hというのは、先頭行を意味します。
V0=M10,@日付:
と、行番号を指定しても構いませんし、またT(最終)行を指定する事も出来ます。
V0=MT,@日付:
ただ、行番号より、HかTを用いた方が汎用性が有ります。
ふと、プリンタ設定を追加したり、GOTO *A とかを入れたり、気軽に出来ますので。

そしてこの場合、該当項目の列をMCで移動させても構いませんが、日付を年月日のように変更してはいけません。
というか項目を「年月日」にするなら、オートも @年月日 と変更する必要が有ります。

どれを選ぶかは、列番号を変える可能性と、項目名を変える可能性、あなたに取って、どちらが汎用性有るか、の問題ですね。

上のをEDで変更なされば良いですが、どうしても走らない時、下のオートをDLしてご覧下さい。

サンプルデータとオート TTL_V0.MYX のダウンロード
(マイツールを一旦ENDして下さい。)

●文字変数 と 数値変数●


V変数は文字変数です。
何故、文字変数か?

この例では、20000811 のように、データが数字ですから、整数用変数Z0に入れてもOKです。
数値とは、先頭が1以上の「数字だけで構成されているデータ」の事です。

例えば、仕事は=EP ででも先頭の日付を 2000.8.1 と変えてみて、再度RUNして下さい。
データが 2000.8.1 とかでも、文字変数なら、そのまま使えます。

データを 2000.8.1 にした状態で、かつ、
Z0=MH,@日付:
CT:出納帳 Z0〜:
STOP:
と、2カ所のVをZに変更して、RUNしてみて下さい。
「.」は数字では有りませんから、数値変数ですと 0 になってしまって使えませんね?

仕事は=EC
で、例えば、日付を 000811 と変えてから、RUNしてみて下さい。
年度を指す先頭の0 二つが、数値変数では消されてしまいます。

このような時、汎用性を持つのが、V変数=文字変数です。

●Z変数●


でも、画面の1頁だけのオートでは、実際の使用に耐えません。
対象頁を指定出来るようにしましょう。
頁指定となると、Z変数の方がエラー対策が簡単です。


データを表題にする 頁指定

サンプルデータとオート TCH.MYX のダウンロード

説明は、MYXに書いておきましたが、補足です。

<サンプルオートを走らせる前に>

仕事は=CHF
新しいファイル名を入れて下さい:S
これで、S頁に現在ファイルが変わります。
確認方法は、
仕事は=T
で上の方に【S サブ】と出ます。

Z0=100000:

マイツールで作れる頁の最大は32000頁ですので、10万を入れました。
ACCPNUM でエスケープが押された場合、Z0の内容は変更されません。
従って、エスケープ処理が可能となります。

ACCPNUM:タイトルを付け替える対象 先頭ペ―ジは? :1:Z91::?:

今は、ここで、S頁の2列以上有る頁を指定して下さい。
判らなければ、一旦エスケープし、Xで裏返して、Rで確認して下さい。
先頭と最終が決まったら、Xして、再度RUN

当然RUNすれば表題が変わります。
差し支えの無い頁を指定して下さいね?

以上は、画面オートとしての使い方ですが、本来は、Wで書き込むならPRO命令を。
WFLで書き込むならFILEX命令でプログラム登録をします。
そうすると、一々オートを画面にRやRFLせずともRUN:TCHで走ります。

宿題


サンプルデータとオート TTL_HT.MYX のダウンロード

これは、1列目の先頭行と最終行を取って、表題に入れるオートです。
これを頁対応にしてみましょう。

戻る
2000/08/13 -