J 00.08.2719 [ACCPFL] 00.08.28 混 L=14641 C=0074*2000.08.24 v0.00 作成 *2000.08.28 v0.01 単ペ―ジ指定時のバグ修正。  *ル―チン名 *頁指定チェッカ― *使用変数 Z91,Z92,Z93 Z99 V41,V42,V43,V44 *動作確認 マイツ―ル for Windows V1.16 2.00  *前提条件 V41 に頁情報が入っている事。 *仕事 V0,V43,Z92,Z93 に以下の内容を入れます。 * V0 ERR か V か F か S か MYX か ヌル * V43 ファイル名 * Z92 先頭ペ―ジ * Z93 最終ペ―ジ  *通常、オ―トでは、 *ACCPNUM:処理するペ―ジは何ペ―ジから :1:100::?:Z1=Z0: *ACCPNUM: 何ペ―ジまで :Z1:100::?: *とかするわけです。 *そうすると、対象外の数字はマイツ―ルが刎ねてくれます。  *が、この方法では、マイツ―ルコマンドでの操作と違います。 *また、他のファイルも対象に出来るようにするには、ACCP: *を使うのですが、ミス入力を調べるのが結構大変。 *これは、そのミス入力チェックを調べるオ―トです。  *M/1-10 MUG/1-10 M1-10 TMP S1 等々入力された文字列から、 *ファイル名、先頭ペ―ジ、最終ペ―ジを分けます。  *サンプル  T:ESC:  V0="ESC":  ACCP:[TEST] 試しに繋げるペ―ジは [画面…望 :?:  DP:::  IF V0="ESC" THEN:STOP:ENDIF:   TOUPPER:V0:"V31": *TFと文字型を会わせる   V41=V31:  GOSUB *頁指定チェッカ―:  V33=V0:  IF V33="ERR" THEN:GOTO *サンプル:ENDIF:   RC:V43/Z92-Z93:1:   COLOR:7:1:2:  LOC:10:6:PRINT: :  LOC:10:6:PRINT: V43/Z92-Z93 を繋げました。 :  LOC:10:6:PRINT: :  STOP:  *-------------------------- サブル―チン ---------------------------* *頁指定チェッカ―  *使用変数 Z91,Z92,Z93 Z99 V41,V42,V43,V44  *前提条件 V41 に頁情報が入っている事。  *戻り値 *V0 ERR か V か F か S か MYX か ヌル *V43 ファイル名 *Z92 先頭ペ―ジ *Z93 最終ペ―ジ   DPOFF:  COLOR:0:6:2: *黄色背景に黒文字  Z92=0:Z93=0:V0="":V42="":V43="":V44="":   IF V41="" THEN:RETURN:ENDIF: *画面指定  V44=V41:   Z0=V41:  IF Z0>0 THEN: *現在ファイル単ペ―ジ  Z92=Z0:Z93=Z0:  CHKFILE::V43=V0:  V0="F":GOTO *最終頁確認:  ENDIF:  *入力文字列をファイル名、先頭ペ―ジ、最終ペ―ジに分ける  TOKANJI:V41:"V41":  LEN:V41: Z91=Z0:  V42="":  FOR Z99=1 TO Z91 STEP 2:  STRCPY:V41::Z99::2::  IF V0="/" THEN:Z0=Z99-1:  STRCPY:V41::1:1:Z0:"V43": *[―]入りの名前含む  V42="": *V42 のクリア  ELSE:IF V0="―" THEN:  V44=V42: *S複数/抜き用保存  Z92=V42: *Z92 先頭ペ―ジ  V42="":  ELSE:V42=V42+V0:  ENDIF:  ENDIF:  NEXT:   Z93=V42: *Z93 最終ペ―ジ  *エラ―チェック  */が有って頁指定されている  IF V43<>"" THEN: *F型  IF Z92=0 AND Z93>0 THEN:Z92=Z93:ENDIF: *単頁  GOTO *F型ファイル確認:  ENDIF:  *残るのは/がなくてファイル名を分けられなかった時 *[/]抜き S A M 指定、V型、頁ファイル、入力ミス   IF Z92=0 AND Z93=0 THEN:   *単頁  V0=V41-"S":Z0=V0:  IF Z0>0 THEN: *S1等 [/]抜き単頁  V43="S":Z92=Z0:Z93=Z0:V0="S":  GOTO *大小確認:  ENDIF:   V0=V41-"M":Z0=V0:  IF Z0>0 THEN: *M1等 [/]抜き単頁  V43="M":Z92=Z0:Z93=Z0:V0="S":  GOTO *大小確認:  ENDIF:   V0=V41-"A":Z0=V0:  IF Z0>0 THEN: *FD等 [/]抜き単頁  V43="A":Z92=Z0:Z93=Z0:V0="S":  GOTO *大小確認:  ENDIF:   GOTO *V型頁型ファイル確認:   ENDIF:  *複数頁指定 /が無くて―がある時  IF Z92=0 AND Z93>0 THEN:   V0=V44-"S":Z0=V0:  IF Z0>0 THEN:  V43="S":Z92=Z0:V0="S": *S1等 /抜き複数頁  GOTO *大小確認:  ENDIF:   V0=V44-"M":Z0=V0:  IF Z0>0 THEN:  V43="M":Z92=Z0:V0="S": *M1等 /抜き複数頁  GOTO *大小確認:  ENDIF:   V0=V44-"A":Z0=V0:  IF Z0>0 THEN:  V43="A":Z92=Z0:V0="S": *FD等 /抜き複数頁  GOTO *大小確認:  ENDIF:   *―と数字が使われているファイル名で頁指定が無い時  V43=V41:  GOTO *V型頁型ファイル確認:  ENDIF:  *複数頁指定 現在ファイル  CHKFILE::V43=V0:V0="F":  GOTO *大小確認:   *F型ファイル確認 *頁指定がされている時  TF:ESC:SV:RVON:RV:RVOFF:  CFA:4:2:21:8:3:5:6:1:8:21:11:  DIA: SETX:1:2:2:3:3:Z37:ESC:  SH::C3=V43:C5="F":::   IF CNT[L]>0 THEN: *F型でファイルが有る  V0="F":  GOTO *大小確認:  ENDIF:  *残るはファイル名ミスか、V型のミス入力?  X:  SH::C3=V43:C5="V":::  IF CNT[L]>0 THEN:  DPON:  LOC:2:8:PRINT: :  LOC:3:8:PRINT: 指定方法が違います。 :  LOC:4:8:PRINT: :  LOC:5:8:PRINT: F型例 MUG/1-100 :  LOC:6:8:PRINT: V型例 TMP :  LOC:7:8:PRINT: :  V0="ERR":  RETURN:  ELSE:  DPON:  LOC:2:8:PRINT: :  LOC:3:8:PRINT: :  LOC:3:8:PRINT: V43:  LOC:4:8:PRINT: ファイルが見つかりません。 :  LOC:5:8:PRINT: :  V0="ERR":  RETURN:  ENDIF:  *V型頁型ファイル確認 *頁番号が無いか取れない  TF:ESC:SV:RVON:RV:RVOFF:  CFA:4:2:21:8:3:5:6:1:8:21:11:  DIA: SETX:1:2:2:3:3:Z37:ESC:  SH::C3=V41:C5="V"::: *V41 全角にした入力文字列  *V型ならクリアされてないかチェック  IF CNT[L]>0 THEN:  V0="V": *V型  V43=V41:Z92=1:Z93=MH,6:  IF MH,6=0 THEN:  DPON:  LOC:2:8:PRINT: :  LOC:3:8:PRINT: :  LOC:3:8:PRINT: V43:  LOC:4:8:PRINT: クリアされていますが? :  LOC:5:8:PRINT: :  V0="ERR":  ENDIF:  RETURN:  ENDIF:  *F型の/抜けミスかチェック  X:  SH::C3=V41:C5="F":::  IF CNT[L]>0 THEN:  DPON:  LOC:2:8:PRINT: :  LOC:3:8:PRINT: 指定方法が違います。 :  LOC:4:8:PRINT: :  LOC:5:8:PRINT: F型例 MUG/1-100 :  LOC:6:8:PRINT: V型例 TMP :  LOC:7:8:PRINT: :  V0="ERR":  RETURN:  ENDIF:  *頁ファイル?  V43=V41:  V0="MYX":  RETURN:  *大小確認  IF Z92>Z93 THEN:  DPON:  LOC:2:8:PRINT: :  LOC:3:8:PRINT: :  LOC:3:8:PRINT: V43/Z92-Z93:  LOC:4:8:PRINT: という指定は出来ません。 :  LOC:5:8:PRINT: 前の頁の方が大きいです? :  LOC:6:8:PRINT: :  V0="ERR":  RETURN:  ENDIF:  *最終頁確認  LASTP:V43:  X:  IF Z93>Z0 THEN:  DPON:  LOC:2:8:PRINT: :  LOC:3:8:PRINT: :  LOC:3:8:PRINT: V43/Z92-Z93 はおかしいです。:  LOC:4:8:PRINT: :  LOC:4:8:PRINT: V43:  LOC:5:8:PRINT: :  LOC:5:8:PRINT: の最終は Z0ペ―ジです。:  LOC:6:8:PRINT: :  V0="ERR":  RETURN:  ENDIF:  *チェック完了  RETURN: