和生師匠が早速対応してくださいました。 モノクロ版にするには,色設定を変更してください。って,どこだっけ。 えーと,とりあえず祝日対応の確認のために,CGA程度のカラーで表示でき る環境で試してみてください。日本語化LXは二階調なのでだめです。 ===== Calendar.def ===== v1.06w : by Yushi / fixed wanama ζ゜ ; (R) Yushi さんのモノクロ版カレンダー拡張版 (オリジナル 旧FGALDC MES(16)#01496) ★▼など修正箇所 2003年「海,敬老の日」第3月曜対応 「9月飛石4連」見落とし(- ^;ゞ 法3条3項関連 2005年「5月4連振替」対応 法3条2項関連 「9月飛石4連」 * M 1 ^\ "Calendar" (s>3)?.#] b10+t500+l0+pn..-27, &06 &Sm(b,r,19) b.19=-1, i36, (15){ b.i---, } ax$2a00, &i($21) t..3=y=cx, t.5=m=dx>>8, d=dx&$ff, w-, x+, U-, N=d, k='}', ;★ k-=32, ;;☆ {} → [] r$a000!=vp..1, ;;ifn 98 aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤 ai[=3+10*r, ;3 13, ;;☆祝日色:紫 af[=4/2*r, ;4 2, ;;☆当日印:緑 (ks&1)?>C ;★ :A c-, b.16=24+w*44, ; メニュー幅 :B y[, m[=m+c-w, &02 &03 ; &Sp(b+36+c*22," %4d 年 %2d 月 ",y,m) ; r"janfebmaraprmayjunjulaugsepoctnovdec", ;★ ; r"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC", ;★ r"JanFebMarAprMayJunJulAugSepOctNovDec", ;★ &Sp(b+36+c*22," %4d 年 %2d 月 %3s ",y,m,r+m*3-3) t..1=128*w, p=di=b+82+c*64-w*40, dx-, (w && c<2)?{ dx+, &Sc(b+56+c*22,"〜") } ;★" "→"〜" g65+t..1, ;★アイテム幅 bx=t, &07 &04 ;&05 ;;▼&05特別日 (x)?a" 日 月 火 水 木 金 土 ", ;★ ?a" 月 火 水 木 金 土 日 ", ;★ &Sc(b+57+c*22+44*w,a) ;★ (y-t..3 || m-t.5)??{ e=d, &01 e.0=k-2, e.9=k, ;★当日 e.8='f',(a%7)? e.-1='f', ;;☆行頭 [ af 色 (a%7 || c<1)?? e.-2='f', ;;☆ } (U && c==w)?{ e=N, &01 e.3='s', } ;★日付カーソル m],y], (w && c++<3)?>B ;&m("[↑↓]年 [←→]月 [CR]幅変 [RLUP/DN]10年 $ ; [BS]今月 [TAB]出力 [INS]入力 [DEL]日印") ;★ &Le(l,vp+118) &Le(vp+118,vp+110) &Le(vp+110,l) ;コマンドのすり替え wl[15, rr[=b, &* rr], wl], &d &Le(vp+110,vp+118) &Le(vp+118,l) (r+1)??{ af], ai], ;&m("") ;☆色 ★メッセージ . } (r&$FF+$100)>!{ (#s) { m-=1+w*2,&02 }; 月--,★3ヵ月表示時-=3 (#d) { m+=1+w*2,&02 }; 月++,★ +=3 (#38) y-=10, ; 10年-★ (#37) y+=10, ; 10年+★ (#a) y--, ; 年--, (#f) y++, ; 年++, (256) w!, ; 表示幅変更 (#h) >H ; 今月★ (#v) >C ; 入力★ (#21) >E ; 出力★ (#n) x!, ; 日/月スタート★ (#g) U!, ; 日付カーソルスイッチ★ (#<) { N--, >u } ; 左へ★ (#>) { N++, >u } ; 右へ★ (#39) { N-=7,>u } ; 上へ★ (#40) { N+=7,>u } ; 下へ★ (#X) >x ; #79:\[ESC]★ } >A :x af],ai], >09 ;★ :u &03 (N>t.1)?N=1, (N<1)?N=t.1, >A ;★ :C &g("西暦(1583-)") ; グレゴリオ暦を採用した年(1582/10/15 以降) (r+1)??>A (r+2)??{ c=t..3, >D } (r<100)?r+=2000, ;★1900 (r<1583)?{ &b(4) >C } c=r, :D &g("月 (1-12)") (r+1)??>A (r+2)??{ y=c, m=t.5, >A } (r<1 || r>12)?{ &b(4) >C } y=c, m=r,>A :E (U)?{ &08 >A } ;★ (s || mr==$80)?{ &b(2) >A } Je[-, mi[-, El+, p36+b, c7, &s #n &?(" %s",p) #m :F &Sn(p) p+=r+1, :G &SF(p,'$') (a=r)?{ (a.2=='i')?{ a.8='>', ;★祝日出力 (a.-1=='>')?a.-1='_', ?a.-1='<', } ;★連休 (a.8==k)?a.-1=a.8=32, ;★当日削除 a.0-, &?("%s",p) p=a+3, >G } &?("%s",p) #m (c--)? >F &d mi], Je], #g >A ;★出力月表示 :H y=t..3, m=t.5,>A 1: a=t.0+e-1, e=p+(a/7)*g+(a%7)*9, ;★開始/日付位置 2: (m<1) ?{ m+=12, y--, } (m>12)?{ m%=12, y++, } 3: ; t.0=曜日 t.1=日数 r" $(1F,1C,1F,1E,1F,1E,1F,1F,1E,1F,1E,1F)", (y%4 || y%100==0 && y%400)?r.2=28, ?r.2=29, ;★N.YAMA t.1=r.m, y[,m[, (m<3)?{ y--, m+=12, } t.0=(y+ y/4+ y/400+ (m*13+8)/5+ x- y/100)%7, ;★+ x- m],y], 4: p+=w*128, ;★以下修正(4:) e=p, ;;☆土日着色 :a (e.58-'・')? e.57='a'+x, ;;☆(土曜 ab 限) (e.(49-x*45)-'・')? e.(48-x*45)='b'-x, ;;☆ e+=g, ((e-p)/g<6)? >a ;;☆ (y<2000 || m-1 && m-10)??{ ;幸月曜 2000(成人,体育) e=p+(2-(t.0<1+x))*g+9*x, e.3='i', } ;+x,*x:日/月スタート (y<2003 || m-7 && m-9)??{ ;幸月曜 2003(海,敬老) o=e=p+(3-(t.0<1+x))*g+9*x, e.3='i', } ;第3 &> ;;☆祝日 r.14=20^e>>4, r.42=23^e&$f, ;;☆春秋分調整 :A (r.1>m)?. e=r.2, r[, &01 r], (r.0<y-1899 && r.1==m && (r.3==0 || r.3>y-1900) )?{ ;終了年 r.3 e.3='i', (y<1973 || y==1973 && m<4)??{ ;振替制 1973.4 (x && a%7==0)? e.12='i', ;日から (x || a%7-6)?? e.(g-51)='i', } ;月から (y<2006 || m-5)??{ ;法3条2項2007◆◆ (x &&(a==8 || a==9))? e.12='i', ;日/月スタート◆◆ (x ||(a-7&&a-8))?? e.(g-53)='i',}; ◆◆ (y<2003 || m-9 || o.21-'i')?? o.12='i', ;法3条3項2003◆◆ ;日付行, e:書込アドレス,a:数字開始位置◆◆ } r+=4, >A 4: ; 固定祝日テーブル (開始年,月,日,廃止年 1900年起点) ★変更 ; 49-0101- 49-0115~100 67-0211- 春分.14- ; 48-0429- 49-0503- 86-0504- 49-0505- ; 96-0720~103 66-0915~103 秋分.42- ; 66-1010~100 48-1103- 48-1123- 89-1223- &> e=r.(y-1948), (3+$)."$(31,01,01,00,31,01,0f,64,43,02,0b,00,31,03,14,fb)$ $(31,04,1d,00,31,05,03,00,56,05,04,00,31,05,05,00)$ $(60,07,14,67,42,09,0f,67,30,09,17,fb)$ $(42,0a,0a,64,30,0b,03,00,30,0b,17,00,59,0c,17,78)", 4: ; 春分・秋分差分テーブル(1948-2150) ★追加 (3+$). "$(10,10,10)$ $(1f,10,10,10,1f,10,10,10,1f,00,10,10,1f,00,10,10,1f,00,10,10)$ $(1f,00,10,10,1f,00,10,10,1f,00,10,10,10,00,10,10,10,00,10,10)$ $(10,00,00,10,10,00,00,10,10,00,00,10,10,00,00,10,10,00,00,10)$ $(10,01,00,10,10,01,00,10,10,01,00,10,10,01,00,00,10,01,00,00)$ $(10,01,00,00,10,01,00,00,10,01,00,00,10,01,01,00,10,01,01,00)$ $(10,01,01,00,10,01,01,00,00,01,01,00,00,01,01,00,00,01,01,00)$ $(00,01,01,00,00,01,01,01,00,01,01,01,00,01,01,01,00,01,01,01)$ $(00,71,01,01,00,71,01,01,00,00,10,10,1f,00,10,10,1f,00,10,10)$ $(10,00,10,10,10,00,10,10,10,00,10,10,10,00,00,10,10,00,00,10)$ $(10,00,00,10,10,00,00,10,10,01,00,10,10,01,00,10,10,01,00,10)" ;5: ; 特別日とテーブル(祝日重複の場合祝日出力せず) ;▼追加 ; &> :r (r.1>m)?. e=r.2, r[, &01 r], ; (r.0<y-1899 && r.1==m)?e.3='m', r+=4, >r ;5: (3+$)."$(48,03,0b,00)", ;サンプル 6: (2+$)."$(a,0,ff,ff,0)!01(r)$(0,e1,6,0,0,7)" ; &34+!01h 7: &i(3+$)."$ $(B1,01,EB,19,FE,C1,8A,C1,32,E4,B5,07,F6,F5,80,FC)$ $(01,75,11,B0,20,80,FA,00,75,02,32,C0,AA,03,7F,02)$ $(B8,20,00,AA,B0,24,AA,B8,61,6E,AB,8A,C1,2A,07,3A)$ $(47,01,77,04,3C,01,79,06,B8,a5,a5,AB,EB,10,32,E4)$ $(50,B5,0A,F6,F5,E8,16,00,8A,C4,E8,11,00,58,B0,24)$ $(AA,B8,61,6E,AB,B0,20,AA,80,F9,2B,72,A7,C3,04,30)$ $(AA,C3)" ;8: a"calendar.lst", ;★ ; &So(wa+146,a) (r)?{ &>.} ; &s #O &?("%s%s",pi,a) #m #^ ;calendar.lst オープン ; mp[, ps[=pa, #F &?("%2d月%02d日",m,N) #m ; #c (r)?>z #b ;:r #c (r)??>r #x #B ;:z ps],mp], &d mb-, 8: m[,y[, (m<3)?{ m+=12, y--, } #n ;★日付出力 r"日月火水木金土"+ 2*((y +y/4 +y/400 +(m*13+8)/5 +N -y/100)%7), &?("%d年%2d月%2d日(%2s)",y],m],N,r) #] 9: (wa)??. ss2, (s)>?{ #E . >a #H .} ;暦ソフト連動 ; a"b:\tl\when\WhenHV /wged", ;★WhenHV とサンプル ;:a &?("%s %d %02d %02d",a,y,m,N) #m a"b:\tl\today\TODAY -aP", ;★TODAY の場合 :a &?("%s %d%02d%02d",a,y,m,N) #m #[ (wn)?#X #_ ky-, mp[, ps[=pa, #F &?(a) #m #r #z ps],mp], ;#b #_ #e #y #X #i ;取り込み &d * ===== used y,m,d,w,c,p,t,b,l,i,a,e &+ aa,g,k,x,U,N,o
HP200LX等でのモノクロ版にするには,以下のようにします。 78行目: :x af],ai], >09 ;★ ↓ :x ;af],ai], ;色設定の復帰をコメントアウトして行を分けます >09 ;★ 56行目: af], ai], ;&m("") ;☆色 ★メッセージ ↓ コメントアウトします ; af], ai], ;&m("") ;☆色 ★メッセージ 20行目〜24行目: k-=32, ;;☆ {} → [] r$a000!=vp..1, ;;ifn 98 aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤 ai[=3+10*r, ;3 13, ;;☆祝日色:紫 af[=4/2*r, ;4 2, ;;☆当日印:緑 ↓ コメントアウトします ; k-=32, ;;☆ {} → [] ; r$a000!=vp..1, ;;ifn 98 ; aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤 ; ai[=3+10*r, ;3 13, ;;☆祝日色:紫 ; af[=4/2*r, ;4 2, ;;☆当日印:緑 18行目: w-, x+, U-, N=d, k='}', ;★ ↓ 括弧をシスマネ様に w-, x+, U-, N=d, k='>', ;★ この出力調整で,祝日・休日が反転するようになるでしょう。
めざら さん、今晩は! 和生さんの随分すばやい対応にウレシイ驚きです。\(^o^)/ 有難うございます。 m(__)m 私、早速、HP200LXで、祝日・休日を反転させて、使わせて いただいています。和生さんに宜しく。 これで、パーフェクトなカレンダーになりましたね。
追加情報です。和生さんからのメールの内容をそのまま掲載させて頂きます。 そういえば LX の数値をかいてなかった。 m(__)m --------------------------------------------------------------------- r$a000!=vp..1, ;;ifn 98 aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤 ai[=3+10*r, ;3 13, ;;☆祝日色:紫 af[=4/2*r, ;4 2, ;;☆当日印:緑 --------------------------------------------------------------------- ここです。こいつを↓のようにします。 --------------------------------------------------------------------- r$a000!=vp..1, ;;ifn 98 aa$96+10*r, ;2←98 #if DOSV 12, LX+$96 ;;☆日曜色:赤 ai[=$76+10*r, ;3 13, +$76 ;;☆祝日色:紫 af[=4/2*r, ;4 2, ;;☆当日印:緑 --------------------------------------------------------------------- #if 文を使って,スマートにすれば,元のものに以下を追加 --------------------------------------------------------------------- #if LX aa+=$96, ai+=$76, #endif --------------------------------------------------------------------- かな? …とのことです。
めざら さん 今晩は! 和生さんからの追加情報掲載、有難うございます。> ---------------------------------------------------------------------> r$a000!=vp..1, ;;ifn 98> aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤> ai[=3+10*r, ;3 13, ;;☆祝日色:紫> af[=4/2*r, ;4 2, ;;☆当日印:緑> ---------------------------------------------------------------------この部分は、コメントアウトされたので、 今回は、コメントアウトを外して、> ---------------------------------------------------------------------> r$a000!=vp..1, ;;ifn 98> aa$96+10*r, ;2←98 #if DOSV 12, LX+$96 ;;☆日曜色:赤> ai[=$76+10*r, ;3 13, +$76 ;;☆祝日色:紫> af[=4/2*r, ;4 2, ;;☆当日印:緑> ---------------------------------------------------------------------のように直すと言う趣旨でしょうか? #if 文を使って,スマートにすれば,元のものに以下を追加> ---------------------------------------------------------------------> #if LX> aa+=$96, ai+=$76,> #endif> ---------------------------------------------------------------------この部分は、機能に関係はないのですか?つまり、やらなくとも良い?
めざら さん 今晩は! No.509のように実行してみたら、日曜日も、他の祝日と同様に 黒地に白抜きの日付文字というここととなり、両者の統一性が とれるようになりました。 aa+=$96, ai+=$76の意味ですが、HP200LXの場合の 配色とおもいますが、どれが地の色で、どれが白抜き文字の 指定ですか?
> aa+=$96, ai+=$76の意味ですが、HP200LXの場合の> 配色とおもいますが、どれが地の色で、どれが白抜き文字の> 指定ですか?この値は表示属性の値そのものではありません。 日本語化 LX のようにモノクロ2値の場合,試してみても意味はないと思い ますが,一応 IBM-PC 版 VZ の色指定について説明します。 まず,IBM-PC の色指定は2バイトの値を使って, そのうちの下位バイトが 背景色,上位バイトが前景(文字)色になります。以下の数値はすべて十六進数 です。 0 1 2 3 4 5 6 7 低輝度 黒 青 緑 水 赤 紫 黄 白 8 9 A B C D E F 高輝度 黒 青 緑 水 赤 紫 黄 白 こんなマクロを作ってみました。左右キーを押すと色が変化します。窓の中 の数値が色の値です。低輝度の黒は見えませんが,値は 0です。 = PC-color = by H_ear #if 0 IBM-PC色見本 #endif * mad for vz! 1 ^\ "" ?. &> b=r, a-, at[=$0F, aw[, :m !01 (r==-1)?>z (r==$ff07)?{ a=(a+15)%16, aw=at=b.a, } (r==$ff08)?{ a=(a+1)%16, aw=at=b.a, } >m :z aw], at], 0: (3+$)."$(0f,07,0e,06,0d,05,0c,04,0b,03,0a,02,09,01,08,00)" *p 1 "IBM-PC色見本",16,1,3,-1 "■■■■■",at *
akabekoさん、98エミュのNP2の件で某掲示板で何度かやり取りしてます。 HP200LXのautoexe.batに次の1行を追加します。 set vzsym=LX そして以下の様にします。 --------------------------------------------------------------------- r$a000!=vp..1, ;;ifn 98 aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤 ai[=3+10*r, ;3 13, ;;☆祝日色:紫 af[=4/2*r, ;4 2, ;;☆当日印:緑 --------------------------------------------------------------------- ↓ --------------------------------------------------------------------- r$a000!=vp..1, ;;ifn 98 aa2+10*r, ;2←98 #if DOSV 12, ;;☆日曜色:赤 ai[=3+10*r, ;3 13, ;;☆祝日色:紫 #if LX aa+=$96, ai+=$76, #endif af[=4/2*r, ;4 2, ;;☆当日印:緑 ---------------------------------------------------------------------
vz.defのオプションに次の様な箇所があります。 ai、afの箇所はこのオプションの色を一時的に変更してます。 aaはこのカレンダー専用に設けたものです。 #if 98 ;text attr(0:K, 1:B, 2:R, 3:M, 4:G, 5:C, 6:Y, 7:W, +8:rev, +16:u_l) An7 ;テキスト属性 Ac5 ; コントロール文字1 Al5 ; 行番号 Ah13 ; ブロック As15 ; ステータスバー Ao14 ; コンソールファイル Ar13 ; Read onlyファイル Am6 ; メッセージ Ab5 ; ウィンドウわく At5 ; ウィンドウタイトル Aw7 ; ウィンドウ文字 Af6 ; ウィンドウ先頭文字 Ai15 ; ウィンドウカーソル Aj6 ; ヘルプウィンドウ Ak6 ; キーモード Ag0 ; ファイラー背景 Au6 ; ファイラーカーソル Ae1+5 ; コントロール文字2 ##1.6 Ay0 ; ファイル名 ##1.6 #elseif LX An$0F Ac$07 Al$07 Ah$70 As$70 Ao$F0 Ar$7F Am$07 Ab$07 At$0F Aw$07 Af$0F Ai$70 Aj$07 Ak$0F Au$7F Ap$70 Ad$07 Av$06 Ae$12 Ay0 #else An$F0 Ac$F2 Al$F6 Ah$0F As$70 Ao$E0 Ar$30 ;win Am$70 Ab$70 At$70 Aw$70 Af$74 Ai$0F Aj$74 Ak$0E Au$4F Ap$70 Ad$07 Av$80 Ae$F6 Ay0 #endif
SHADOW さん 今日は!一年前に八王子でお会いした紺野さんがSHADOW さんですね。 その後、私がリナザウの98emulatorに無謀な挑戦をしたのを手助け 頂いたのに、案の定、私の力不足で挫折し、その後不義理をしております。 申し訳ありません。ご親切に今回も付き合っていただくとは、有難い ことです。取敢えず、ご挨拶。一両日中にまた質問させていただきます。
shadowは金野(konno)さんとは別人です。98エミュ関連で金野さんとこの板に書き込みしただけです。 私も難しいことはわからないので、めざらさん、konnoさんとか達人の人が居られますのでその方々へどうぞ。
> のように直すと言う趣旨でしょうか?そうです。値の差を直接変更している訳です。 数値そのものの意味は難しいので,あまり深く考えないでください。> #if LX> この部分は、機能に関係はないのですか?つまり、やらなくとも良い?LX だけで使うのであれば,上の修正を行えば必要ありません。 あくまでも 環境変数 VZSYM を設定済みの環境であれば, 共通のマクロファイルで LX と 他の機種とも使えるということです。例えば LX をフラッシュを母艦に挿して, そこからマクロをロードするというような使い方の場合です。
お忙しい中2005年改正祝日法対応有難うございました。 希望した表示になりました。 wanamaさんによろしくお伝えください。
すべて shadowさんのご要望のおかげで,みんなが幸せになりました。(^^) 和生師匠に生電話するきっかけをつくってくださり,感謝しています。 電話くらい,…なのですが,ネットつながりだと気軽にというわけにも いかなくて。
めざら さん、 2005年改正祝日法対応版、頂きました。ありがとうございます。 日曜と祝日で色を変えてあるのですね。カラーの環境では便利です。 和生さんもお元気なようでなによりです。ぜひここにおいで頂きたいですね。
> 和生さんもお元気なようでなによりです。ぜひここにおいで頂きたいですね。3月までに環境を整えたら,きっと来てくださると思います。(^^) 定年後はボランティアにもお忙しいようで,先日は地域のお年寄りを集めて 特定樹林の講義をするとか伺いました。
> 3月までに環境を整えたら,きっと来てくださると思います。(^^)そのときが楽しみですね。 こんな風にして、Vzer のみなさんが集まってくれたらいいなと思います。 「場」の提供だけでなく、連絡をとって下さっているめざらさんに感謝です。
めざら さん 皆さん> こんな風にして、Vzer のみなさんが集まってくれたらいいなと思います。>HP200LX のUSER 即ち、LXer 達の大部分はVZ USER です。 私のようにHP200LXでVZを使うことが多い者にとって、 2005年改正祝日法対応版Calendar.defの出現は大変有り難いことで、 朗報とおもいます。 2005年改正祝日法対応版をniftyのFHPPCで宣伝しても宜しいでしょうか? 皆さん如何でしょうか?
あかべこさん> HP200LX のUSER 即ち、LXer 達の大部分はVZ USER です。そうとは言い切れないでしょう。シスマネ用の非常に優秀なエディタもある ことですし,LX の使い方として生 DOS だけに注目するのは間違いだと思いま す。> いまどき、Mifesのユーザーは殆どいないと思うのです。あの日本語化キットには,Mifes mini が同梱されていましたし,VZ が登場 する以前は Mifes がエディタの代名詞でした。ですから憶測に過ぎませんし, この言い方は Mifes 使いの方々に失礼だと思います。> 2005年改正祝日法対応版をniftyのFHPPCで宣伝しても宜しいでしょうか?宣伝は何の問題もないと思いますが,くれぐれも他のエディタをお使いの皆 さんに配慮した言い回しにしてくださるようお願いします。
めざら さん> この言い方は Mifes 使いの方々に失礼だと思います。不穏当な部分は取り消させていただきます。
あかべこさん ご諒解くださり,ありがとうございます。 ソフトウェアというのは,みな宝だと思います。 わたしたちは宝とするものが世間一般とは異なるようですが(^o^), だからこそ,なおさら他人の宝を思い遣ることが大切だと思います。