[HOME]  [全部表示 会議室風]  [全部表示 保存用]  [HOME]  [リストへもどる]

一括表示



  LXCLND.DEF の祝日変更対応版 - konno 24/04/27-23:07 No.11228
  ┗ Re: LXCLND.DEF の祝日変更対応版 - めざら 24/04/29-07:36 No.11230
   ┗ Re^2: LXCLND.DEF の祝日変更対応版 - konno 24/04/29-23:16 No.11231
    ┗ Re^3: LXCLND.DEF の祝日変更対応版 - めざら 24/04/30-08:26 No.11232
     ┗ Re^4: LXCLND.DEF の祝日変更対応版 - konno 24/05/01-16:02 No.11233
      ┗ Re^5: LXCLND.DEF の祝日変更対応版 - めざら 24/05/02-13:17 No.11235
       ┗ Re^6: LXCLND.DEF の祝日変更対応版 - konno 24/05/03-22:01 No.11236

(11228) 11228LXCLND.DEF の祝日変更対応版  投稿者:konno   2024/04/27(土) 23:07
   コメント数 1

STIME のカレンダ表示などを弄っていて、LXCLND.DEF と表示を比べてみたら
2月23日とか12月23日など違っている日がいくつかありました。
STIMEの HOLIDAY.DAT を見てみると

02/23 2020-2099 天皇誕生日 (令和天皇)
12/23 1989-2018 天皇誕生日 (平成天皇)

