No.37-1 |
カレンダーを作りたい |
回答者 藤原 良允 |
1996年11月 178号 P.30 |
◆ No.37(1996年 10月号)の回答-1 (P-4G M68MX)
■本誌の1995年5月号に、私が発表した「YONUM」というオートプログラムを使用すれば簡単です。「短いけれど非常に便利なプログラム」という題名で掲載されています。図1がその「YONUM」です。このオートを使用して、例えば、'97年1月から4月までのカレンダーを作ってみましょう。次の通りです。
- <1>先ず、1列目に1日から31日までを書き込んだ列と、2列目に曜日を書き込む列を作り、これを「FMT」というバインダーの1頁に登録します。つまりこれがカレンダー作表のフォーマットになります。
O;カレンダー;5;月日;5;曜日;HOME;IR;S;4;31;NUM;;R;1;4;1;1;P;FMT/1;;
- <2>次に下記のように操作してカレンダーというバインダーの1頁から順次登録すれ
ばOKです。
G;FMT/1;CT;'97年1月;YONUM;P;カレンダー/1;;
G;FMT/1;CT;'97年2月;DR;32,T;;YONUM;P;カレンダー/2;;
G;FMT/1;CT;'97年3月;YONUM;P;カレンダー/3;;
G;FMT/1;CT;'97年4月;DR;T;;YONUM;P;カレンダー/4;;
■この[YONUM」は非常に便利なプログラムですから、是非ご活用下さい。■
図1 YONUMプログラム(1995/5藤原良允)
<YONUM> /* 曜NUMプログラム・・・上書き問い合わせあり */
V1="日";V2="月";V3="火";V4="水";V5="木";V6="金";V7="土";CAL;HOME;
$スタート: ACCEPT "縦方向(R), 横方向(C)? [RETURN]のみは 縦方向 です",V11;
IF V11="R" THEN GOTO タテ1; IFV11="" THEN GOTO タテ1;
IF V11="C" THEN GOTO ヨコ1 ELSE GOTO スタート;
$タテ1: ACCEPT "列番号は?",V12;
ACCEPT "何行目から書き込みますか?",V13;
LET X12=VAL(V12);LET X13=VAL(V13);GOTO 曜;
$ヨコ1: ACCEPT "行番号は?",V13;
ACCEPT "何列目から書き込みますか?",V12;
LET X12=VAL(V12);LET X13=VAL(V13);GOTO 曜;
$曜: ACCEPT "上書きしてもよいですかY/N?[RETURN]のみはYです?",V15;
ACCEPT "スタートの曜日は?(日=1,月=2,火=3,水=4,木=5,金=6,土=7)",V14;
IF V14="" THEN GOTO 曜;IF VAL(V14)<1 OR >7 THEN GOTO 曜;
LET X14=VAL(V14);IF V11="R" THEN GOTO タテ2;IF V11="C" THEN GOTO ヨコ2;
$タテ2: IF V15="" OR "Y" THEN GOTO 上書1;
FOR X30=X13 TO T;
LETV21=[X30,X12];IF V21<>"" THEN GOTO 次2 ELSE GOTO 次1;
$次1: LET[X30,X12]=V%X14;LETX14=X14+1;IFX14=8 THEN LET X14=1;
$次2: NEXT;GOTO 終;
$上書1: FOR X30=X13 TO T;
LETV22=[T+1,X12];
LETV12=[X30,X12];IF V21=V22 THEN GOTO ツギ2 ELSE GOTO ツギ1;
$ツギ1: LET 〔X30,X12]=V%X14;LET X14=X14+1;IF X14=8 THEN LET X14=1;
$ツギ2: NEXT;GOTO 終;
$ヨコ2: IF V15="" OR "Y" THEN GOTO 上書2;
FOR X30=X12 TO C;
LET V21=[X13,X30;IF V21<>"" THEN GOTO 次4 ELSE GOTO 次3;
$次3: LET [X13,X30]=V%X14;LETX14=X14+1;IF X14=8 THEN LET X14=1;
$次4: NEXT;GOTO 終;
$上書2: FORX30=X12 TO C;
LETV22=[X13,C];
LETV21=[X13,X30];IFV21=V22 THEN GOTO ツギ4 ELSE GOTO ツギ3;
$ツギ3: LET[X13,X30]=V%14;LETX14=X14+1;IFX14=8THENLETX14=1;
$ツギ4: NEXT;
$終: STOP;
|
|
|