オートのノウハウ


1. IF文と条件計算式の違い
2. 代入式・計算式
3. オート中にED命令
4. DATEの効用
5. コントロール
6. サンプルアイコンを使ってオート起動



#24539  IF文と条件計算式の違い

 こういう疑問を持たれた事は無いですか?

 例えば下のようなデータで、
 C6*-1=C6,C4=1111: という方法なら出来るのに、

》[0406]
》IF C4=1111 THEN:C6*-1=C6:ENDIF:STOP:
》F=8,5,12,5,12,10
》    月日 コ-ド    借方 コ-ド    貸方      金額
》19980406 1111    現金 2111  会費収入     20000
》19980406 1111    現金 2111  会費収入     30000
》19980406 1111    現金 2111  会費収入     20000
》19980406 1111    現金 2111  会費収入     20000
》19980406 1122       1111    現金     80000
》19980406 3211   通信費 1111    現金     13520
》19980406 3212 印刷事務費 1111    現金     14305
》19980406 3215    雑費 1111    現金     11577

 これはエラーになります。 何処がいけないのか?

 IF文 では、C4= という使い方が出来ないから。。。ですね。
 セル単位なら出来るだけに、考え込んでしまいますよね。。。

 では、どうすれば良いのでしょう?

[条件計算]                                98.07.08    混    L=3397  C=0074
SETX:1:7:2:11:3:18:ESC:        *CPAST SGET 用手間抜き
FOR Z1=11 TO T1:
IF MZ1,4=1111 THEN:(MZ1,6)*(-1)=MZ1,6:ENDIF:
NEXT:
STOP:
F=8,5,12,5,12,10
    月日 コ-ド    借方 コ-ド    貸方      金額
19980406 1111    現金 2111  会費収入     20000
19980406 1111    現金 2111  会費収入     30000
19980406 1111    現金 2111  会費収入     20000
19980406 1111    現金 2111  会費収入     20000
19980406 1122       1111    現金     80000
19980406 3211   通信費 1111    現金     13520
19980406 3212 印刷事務費 1111    現金     14305
19980406 3215    雑費 1111    現金     11577

 こんな具合なら、出来ますでしょう?

 尚、条件計算式 も CNC条件計算 も、考え方は同じです。
 マイツールは、上から1行ずつ、該当列を照合していってます。

 <オート と 条件計算式 と CNC条件計算 を比較して>
 どれが速いかは、バージョンに応じて違います。
 記述は、条件計算式が簡単ですが、M2以前は使えません。
 特殊な時、融通性を発揮するのは、オートでしょう。
 UPDの「C」も有りますが。。。場合場合でしょうね。。。