なるほど、最近変更された祝日に LXCLND.DEF が対応してないのですね。
STIME のバグでなくてほっとしました。(^^;

見たついでに、LXCLND.DEF の祝日テーブルを修正しました。
LXCLND.DEF には HOLIDAY.DAT のデータ形式で参考にさせてもらいましたからね。

LXCLND.DEF 431行目

72: ;---- holiday definition -----------------------------------------

; hh..2 = "1874>1948=11;1967>0=11",
hh..2 = "1874>1948=11;1967>0=11;2020>0=23",

; hh..4 = "1874>1948=3;1928>0=29",
hh..4 = "1874>1948=3;1928>1988=29;1989>2006=29;2007>0=29",

; hh..5 = "1949>0=3;1985>0=4;1949>0=5",
hh..5 = "1949>0=3;1985>2006=4;2007>0=4;1949>0=5",

hh..8 = "2016>0=11",

; hh..10 = "1874>1948=17;1966>1999=10;2000>0=BB",
hh..10 = "1874>1948=17;1966>1999=10;2000>2019=BB;2020>0=BB",

; hh..12 = "1989>0=23",
hh..12 = "1989>2018=23",


該当する HOLIDAY.DAT の祝日は

02/23 2020-2099 天皇誕生日 (令和天皇)

04/29 1948-1988 天皇誕生日 (昭和天皇)
04/29 1989-2006 みどりの日
04/29 2007-2099 昭和の日

05/04 1985-2006 国民の休日
05/04 2007-2099 みどりの日

08/11 2016-2099 山の日

10/10 1966-1999 体育の日
10/BB 2000-2019 体育の日
10/BB 2020-2099 スポーツの日

12/23 1989-2018 天皇誕生日 (平成天皇)

修正した LXCLND.DEF を VZマクロの部屋に置きました。
以下の直リンクでも見ることができます。

#txt:LXCLND.DEF


      - No.11228 -    このTreeへ           [リストへもどる] pre

(11228) 11230Re: LXCLND.DEF の祝日変更対応版  投稿者:めざら   2024/04/29(月) 07:36
参照先:http://mezala.la.coocan.jp/
    11228 番 konno さんへのコメント    コメント数 1

わたしもオリ・パラ関連特別措置法による移動は無視しました。
四月と五月は敢えて弄りませんでした。祝日名を表示するわけでもないので。

      - No.11230 -    このTreeへ    コメント元:11228 へ [リストへもどる] soft

(11228) 11231Re^2: LXCLND.DEF の祝日変更対応版  投稿者:konno   2024/04/29(月) 23:16
    11230 番 めざら さんへのコメント    コメント数 1

> わたしもオリ・パラ関連特別措置法による移動は無視しました。

これは Wikipedia でも参考程度になっていますね。

> 四月と五月は敢えて弄りませんでした。祝日名を表示するわけでもないので。

そうなんですよね、表示は同じなんですが、オリジナルでも分けているところがありましたので。

ところで、今回 LXCLND.DEF で気が付いたところがあります。
中央のカレンダに今日の日付が () に囲われてわかりやすくなっていますが
表示月を移動しても同じ日付に () が付いたままになっていますね。

これはバグという見方もできますが、仕様かもしれないと思いました。
このマクロはスケジュール管理のために月を変えてカレンダを参照しやすくなっています。
その時、今日は何日だっけ?と思うこともありそうなので、その確認になるかなと。
なので、この仕様はこのままにしておきます。

STIME でも現在の日付に色付けしていますが、改編時バグって毎月同じ日付に色がついて
修正に苦労したりして。いや、年取って頭が働かなくなっただけなんですけどね。(^^;

う、そういえば今日は祝日なのに今日の日付が赤になっていない。(>_<)
うーん、直せるかしら・・・(^^;

      - No.11231 -    このTreeへ    コメント元:11230 へ [リストへもどる] soft

(11228) 11232Re^3: LXCLND.DEF の祝日変更対応版  投稿者:めざら   2024/04/30(火) 08:26
参照先:http://mezala.la.coocan.jp/
    11231 番 konno さんへのコメント    コメント数 1

> 表示月を移動しても同じ日付に () が付いたままになっていますね。

日付出力のために疑似カーソルを表示しています。
これは当日であるとは限らないです。(当日は[TAB]入力直後の表示)

      - No.11232 -    このTreeへ    コメント元:11231 へ [リストへもどる] soft

(11228) 11233Re^4: LXCLND.DEF の祝日変更対応版  投稿者:konno   2024/05/01(水) 16:02
    11232 番 めざら さんへのコメント    コメント数 1

> > 表示月を移動しても同じ日付に () が付いたままになっていますね。
> 日付出力のために疑似カーソルを表示しています。
> これは当日であるとは限らないです。(当日は[TAB]入力直後の表示)

疑似カーソルって、Shift+カーソルキーで () の日を移動出来るんですね。
凄いテクニックです。ソースを見てみました。

LXCLND.DEF 189行目以降

10: ;---- make menu --------------------------------------------------

pr..15 = "$$3($$7", ;right of today
pr..16 = "$$3)$$7", ;left of today

ここが多分メニューの中で () を表示するところでしょうか。
実際のメニュー表示はその下のマシン語かな。

10: ;---- mklxclnd.asm ----

こうなると全く読めないので追及は諦めます。(^^;

      - No.11233 -    このTreeへ    コメント元:11232 へ [リストへもどる] pre

(11228) 11235Re^5: LXCLND.DEF の祝日変更対応版  投稿者:めざら   2024/05/02(木) 13:17
参照先:http://mezala.la.coocan.jp/
    11233 番 konno さんへのコメント    コメント数 1

> 疑似カーソルって、Shift+カーソルキーで () の日を移動出来るんですね。

メニュー表示中のコマンドキーを受けるもののうち,以下の四つですね。

(#37) { r=7, &11 }
(#38) { r=7, &12 }
(#a) { r=1, &11 }
(#f) { r=1, &12 }

これらのキーを受け取ったときに「日付」を再設定します。
再設定する値は現在の値に1日(左右)か7日(上下)を増減して再表示します。

再表示のしかたについては,多くのカレンダーマクロで当日の背景色を変えたり
括弧でくくったりするのとまったく同じで,メニューアイテムへの埋込みです。
(括弧の場合は前後の空白に上書きすることになりますが)

メニューアイテムの書換えというのはトンでもなく面倒なわけで,
オリジナルのnomad版ではテキストに書き出すという手法をとっていたため
konnoさんのようにキーを押しっぱなしにしたりする人(^^;はとても使えなかった。

Yushiさんはメモリ(ラインバッファ)上に出力することと機械語化で高速化し,
Emmettさんは機械語化をさらに徹底的に行なって超高速化しています。

メニュー内でカーソルを動かすというのは確かに高度なテクニックですが,
(アセンブラに馴れ親しんでいるkonnoさんには釈迦に説法に違いないのですが)
とにかくひたすら面倒な「低級」テクニックとも言えると思います。

Yushiさんなんか,メニューで十字カーソルですぜ。
そんな面倒なコードをよく書くものだなぁとひたすら感心します。

あ,元に戻って,「日付」というのは保持している値なので,あまり意味はなく,
「当日」を指示されたときだけリセットするというイメージですね。
      - No.11235 -    このTreeへ    コメント元:11233 へ [リストへもどる] pre

(11228) 11236Re^6: LXCLND.DEF の祝日変更対応版  投稿者:konno   2024/05/03(金) 22:01
    11235 番 めざら さんへのコメント

> > 疑似カーソルって、Shift+カーソルキーで () の日を移動出来るんですね。
> メニュー表示中のコマンドキーを受けるもののうち,以下の四つですね。
> (#37) { r=7, &11 }
> (#38) { r=7, &12 }
> (#a) { r=1, &11 }
> (#f) { r=1, &12 }

なるほど、詳細な解説ありがとうございます。
これなら改造も出来そうな気がしてきました。(やらないけど。(^^;)

> メニューアイテムの書換えというのはトンでもなく面倒なわけで,
> オリジナルのnomad版ではテキストに書き出すという手法をとっていたため
> konnoさんのようにキーを押しっぱなしにしたりする人(^^;はとても使えなかった。

い、いやぁ、、、そんなことは・・・ない、と思いますです。(^^;
実際のところ今カレンダ表示をモードによって分岐を変えるので四苦八苦してます。
とんでもないスパゲッティが出来上がりつつあり、ソースでごまかせるのかと。(^^;

> あ,元に戻って,「日付」というのは保持している値なので,あまり意味はなく,
> 「当日」を指示されたときだけリセットするというイメージですね。

これ、勘違いしていました。疑似カーソルの意味がやっとわかりました。
スケジュールとのリンクとか日付出力とかでこの機能が必要だったのですね。

      - No.11236 -    このTreeへ    コメント元:11235 へ [リストへもどる] pre