Zム 00.09.18ィ$ [FOUR] 西暦4桁変換] 02.08.20 混 L=9384 C=0090 *v1.00 1998.10.04 *v1.01 2000.05.07 2001と平成01 考慮 *v1.02 2000.09.17 一々平成か西暦か聞かせると煩いので、カスタマイズ対応に変更 * FSW版対応に *v1.03 2002.08.20 未来の予定表対応に、カスタマイズ追加  *ファイル名 FOUR.MYX *仕事 2000/5/1 等を YMD が使える 20000501 のように変換する。 * 元々和暦や下二桁西暦を西暦4桁に変換するオ―トでしたが、 * エクセルからのデ―タを取った後で便利な事が判り、汎用性を * 追加しました。V42 初期値を西暦から平成に変更。  *必ず、デ―タのバックアップを取ってからRUNして下さい。  *----------------------------------------------------------------------------* *ユ―ザ―カスタマイズ部分 *それぞれの区分で、設定したい箇所の左の * を外して下さい。   V41="黒": *FSW版MT SETD 背景黒(標準) * V41="白": *FSW版MT SETD 背景白  *2桁年の判断基準 * v42="全部西暦": *50未満は 2000年代 50以上は 1900年代  V42="平成": *平成本年以下の時 平成 * V42="西暦": *西暦本年以下の時 西暦  *(この場合、未来は和暦になります)  *昭和と平成の判断(V42 が全部西暦 以外の時に有効) *今年から数えて何年後まで平成と見なすかを決めて下さい。初期値 20年後  Z90=20: *Z90 以降を昭和とみなします *----------------------------------------------------------------------------* GOTO *A:  サンプル表 F=12,14,14,10,10 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  日付 全部西暦 混合 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  4345 昭和 日付と見ない  42.12.5 昭和 20421205 19671205  62.3.14 昭和 19620314 19870314  64.01.01 昭和 19640101 19890101  43124 昭和 月日判断不能  91010 平成 20091010 19971010  01.02.5 平成 20010205 19890205  14/12/31 平成 20141231 20021231  1-12-31 平成 20011231 19891231  15 01 05 平成 20150105 20030105  19-9-9 カスタマイズ 20190909 20070909  9-10-7 平成 20091007 19971007  9111 平成 月日判断不能  98,10.21 西暦2桁 19981021 19981021  98-11-04 西暦2桁 19981104 19981104  980910 西暦2桁 19980910 19980910  00.05.01 西暦2桁 20000501 20000501  0051 西暦2桁 日付と見ない  1997.8.12 西暦4桁 19970812 19970812  1998.10.12 西暦4桁 19981012 19981012  19980102 西暦4桁 19980102 19980102  2000.05.07 西暦4桁 20000507 20000507 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  *生成ファイル なし *使用ペ―ジ 画面 *設定変更 なし *登録方法 WFL で書いて FILEX プログラム登録 *動作確認 マイツ―ル or Winows 1.13 以上 V2 2.00 以上 *使用変数 Z90,Z91,Z92,Z93,Z95,Z96,Z97,Z98,Z99 V41,V43 *条件計算式 有り  *頁横サイズに、10桁以上の余裕が必要です。 *予め、対象となる全頁が、同じフォ―マットで在る事をご確認下さい。 *(SH:対象頁:S=F=*::S/1: とかで確認出来ます。) *表より右にはみ出す SIM 行や AUTO 行が在る時、ご注意願います。  *変換したデ―タは先頭列に追加します。 *異常と判断されるデ―タは、無視します。  *西暦4桁変換、早く治しましょう。 *平成元年と西暦2001年を同じ形で混在させないようにしませう。  *ペ―ジを選択する時の注意点 *通常のオ―ト風に「何ペ―ジから」と「何ペ―ジまで」と分けて聞きます。 *ミス入力が恐いので、S/1-100 とか、ファイル名には対応しません。 *デ―タがSペ―ジで、現在ファイルがMペ―ジとかの時は、 *CHF:S でファイルを変更した後、RUNして下さい。  *A  V43="": *画面を使うかどうかの記憶  LASTP::Z91=Z0: *Z91 ファイル最終ペ―ジ  *開始ペ―ジ  IF T0>0 THEN:V0="( 画面… )":ELSE:V0=" ":ENDIF:   Z0=100000:ACCPNUM:[FOUR] 4桁変換 何頁から?V0:1:Z91:0:?:Z92=Z0:  IF Z0=100000 THEN:STOP:ENDIF:  IF Z0=0 AND T0=0 THEN:GOTO *開始ペ―ジ:ENDIF:   IF Z0=0 THEN:V43="画面":  WCNT:  IF Z0>10 THEN:  IF V41="黒" THEN:COLOR:7:1:2:ELSE:COLOR:0:1:2:ENDIF:  LOC:1:6:PRINT: :  LOC:2:6:PRINT: 条件計算式が入っています。 :  LOC:3:6:PRINT: ペ―ジ番号指定の方が速いかも? :  LOC:4:6:PRINT: :  V0="N":ACCPSTR:時間が掛かっても続行しますか? :Y,N:Y:?:  IF V0="N" THEN:DP:::STOP:ENDIF:  ENDIF:  ELSE:  R:Z92: *開始ペ―ジの読み出し  IF T0=0 THEN:  IF V41="黒" THEN:COLOR:0:6:2:ELSE:COLOR:7:6:2:ENDIF:  LOC:1:6:PRINT: :  LOC:2:6:PRINT: 日付「列」の有るペ―ジを指定して下さい。:  LOC:3:6:PRINT: :  STOP:  ENDIF:   Z0=100000: *10万ペ―ジも対応してない  ACCPNUM:[FOUR] 何頁まで?( 可能範囲 Z92-Z91 ):Z92:Z91:Z92:?:  IF Z0=100000 THEN:STOP:ENDIF:  Z91=Z0:  ENDIF:   Z0=1000:  ACCPNUM:[FOUR] 日付が入っている列番号は?( 1 … ):1:T0:1:?:  IF Z0=1000 THEN:STOP:ENDIF:  Z93=Z0:   DR:0:1:  DATE::  Z95=Z35-1988: *Z95 今年の平成年度  Z96=Z35MOD100: *Z96 今年の西暦下2桁   FOR Z97=Z92 TO Z91: *Z92 Z91 ペ―ジ番号   IF V43<>"画面" THEN:R:Z97:ENDIF:  DPOFF:  DIA:Z98=Z35: *画面の頁横桁数  CF:::Z99=Z38: *累計桁数   IF Z98-Z99<10 THEN:  DPON:  IF V41="黒" THEN:COLOR:0:6:2:ELSE:COLOR:7:6:2:ENDIF:  LOC:1:6:PRINT: :  LOC:2:6:PRINT: 頁横サイズに9桁以上の余裕が必要です。 :  LOC:3:6:PRINT: :  LOC:4:6:PRINT: CPSでペ―ジ横桁数を増やして下さい。 :  LOC:5:6:PRINT: :  STOP:  ENDIF:   IC:1:10:ESC: CPC:Z93+1:1: *1列目に複写して処理  SHU:::Y:1$-: :1$,: :1$/: :1$.: :: *-,/. をスペ―スに変換   CFP::1:8::C2=C2:"0"+C2=C2,C2<10: *日付を分離し2桁に  SR:1:CFP::1:6::C2=C2:"0"+C2=C2,C2<10: *月を分離し2桁に  SR:1:   *二桁年の処理   *ゼロ年は西暦と見なす(平成0年は無いから)  C1+2000=C1,C1=0: *平成元年は 01?   *カスタマイズ処理  IF V42="全部西暦" THEN:  C1+2000=C1,C1<50: *50 未満が 2000年代  ELSE:   IF V42="西暦" THEN:  C1+2000=C1,C1<=Z96: *今年の西暦下二桁より小さい  ENDIF:  IF Z90<0 THEN:Z90=0:ENDIF: *カスタマイズミス対策 念のため  Z94=Z95+Z90: *和暦の今年から Z90年後まで平成とする  IF Z94<65 THEN:  C1+1988=C1,C1<=Z94: *平成(1〜今年のZ90年後まで)  C1+1925=C1,C1<65: *昭和(Z94年〜64)  ELSE:  C1+1988=C1,C1<=Z94: *平成15年作成 50年予定表対応?  ENDIF:   ENDIF:   1900+C1=C1,C1<100:   *日付と見なせないダミ―デ―タの消去  SHU::C2>12!C3>31::Y:1: :2: :3: ::  CFP:2:1-3:  DPON:   IF V43="画面" THEN:BREAK:ENDIF:  W:Z97::   NEXT:   IF V41="黒" THEN:COLOR:7:1:2:ELSE:COLOR:0:1:2:ENDIF:  LOC:1:6:PRINT: :  LOC:2:6:PRINT: 先頭列に4桁日付を挿入しました。 :  LOC:3:6:PRINT: 判断出来ないデ―タは空白です。 :  LOC:4:6:PRINT: :  LOC:5:6:PRINT: 宜しければエスケ―プして下さい。 :  LOC:6:6:PRINT: :   STOP:    きょうこ kyoko@takamiya.com