#16570 代入式・計算式  通常、C計算の式は、左辺式の答えを右辺で指定された場所に、記入します。     オートの変数は、右辺の式を左辺で指定された変数に、記憶します。     Z1=100:     Z4=Z1+Z2:     V1="マグ"+"マグ":V2="様":     V3=V1+V2:     [05,02]="配列":     [05,03]=Z1+32:  但し、「仕事は=」の時は、答えを変数に入れる場合でも、左から右です。  但し、配列変数は、RUN している時しか使えません。  で、ここからがややこしいのです。 》 (V01)=M\計算式,03: 変数が () で囲われた時、左から右のマトリックスへ答えを記入します。 》 V03=M\型変換,01:  () で囲われてない時、右のマトリックスの内容を変数に取り込みます。  左辺に関数が使われてる場合は、オートで変数に取り込むので有ろうと、  左から右、のようです? 》 YMD[19930228]+1=V13: 》 YMD[19930301-19930201]=V14:  この辺が分かれ目のようです???
# 23351 オート中にED命令  例えば E、EL、ER、等の入力後、  ACCP:次作業‥ENTER 中止‥エスケープ 修正‥ED :?:  とかにしますと、色々融通が効いて便利です。  EDだと、入力中に見つけた「あれ?」の修正を初め、裏画面での確認、  縦にザーッと直すとか、1文字2文字間違えた、なんて時は EL とか  よりも簡単に修正出来ますし。 裏画面に別頁を読み込む事も出来ます。 「行がずれた!」なんて時、CPR、ML、ROL、代わり事も出来ます。 まぁ、考えられるミス用のコマンドは、メニューに用意して置けば良い  のですが、EDが有ると思いも掛けない時、応用が効いて便利です。(^^)
#23846 DATEの効用 DATE 日付の変更  期末が近づいて来ますと。。。あの時、この勘定科目をこうして置けば  良かった。 この額を纏めなければ良かった、などが有りませんか?  その時、オートによっては、月度を遡っての再計算は面倒。  また、色々、PCデータタイトルの日付を重視したい場合もあります。  で、DATE で日付を戻す、という方法が簡単にして便利です。  TIME 時間の変更  時計とPCの時間を会わせたい時、Win95上で時計を操作するより簡単です。  で、最近これを使って、お使いに行って帰ってこないポストペットを戻す、  という方法を覚えました。A^-^;  お使いから帰ってきた分身と、ガッチャンコしても大丈夫みたいです?  でも、居ない筈のペットを別の人にお使いさせるのは、止めた方が良いか  も知れません? 寂しさのお相手だけなら、大丈夫みたいです?  大事なのは、これらをした後、タイミングよく、ちゃんと戻す事。  でないと、NifTerm などは巡回が狂います。^^;
# 22655 コントロール  オートのメンテナンスを楽にする方法の1例です。  通常は、オートが起動したら、RB:=コントロ―ル頁 等で読み出し、 そこから、必要な変数を次々、取らせるようにしています。  コントロールの持ち方と、オートの組み方次第で、コントロールさえ  変更すれば、かなりの融通が効くようになります。  T:= 指定、SHTグループ指定、¥、@、H、T 0桁列などを  使えば、予測される変更はコントロールのみで済ませる事も可能です。  あちこちに色々なデータを分離させると、その修正が大変になります。  ちょっとずつのデータ等は、一カ所に纏めれば、あちこちを参照する  無駄が省け、見易くなりますし、何処に何が有るかの把握も兼ねます。  以下のは、例として適切かどうか、判りませんが、意味合いの一部は  ご理解頂けるかと。。。思うのですが。。。。  尚、T列の U は、SH の為のキーです。  下に、例えば、人事データの頁とか、在庫データの頁とか、何らかの  日付とか、等々、何でも書けますので、キーが有った方が便利です?  これは全くのサンプルですから、画面オートにしています。 [コントロ―ル頁] 98.03.28 混 L=3487 C=0074 SETX:1:3:2:7:3:9:ESC: GOTO *A: F=11,12,14,14,14,2 ----------------------------------------------------------------- 使用者 V1 ファイル V2 記入先頭頁 Z1 記入最終頁 Z2 予定最終頁 Z3 ----------------------------------------------------------------- きょうこ      S       10       12 25 U かおるん      M       1       10 100 U   匿名      A       1       1 100 U ----------------------------------------------------------------- *A V0="ESC": ACCP:あなたのお名前は :?:V1=V0: IF V0="ESC" THEN:STOP:ENDIF: *エスケ―プが押された時。 IF V0="" THEN:GOTO *A:ENDIF:    *実行のみは、やり直し。 DPOFF:SH::C1=V1:CT=U:::DPON: *登録されてるかどうか、調べる IF CNT[L]>0 THEN: *該当デ―タが有った時 V2=[H,2]:Z1=[H,3]:Z2=[H,4]:Z3=[H,5]: ELSE:COLOR:7:1:2: LOC:10:6:PRINT: : LOC:11:6:PRINT: お名前が登録されていません。m(__)m : LOC:12:6:PRINT: : STOP: ENDIF: IF V1="匿名" THEN:ACCP:V2 ドライブにFDを入れて下さい。:?:ENDIF: R:V2/Z2: *一番無難なRだけにしました。 *本来は、ここで仕事をします。 *仕事が終わったら、コントロールを読み出し、頁データ部を更新して、 * W:*:: 等で保存します。 更新タイミングが、少々難しいかも。A^^;; STOP:
# 22823  サンプルアイコンを使ってオート起動  MYP、MYXファイルにオートを作り、FILEXでオート登録をし、  デスクトップ画面上のアイコンをWクリックすれば、オートが起動する  状態にして下さい。  ※ ここまでの方法が判らない方は、「スタート」の「プログラム」の  ※「マイツール for Windows」の「アイコン登録の説明」を参照下さい。  ※ その説明内容が判らない方は、ご質問下さい。  以下、「アイコン登録の説明」の「アイコンの変更」の応用です。  WinMT の AUTOICO.DLL や Windows の SHELL32.DLL などに用意されてる  のと、またひと味違うアイコンが使えますし、自分でも作れます。  アイコンを変更する(MTSYSICO\ のサンプルアイコンを使う。) 1.デスクトップ画面上のオートプログラム起動用のアイコンを、マウス右   クリックして、[プロパティ]を選択します。 2.「ショートカット」タブの「アイコンの変更」ボタンをクリックします。 3.「参照」ボタンをクリックします。   WINMT\MTSYSICO\ のフォルダへ移動します。   「ファイルの種類」ボックスから「すべてのファイル」を選択します。   ファイル名は、SYS/9のお気に入りので良いわけですが、ここでは   取りあえず、SIN_0.BMP とか SIN_1.BMP とか SIN_ を選んで下さい。   (壁紙にもよりますが、一見透明化に見えますので。)   ※ ファイル名が並んでる何処でも、一旦マウスカーソルを置き S と   ※ キーボードから入力すれば、S を頭文字とするファイルへカーソル   ※ が飛んで、探すのが楽です。   「開く」をクリックします。 4.「現在のアイコン」ボックスに絵が出たら、「OK」をクリック。  「***.MYP のプロパティ」に戻ったら、OK。  すでにマイツールが起動されている場合は、  オートプログラムのショートカットをクリックしても実行されません。 アイコンを戻したい場合は、3. の参照で C:\WINMT\AUTOICO.DLL を選択  なさって下さい。 C:\WINDOWS\SYSTEM\SHELL32.DLL のも使えます。

目次へ戻る。
2000/08/27-