4120 ' ------------ g.4170, 4230
4125 YY$=MID$(DATE$,1,2)+MID$(DATE$,4,2): YM=VAL(YY$) ' YM=使い捨て
4130 IF YM<8000 THEN YM=200000!+YM ELSE YM=190000!+YM ' 西暦2000年以降の対応
4135 YM.B=600: PRINT "": COLOR 6
4140 PRINT "◆本日は" YM "。 " (YM-2500) "〜" (YM-600) " を入力してください。 ": PRINT "": COLOR 7
4145 PRINT " 最終入校年月は、いつにしますか? (1997/01なら→ )199701(=6桁入力) "
4150 PRINT " Ret の場合は= " YM.B/100 "年前の" (YM-YM.B);: INPUT " と判断します。 ";L.AST$
4155 IF L.AST$="" THEN L.AST$=MID$(STR$(YM-YM.B),2,6)
4160 IF LEN(L.AST$)<>6 OR VAL(L.AST$)<(YM-2500) OR VAL(L.AST$)>(YM-YM.B) THEN ELSE 4200
4165 PRINT "": COLOR 5: PRINT ,"入力が不適当です。再入力を": PRINT
4170 GOTO 4120
--------------------------------------------------
約430行のサイズを持つ顧客管理プログラムの1つ。
前記の方法で1/2分割を繰り返し、上記の4120行〜4170行にフリーズの原因があることが判明。
◇解決策
4140 PRINT "◆本日は"; YM; "。 "; (YM-2500); "〜"; (YM-600); " を入力してください。 ": PRINT "": COLOR 7
4150 PRINT " Ret の場合は= "; YM.B/100; "年前の"; (YM-YM.B);: INPUT " と判断します。 ";L.AST$
上記のように PRINT 文で文字列や変数の連続表示で、
;セミコロンが抜けていたので正しく修正したところOK。
通常はエラーを出すところだが、この場合は何故かフリーズしてしまった。
(注:本来は「半角のセミコロン」を挿入しなければいけないのだが、画面上では見えにくいので、ここでは全角のセミコロンを使っている。)
Top 88Menu