ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE Y'sカレンダー[祝日表示カレンダー] /Yosshy (02/05/25(Sat) 13:47) [943]
......MESSAGE 待ってました /moka (02/05/25(Sat) 14:32) [944]
......MESSAGE Re[1]: Y'sカレンダー[祝日表示カレンダー] /Yosshy (02/05/30(Thu) 13:35) [951]
......MESSAGE Y'sカレンダー[祝日表示カレンダー]ver1.. /Yosshy (02/06/01(Sat) 14:34) [954]
............MESSAGE Y'sカレンダー改造してみました。 /しんちゃん (02/06/09(Sun) 11:40) [969]
......MESSAGE Y'sカレンダー ver.1.1 /Yosshy (02/07/05(Fri) 13:36) [1019]
............MESSAGE すごいすごい! /moka (02/07/08(Mon) 14:34) [1022]
..................MESSAGE Y'sカレンダー ver1.11 /Yosshy (02/07/10(Wed) 13:32) [1027]


親記事 / ▼[ 944 ] ▼[ 951 ] ▼[ 954 ] ▼[ 1019 ]
NO.943  Y'sカレンダー[祝日表示カレンダー]
□投稿者/ Yosshy -(2002/05/25(Sat) 13:47:36)
□U R L/ http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html
{---プログラム掲示板投稿フォーム---
【ソフト名】Y'sカレンダー[祝日表示カレンダー] (バージョン 1.00)
【作 成 者】Yosshy (連絡先:yosshy4@m21.alpha-net.ne.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.49
【転  載】可(転載条件:作者にメールで連絡すること)
【改変運用】可
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】メルマガを参考にして作ってみました。普通の形のカレンダーでは、そうでなくてもかもしれませんが、祝日を表示させるのが難しいです。
工夫した点は、海の日と、2009年9月に、9月として初めて起こる、国民の休日です。(国民の休日は、祝日にはさまれた日に出来る)
まだまだ改良の余地がありますが、使ってもらえるとうれしいです。
宣伝ですが、私のHPに、Javascriptで作ったカレンダーがありますので、興味のある方は見に来てください。
(URL:http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html)ミラーサイト(URL:http://users.hoops.ne.jp/yosshy88/yosshy/top.html)
---投稿フォームここまで---}
*タイトル
母艦の、タイトルは、「Y'sカレンダー」
母艦の、幅は、150
母艦の、高さは、180
今月=LEFT(今日,8)&「01」。
*メニュー
表示メニューを、メニュー作成。
表示メニューに、任意月メニューを、メニュー追加。
   その、イベントは(
      ダイアログ初期値=LEFT(今月,7)。
      「表示年月は(例:2002/05)」と、尋ねる。
      もし、それ=「」ならば、待機。
      今月=それ&「/01」。
      画面クリア。
      日数設定へ、飛ぶ。
   )
表示メニューに、区切り線1を、メニュー追加。
   その、テキストは、「-」。
表示メニューに、来月メニューを、メニュー追加。
   その、イベントは(
      今月=日付加算(今月,「0/1/0」)。
      画面クリア。
      日数設定へ、飛ぶ。
   )
表示メニューに、前月メニューを、メニュー追加。
   その、イベントは(
      今月=日付加算(今月,「-0/1/0」)。
      画面クリア。
      日数設定へ、飛ぶ。
   )
表示メニューに、区切り線2を、メニュー追加。
   その、テキストは、「-」。
表示メニューに、来年メニューを、メニュー追加。
   その、イベントは(
      今月=日付加算(今月,「1/0/0」)。
      画面クリア。
      日数設定へ、飛ぶ。
   )
表示メニューに、前年メニューを、メニュー追加。
   その、イベントは(
      今月=日付加算(今月,「-1/0/0」)。
      画面クリア。
      日数設定へ、飛ぶ。
   )
印刷メニューを、メニュー作成。
   その、イベントは(
      母艦印刷。
   )
終了メニューを、メニュー作成。
   その、イベントは(
      終わり。
   )

*日数設定
今月を、「/」で、区切る。
Yr=それ#0。M=それ#1。
日数=「31\n28\n31\n30\n31\n30\n31\n31\n30\n31\n30\n31」
もし、Yr%400=0ならば、日数#1="29"。
違えば(もし、Yr%100=0ならば、日数#1="28"。
   違えば(もし、Yr%4=0ならば、日数#1="29"。
     違えば、日数#1="28"。
   )。
)。
D=日数#(M-1)。
週=「日,月,火,水,木,金,土」
*曜日表示
(30,5)へ、移動。
「{Yr}年{M}月」と、表示。
サイズ=20;x=5;y=25
7回(
   回数で、条件分岐。
      1の時(文字色=赤色)
      7の時(文字色=青色)
      その他の時(文字色=黒色)
   (x,y)へ、移動。
   (右寄せ(週#(回数-1)#0,2))と、表示。
   x=x+サイズ。
)
月曜判定=0
x=5;y=y+サイズ
D回(
  本日=日付加算(今月,「0/0/{回数-1}」)。
  DAY=曜日を数値で得る(本日)。
   もし、DAY=2ならば、(月曜判定=月曜判定+1)
  DAYで、条件分岐。
      1の時(字色=1)
      7の時(字色=2)
      その他の時(字色=0)
   祝日判定を、呼ぶ。
  字色で、条件分岐。
      1の時(文字色=赤色)
      2の時(文字色=青色)
      3の時(文字色=オレンジ色)
      その他の時(文字色=黒色)
  本日=RIGHT(本日,2)
  もし、LEFT(本日,1)=0ならば、本日=RIGHT(本日,1)
  本日=右寄せ(本日,2)。
  もし、回数=1ならば、x=x+(DAY-1)*サイズ。
  (x,y)へ、移動。本日と、表示。
  x=x+サイズ。もし、DAY%7=0ならば、(x=5;y=y+サイズ)
)
文字色=黒色。
待機。
*祝日判定
月日=RIGHT(本日,5)
春分=INT(20.8431+0.242194*(Yr-1980)-INT((Yr-1980)/4))
秋分=INT(23.2488+0.242194*(Yr-1980)-INT((Yr-1980)/4))
'固定の祝日
月日で、条件分岐。
   「01/01」の時、字色=3
   「02/11」の時、字色=3
   「03/{春分}」の時、字色=3
   「04/29」の時、字色=3
   「05/03」の時、字色=3
   「05/05」の時、字色=3
   「09/{秋分}」の時、字色=3
   「11/03」の時、字色=3
   「11/23」の時、字色=3
   「12/23」の時、字色=3
   「05/04」の時、字色=3
もし、DAY=2ならば、(
   月日で、条件分岐。
      「01/02」の時、字色=1
      「02/12」の時、字色=1
      「03/{春分+1}」の時、字色=1
      「04/30」の時、字色=1
      「05/04」の時、字色=1
      「05/06」の時、字色=1
      「09/{秋分+1}」の時、字色=1
      「11/04」の時、字色=1
      「11/24」の時、字色=1
      「12/24」の時、字色=1
)
'2001年からのハッピーマンデー対応
もし、Yr<2001ならば、(
   月日で、条件分岐。
      「01/15」の時、字色=3
      「10/10」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「01/16」の時、字色=1
         「10/11」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=2ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「01」の時、字色=3
            「10」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(敬老の日)
もし、Yr<2003ならば、(
   月日で、条件分岐。
      「09/15」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「09/16」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=3ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「09」の時、字色=3
      )
      もし、DAY=3ならば、(
         月日で、条件分岐。
            「09/{秋分-1}」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(海の日)
もし、Yr>1995ならば、(
   もし、Yr<2003ならば、(
      月日で、条件分岐。
         「07/20」の時、字色=3
      もし、DAY=2ならば、(
         月日で、条件分岐。
            「07/21」の時、字色=1
      )
   )
   違えば、(
      もし、月曜判定=3ならば、(
         もし、DAY=2ならば、(
            Mで、条件分岐。
               「07」の時、字色=3
         )
      )
   )
)
戻る。



▲[ 943 ] / 返信無し
NO.944  待ってました
□投稿者/ moka -(2002/05/25(Sat) 14:32:08)
□U R L/ http://www.geocities.jp/moka21/teatime/
おお、こんなの待ってました。(^o^)
画像保存機能付けて、携帯に送ってみようっと。



▲[ 943 ] / 返信無し
NO.951  Re[1]: Y'sカレンダー[祝日表示カレンダー]
□投稿者/ Yosshy -(2002/05/30(Thu) 13:35:30)
□U R L/ http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html
多少の変更を加えました。それで、履歴もテキストファイルとして残しているので、それも載せておきます。
更新履歴
2002.05.25. ver1.00(ひまわりver1.49)
・公開
2002.05.28. ver1.01(ひまわりver1.50)[非公開]
・間違い訂正(2001年からではなく2000年から)
・祝日の色も赤色に
・5月4日が日曜日の時、休日とするよう変更
2002.05.30. ver1.05(ひまわりver1.50)
・日付、曜日の色を変えられるようにした。
・それに伴い、メニューを少し変更
---ここからプログラム、一番下まで---
{---プログラム掲示板投稿フォーム---
【ソフト名】Y'sカレンダー[祝日表示カレンダー] (バージョン 1.05)
【作 成 者】Yosshy (連絡先:yosshy4@m21.alpha-net.ne.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.50
【転  載】可(転載条件:作者にメールで連絡すること)
【改変運用】可
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】メルマガを参考にして作ってみました。普通の形のカレンダーでは、そうでなくてもかもしれませんが、祝日を表示させるのが難しいです。
工夫した点は、海の日と、2009年9月に、9月として初めて起こる、国民の休日です。(国民の休日は、祝日にはさまれた日に出来る)
まだまだ改良の余地がありますが、使ってもらえるとうれしいです。
宣伝ですが、私のHPに、Javascriptで作ったカレンダーがありますので、興味のある方は見に来てください。
(URL:http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html)ミラーサイト(URL:http://users.hoops.ne.jp/yosshy88/yosshy/top.html)
追記(ver1.01)[投稿時には、あまりコメントらしいコメントが思い浮かばなかったので、追加コメントを記します。]
この手のものは、以前から作ろうと思っていたのですが、ひまわりで、どうすればいいのか分からなくて、しばらく手をつけずにいました。
でも、メルマガを見て、意外と難しくは無いんだと、そう思い、前のを大幅に変更して、作り上げたのがこれです。
いちいち起動しなおさなくても別の年月を表示させるというのが、メニューを上手く使うだけで、こんなに楽に解決できるとは思いませんでした。
これは新たなる発見ですね(笑)。
---投稿フォームここまで---}
*タイトル
母艦の、タイトルは、「Y'sカレンダー」
母艦の、幅は、150
母艦の、高さは、180
今月=LEFT(今日,8)&「01」。
色0=黒色。
色1=赤色。
色2=青色。
色3=赤色。
*メニュー
表示設定メニューを、メニュー作成。
表示設定メニューに、年月変更メニューを、メニュー追加。
   年月変更メニューに、任意月メニューを、メニュー追加。
      その、イベントは(
         ダイアログ初期値=LEFT(今月,7)。
         「表示年月は(例:2002/05)」と、尋ねる。
         もし、それ=「」ならば、待機。
         今月=それ&「/01」。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、区切り線1を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来月メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「0/1/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、前月メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「-0/1/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、区切り線2を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来年メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「1/0/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、前年メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「-1/0/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
表示設定メニューに、区切り線3を、メニュー追加。
   その、テキストは、「-」。
表示設定メニューに、色設定メニューを、メニュー追加。
   その、イベントは(
      ダイアログキャンセルの値=色0。
      ダイアログ初期値=色0。
      「平日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色0=選択した色。
      ダイアログキャンセルの値=色1。
      ダイアログ初期値=色1。
      「日曜休日(祝日除く)の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色1=選択した色。
      ダイアログキャンセルの値=色2。
      ダイアログ初期値=色2。
      「土曜日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色2=選択した色。
      ダイアログキャンセルの値=色3。
      ダイアログ初期値=色3。
      「祝日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色3=選択した色。
      画面クリア。
      日数設定へ、飛ぶ。
   )
印刷メニューを、メニュー作成。
   その、イベントは(
      母艦印刷。
   )
終了メニューを、メニュー作成。
   その、イベントは(
      終わり。
   )

*日数設定
今月を、「/」で、区切る。
Yr=それ#0。M=それ#1。
日数=「31\n28\n31\n30\n31\n30\n31\n31\n30\n31\n30\n31」
もし、Yr%400=0ならば、日数#1="29"。
違えば(もし、Yr%100=0ならば、日数#1="28"。
   違えば(もし、Yr%4=0ならば、日数#1="29"。
     違えば、日数#1="28"。
   )。
)。
D=日数#(M-1)。
週=「日,月,火,水,木,金,土」
*曜日表示
(35,5)へ、移動。
「{Yr}年{M}月」と、表示。
サイズ=20;x=5;y=25
7回(
   回数で、条件分岐。
      1の時(文字色=色1)
      7の時(文字色=色2)
      その他の時(文字色=色0)
   (x,y)へ、移動。
   (右寄せ(週#(回数-1)#0,2))と、表示。
   x=x+サイズ。
)
月曜判定=0
x=5;y=y+サイズ
D回(
  本日=日付加算(今月,「0/0/{回数-1}」)。
  DAY=曜日を数値で得る(本日)。
   もし、DAY=2ならば、(月曜判定=月曜判定+1)
  DAYで、条件分岐。
      1の時(字色=1)
      7の時(字色=2)
      その他の時(字色=0)
   祝日判定を、呼ぶ。
  字色で、条件分岐。
      1の時(文字色=色1)
      2の時(文字色=色2)
      3の時(文字色=色3)
      その他の時(文字色=色0)
  本日=RIGHT(本日,2)
  もし、LEFT(本日,1)=0ならば、本日=RIGHT(本日,1)
  本日=右寄せ(本日,2)。
  もし、回数=1ならば、x=x+(DAY-1)*サイズ。
  (x,y)へ、移動。本日と、表示。
  x=x+サイズ。もし、DAY%7=0ならば、(x=5;y=y+サイズ)
)
文字色=黒色。
待機。
*祝日判定
'休日は1、祝日は3
月日=RIGHT(本日,5)
春分=INT(20.8431+0.242194*(Yr-1980)-INT((Yr-1980)/4))
秋分=INT(23.2488+0.242194*(Yr-1980)-INT((Yr-1980)/4))
'固定の祝日
月日で、条件分岐。
   「01/01」の時、字色=3
   「02/11」の時、字色=3
   「03/{春分}」の時、字色=3
   「04/29」の時、字色=3
   「05/03」の時、字色=3
   「05/05」の時、字色=3
   「09/{秋分}」の時、字色=3
   「11/03」の時、字色=3
   「11/23」の時、字色=3
   「12/23」の時、字色=3
   「05/04」の時、字色=3
もし、DAY=2ならば、(
   月日で、条件分岐。
      「01/02」の時、字色=1
      「02/12」の時、字色=1
      「03/{春分+1}」の時、字色=1
      「04/30」の時、字色=1
      「05/04」の時、字色=1
      「05/06」の時、字色=1
      「09/{秋分+1}」の時、字色=1
      「11/04」の時、字色=1
      「11/24」の時、字色=1
      「12/24」の時、字色=1
)
もし、DAY=1ならば、(
   月日で、条件分岐。
      「05/04」の時、字色=1
)
'2000年からのハッピーマンデー対応
もし、Yr<2000ならば、(
   月日で、条件分岐。
      「01/15」の時、字色=3
      「10/10」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「01/16」の時、字色=1
         「10/11」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=2ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「01」の時、字色=3
            「10」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(敬老の日)
もし、Yr<2003ならば、(
   月日で、条件分岐。
      「09/15」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「09/16」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=3ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「09」の時、字色=3
      )
      もし、DAY=3ならば、(
         月日で、条件分岐。
            「09/{秋分-1}」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(海の日)
もし、Yr>1995ならば、(
   もし、Yr<2003ならば、(
      月日で、条件分岐。
         「07/20」の時、字色=3
      もし、DAY=2ならば、(
         月日で、条件分岐。
            「07/21」の時、字色=1
      )
   )
   違えば、(
      もし、月曜判定=3ならば、(
         もし、DAY=2ならば、(
            Mで、条件分岐。
               「07」の時、字色=3
         )
      )
   )
)
戻る。
*色設定
選択した色で、条件分岐。
   「黒色」の時、選択した色=黒色。
   「赤色」の時、選択した色=赤色。
   「青色」の時、選択した色=青色。
   「緑色」の時、選択した色=緑色。
   「紫色」の時、選択した色=紫色。
   「茶色」の時、選択した色=茶色。
   「オレンジ色」の時、選択した色=オレンジ色。
   「灰色」の時、選択した色=灰色。
   「水色」の時、選択した色=水色。
   「黄色」の時、選択した色=黄色。
戻る。



▲[ 943 ] / ▼[ 969 ]
NO.954  Y'sカレンダー[祝日表示カレンダー]ver1.07
□投稿者/ Yosshy -(2002/06/01(Sat) 14:34:01)
□U R L/ http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html
微妙に変更を加えました。
更新履歴
2002.05.25. ver1.00(ひまわりver1.49)
・公開
2002.05.28. ver1.01(ひまわりver1.50)[非公開]
・間違い訂正(2001年からではなく2000年から)
・祝日の色も赤色に
・5月4日が日曜日の時、休日とするよう変更
2002.05.30. ver1.05(ひまわりver1.50)
・日付、曜日の色を変えられるようにした
・それに伴い、メニューを少し変更
2002.05.30. ver1.06(ひまわりver1.50)[非公開]
・年月変更メニューの中に今月メニューを追加。それにより、すぐに今月を表示できるようになった
2002.06.01. ver1.07(ひまわりver1.50)
・メニューの名前変更(表示設定→設定→設定等)
・ショートカットキーを設定。
・終了メニューを、設定等メニュー内に移動。
---以下、最後までプログラム---
{---プログラム掲示板投稿フォーム---
【ソフト名】Y'sカレンダー[祝日表示カレンダー] (バージョン 1.07)
【作 成 者】Yosshy (連絡先:yosshy4@m21.alpha-net.ne.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.50
【転  載】可(転載条件:作者にメールで連絡すること)
【改変運用】可
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】メルマガを参考にして作ってみました。普通の形のカレンダーでは、そうでなくてもかもしれませんが、祝日を表示させるのが難しいです。
工夫した点は、海の日と、2009年9月に、9月として初めて起こる、国民の休日です。(国民の休日は、祝日にはさまれた日に出来る)
まだまだ改良の余地がありますが、使ってもらえるとうれしいです。
宣伝ですが、私のHPに、Javascriptで作ったカレンダーがありますので、興味のある方は見に来てください。
(URL:http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html)ミラーサイト(URL:http://users.hoops.ne.jp/yosshy88/yosshy/top.html)
追記(ver1.01)[投稿時には、あまりコメントらしいコメントが思い浮かばなかったので、追加コメントを記します。]
この手のものは、以前から作ろうと思っていたのですが、ひまわりで、どうすればいいのか分からなくて、しばらく手をつけずにいました。
でも、メルマガを見て、意外と難しくは無いんだと、そう思い、前のを大幅に変更して、作り上げたのがこれです。
いちいち起動しなおさなくても別の年月を表示させるというのが、メニューを上手く使うだけで、こんなに楽に解決できるとは思いませんでした。
これは新たなる発見ですね(笑)。
---投稿フォームここまで---}
*タイトル
母艦の、タイトルは、「Y'sカレンダー」
母艦の、幅は、150
母艦の、高さは、180
今月=LEFT(今日,8)&「01」。
色0=黒色。
色1=赤色。
色2=青色。
色3=赤色。
*メニュー
設定メニューを、メニュー作成。
   その、テキストは、「設定等(&f)」。
設定メニューに、年月変更メニューを、メニュー追加。
   その、テキストは、「年月変更」。
   年月変更メニューに、任意月メニューを、メニュー追加。
      その、テキストは、「任意月(&a)」。その、ショートカットキーは、「Ctrl+A」。
      その、イベントは(
         ダイアログ初期値=LEFT(今月,7)。
         「表示年月は(例:2002/05)」と、尋ねる。
         もし、それ=「」ならば、待機。
         今月=それ&「/01」。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、今月メニューを、メニュー追加。
      その、テキストは、「今月(&n)」。その、ショートカットキーは、「Ctrl+N」。
      その、イベントは(
         今月=LEFT(今日,8)&「01」。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、区切り線3を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来月メニューを、メニュー追加。
      その、テキストは、「来月(&m)」。その、ショートカットキーは、「Ctrl+M」。
      その、イベントは(
         今月=日付加算(今月,「0/1/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、前月メニューを、メニュー追加。
      その、テキストは、「前月(&b)」。その、ショートカットキーは、「Ctrl+B」。
      その、イベントは(
         今月=日付加算(今月,「-0/1/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、区切り線4を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来年メニューを、メニュー追加。
      その、テキストは、「来年(&k)」。その、ショートカットキーは、「Ctrl+K」。
      その、イベントは(
         今月=日付加算(今月,「1/0/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、前年メニューを、メニュー追加。
      その、テキストは、「任意月(&g)」。その、ショートカットキーは、「Ctrl+G」。
      その、イベントは(
         今月=日付加算(今月,「-1/0/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
設定メニューに、区切り線1を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、色設定メニューを、メニュー追加。
   その、テキストは、「色設定(&c)」。その、ショートカットキーは、「Ctrl+C」。
   その、イベントは(
      ダイアログキャンセルの値=色0。
      ダイアログ初期値=色0。
      「平日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色0=選択した色。
      ダイアログキャンセルの値=色1。
      ダイアログ初期値=色1。
      「日曜休日(祝日除く)の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色1=選択した色。
      ダイアログキャンセルの値=色2。
      ダイアログ初期値=色2。
      「土曜日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色2=選択した色。
      ダイアログキャンセルの値=色3。
      ダイアログ初期値=色3。
      「祝日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色3=選択した色。
      画面クリア。
      日数設定へ、飛ぶ。
   )
設定メニューに、区切り線2を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、終了メニューを、メニュー追加。
   その、テキストは、「終了(&x)」。その、ショートカットキーは、「Alt+X」。
   その、イベントは(
      終わり。
   )
印刷メニューを、メニュー作成。
   その、テキストは、「印刷(&p)」。
   その、イベントは(
      母艦印刷。
   )

*日数設定
今月を、「/」で、区切る。
Yr=それ#0。M=それ#1。
日数=「31\n28\n31\n30\n31\n30\n31\n31\n30\n31\n30\n31」
もし、Yr%400=0ならば、日数#1="29"。
違えば(もし、Yr%100=0ならば、日数#1="28"。
   違えば(もし、Yr%4=0ならば、日数#1="29"。
     違えば、日数#1="28"。
   )。
)。
D=日数#(M-1)。
週=「日,月,火,水,木,金,土」
*曜日表示
(35,5)へ、移動。
「{Yr}年{M}月」と、表示。
サイズ=20;x=5;y=25
7回(
   回数で、条件分岐。
      1の時(文字色=色1)
      7の時(文字色=色2)
      その他の時(文字色=色0)
   (x,y)へ、移動。
   (右寄せ(週#(回数-1)#0,2))と、表示。
   x=x+サイズ。
)
月曜判定=0
x=5;y=y+サイズ
D回(
  本日=日付加算(今月,「0/0/{回数-1}」)。
  DAY=曜日を数値で得る(本日)。
   もし、DAY=2ならば、(月曜判定=月曜判定+1)
  DAYで、条件分岐。
      1の時(字色=1)
      7の時(字色=2)
      その他の時(字色=0)
   祝日判定を、呼ぶ。
  字色で、条件分岐。
      1の時(文字色=色1)
      2の時(文字色=色2)
      3の時(文字色=色3)
      その他の時(文字色=色0)
  本日=RIGHT(本日,2)
  もし、LEFT(本日,1)=0ならば、本日=RIGHT(本日,1)
  本日=右寄せ(本日,2)。
  もし、回数=1ならば、x=x+(DAY-1)*サイズ。
  (x,y)へ、移動。本日と、表示。
  x=x+サイズ。もし、DAY%7=0ならば、(x=5;y=y+サイズ)
)
文字色=黒色。
待機。
*祝日判定
'休日は1、祝日は3
月日=RIGHT(本日,5)
春分=INT(20.8431+0.242194*(Yr-1980)-INT((Yr-1980)/4))
秋分=INT(23.2488+0.242194*(Yr-1980)-INT((Yr-1980)/4))
'固定の祝日
月日で、条件分岐。
   「01/01」の時、字色=3
   「02/11」の時、字色=3
   「03/{春分}」の時、字色=3
   「04/29」の時、字色=3
   「05/03」の時、字色=3
   「05/05」の時、字色=3
   「09/{秋分}」の時、字色=3
   「11/03」の時、字色=3
   「11/23」の時、字色=3
   「12/23」の時、字色=3
   「05/04」の時、字色=3
もし、DAY=2ならば、(
   月日で、条件分岐。
      「01/02」の時、字色=1
      「02/12」の時、字色=1
      「03/{春分+1}」の時、字色=1
      「04/30」の時、字色=1
      「05/04」の時、字色=1
      「05/06」の時、字色=1
      「09/{秋分+1}」の時、字色=1
      「11/04」の時、字色=1
      「11/24」の時、字色=1
      「12/24」の時、字色=1
)
もし、DAY=1ならば、(
   月日で、条件分岐。
      「05/04」の時、字色=1
)
'2000年からのハッピーマンデー対応
もし、Yr<2000ならば、(
   月日で、条件分岐。
      「01/15」の時、字色=3
      「10/10」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「01/16」の時、字色=1
         「10/11」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=2ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「01」の時、字色=3
            「10」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(敬老の日)
もし、Yr<2003ならば、(
   月日で、条件分岐。
      「09/15」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「09/16」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=3ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「09」の時、字色=3
      )
      もし、DAY=3ならば、(
         月日で、条件分岐。
            「09/{秋分-1}」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(海の日)
もし、Yr>1995ならば、(
   もし、Yr<2003ならば、(
      月日で、条件分岐。
         「07/20」の時、字色=3
      もし、DAY=2ならば、(
         月日で、条件分岐。
            「07/21」の時、字色=1
      )
   )
   違えば、(
      もし、月曜判定=3ならば、(
         もし、DAY=2ならば、(
            Mで、条件分岐。
               「07」の時、字色=3
         )
      )
   )
)
戻る。
*色設定
選択した色で、条件分岐。
   「黒色」の時、選択した色=黒色。
   「赤色」の時、選択した色=赤色。
   「青色」の時、選択した色=青色。
   「緑色」の時、選択した色=緑色。
   「紫色」の時、選択した色=紫色。
   「茶色」の時、選択した色=茶色。
   「オレンジ色」の時、選択した色=オレンジ色。
   「灰色」の時、選択した色=灰色。
   「水色」の時、選択した色=水色。
   「黄色」の時、選択した色=黄色。
戻る。



▲[ 954 ] / 返信無し
NO.969  Y'sカレンダー改造してみました。
□投稿者/ しんちゃん -(2002/06/09(Sun) 11:40:42)
□U R L/
Y'sカレンダーを少し改造してみました。
今日の色を変えて見ました。
どうですか?

---投稿フォームここまで---
*タイトル
母艦の、タイトルは、「Y'sカレンダー改造版」
母艦の、幅は、150
母艦の、高さは、180
今月=LEFT(今日,8)&「01」。
色0=黒色。
色1=赤色。
色2=青色。
色3=赤色。
色4=緑色。
*メニュー
表示設定メニューを、メニュー作成。
表示設定メニューに、年月変更メニューを、メニュー追加。
   年月変更メニューに、任意月メニューを、メニュー追加。
      その、イベントは(
         ダイアログ初期値=LEFT(今月,7)。
         「表示年月は(例:2002/05)」と、尋ねる。
         もし、それ=「」ならば、待機。
         今月=それ&「/01」。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、区切り線1を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来月メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「0/1/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、前月メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「-0/1/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、区切り線2を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来年メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「1/0/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
   年月変更メニューに、前年メニューを、メニュー追加。
      その、イベントは(
         今月=日付加算(今月,「-1/0/0」)。
         画面クリア。
         日数設定へ、飛ぶ。
      )
表示設定メニューに、区切り線3を、メニュー追加。
   その、テキストは、「-」。
表示設定メニューに、色設定メニューを、メニュー追加。
   その、イベントは(
      ダイアログキャンセルの値=色0。
      ダイアログ初期値=色0。
      「平日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色0=選択した色。
      ダイアログキャンセルの値=色1。
      ダイアログ初期値=色1。
      「日曜休日(祝日除く)の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色1=選択した色。
      ダイアログキャンセルの値=色2。
      ダイアログ初期値=色2。
      「土曜日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色2=選択した色。
      ダイアログキャンセルの値=色3。
      ダイアログ初期値=色3。
      「祝日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色3=選択した色。
         ダイアログキャンセルの値=色4。
      ダイアログ初期値=色4。
      「今日の色を選んでください」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色4=選択した色。
      画面クリア。
      日数設定へ、飛ぶ。
   )
印刷メニューを、メニュー作成。
   その、イベントは(
      母艦印刷。
   )
終了メニューを、メニュー作成。
   その、イベントは(
      終わり。
   )

*日数設定
今月を、「/」で、区切る。
Yr=それ#0。M=それ#1。
日数=「31\n28\n31\n30\n31\n30\n31\n31\n30\n31\n30\n31」
もし、Yr%400=0ならば、日数#1="29"。
違えば(もし、Yr%100=0ならば、日数#1="28"。
   違えば(もし、Yr%4=0ならば、日数#1="29"。
     違えば、日数#1="28"。
   )。
)。
D=日数#(M-1)。
週=「日,月,火,水,木,金,土」
*曜日表示
(35,5)へ、移動。
「{Yr}年{M}月」と、表示。
サイズ=20;x=5;y=25
7回(
   回数で、条件分岐。
      1の時(文字色=色1)
      7の時(文字色=色2)
      その他の時(文字色=色0)
   (x,y)へ、移動。
   (右寄せ(週#(回数-1)#0,2))と、表示。
   x=x+サイズ。
)
月曜判定=0
x=5;y=y+サイズ
D回(
  本日=日付加算(今月,「0/0/{回数-1}」)。
  DAY=曜日を数値で得る(本日)。
   もし、DAY=2ならば、(月曜判定=月曜判定+1)
  DAYで、条件分岐。
      1の時(字色=1)
      7の時(字色=2)
      その他の時(字色=0)
   祝日判定を、呼ぶ。
  字色で、条件分岐。
      1の時(文字色=色1)
      2の時(文字色=色2)
      3の時(文字色=色3)
         4の時(文字色=色4)
      その他の時(文字色=色0)
  本日=RIGHT(本日,2)
  もし、LEFT(本日,1)=0ならば、本日=RIGHT(本日,1)
  本日=右寄せ(本日,2)。
  もし、回数=1ならば、x=x+(DAY-1)*サイズ。
  (x,y)へ、移動。本日と、表示。
  x=x+サイズ。もし、DAY%7=0ならば、(x=5;y=y+サイズ)
)
文字色=黒色。
待機。
*祝日判定
'休日は1、祝日は3
月日=RIGHT(本日,5)
現在=RIGHT(今日,5)
春分=INT(20.8431+0.242194*(Yr-1980)-INT((Yr-1980)/4))
秋分=INT(23.2488+0.242194*(Yr-1980)-INT((Yr-1980)/4))
'固定の祝日
月日で、条件分岐。
   「{現在}」の時、字色=4
   「01/01」の時、字色=3
   「02/11」の時、字色=3
   「03/{春分}」の時、字色=3
   「04/29」の時、字色=3
   「05/03」の時、字色=3
   「05/05」の時、字色=3
   「09/{秋分}」の時、字色=3
   「11/03」の時、字色=3
   「11/23」の時、字色=3
   「12/23」の時、字色=3
   「05/04」の時、字色=3
もし、DAY=2ならば、(
   月日で、条件分岐。
      「01/02」の時、字色=1
      「02/12」の時、字色=1
      「03/{春分+1}」の時、字色=1
      「04/30」の時、字色=1
      「05/04」の時、字色=1
      「05/06」の時、字色=1
      「09/{秋分+1}」の時、字色=1
      「11/04」の時、字色=1
      「11/24」の時、字色=1
      「12/24」の時、字色=1
)
もし、DAY=1ならば、(
   月日で、条件分岐。
      「05/04」の時、字色=1
)
'2000年からのハッピーマンデー対応
もし、Yr<2000ならば、(
   月日で、条件分岐。
      「01/15」の時、字色=3
      「10/10」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「01/16」の時、字色=1
         「10/11」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=2ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「01」の時、字色=3
            「10」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(敬老の日)
もし、Yr<2003ならば、(
   月日で、条件分岐。
      「09/15」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「09/16」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=3ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「09」の時、字色=3
      )
      もし、DAY=3ならば、(
         月日で、条件分岐。
            「09/{秋分-1}」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(海の日)
もし、Yr>1995ならば、(
   もし、Yr<2003ならば、(
      月日で、条件分岐。
         「07/20」の時、字色=3
      もし、DAY=2ならば、(
         月日で、条件分岐。
            「07/21」の時、字色=1
      )
   )
   違えば、(
      もし、月曜判定=3ならば、(
         もし、DAY=2ならば、(
            Mで、条件分岐。
               「07」の時、字色=3
         )
      )
   )
)
戻る。
*色設定
選択した色で、条件分岐。
   「黒色」の時、選択した色=黒色。
   「赤色」の時、選択した色=赤色。
   「青色」の時、選択した色=青色。
   「緑色」の時、選択した色=緑色。
   「紫色」の時、選択した色=紫色。
   「茶色」の時、選択した色=茶色。
   「オレンジ色」の時、選択した色=オレンジ色。
   「灰色」の時、選択した色=灰色。
   「水色」の時、選択した色=水色。
   「黄色」の時、選択した色=黄色。
戻る。



▲[ 943 ] / ▼[ 1022 ]
NO.1019  Y'sカレンダー ver.1.1
□投稿者/ Yosshy -(2002/07/05(Fri) 13:36:35)
□U R L/ http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html
やってみたかったこと、複数月を表示する、を導入しました。
ホームページにて、これの1段階前のバージョン(ver.1.081)も公開しています。
ともに、ランタイムを含んでいますので、800Kbを超えてますが・・・。そのうちランタイムなしも公開したいと思います。
あと、このプログラムも、もう少し簡素化したいと思っています。

--- ここより最後まで ---
{---プログラム掲示板投稿フォーム---
【ソフト名】Y'sカレンダー (バージョン 1.1)
【作 成 者】Yosshy (連絡先:yosshy4@m21.alpha-net.ne.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.51
【転  載】可(転載条件:作者にメールで連絡すること)
【改変運用】可
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】今までのを元に作り直しました。
今回の目玉は、何といっても、表示月数を変更できること、でしょう。
もともとこれを考えていたのですから。
---投稿フォームここまで---}
*タイトル
母艦の、タイトルは、「Y'sカレンダー」
母艦の、幅は、180
母艦の、高さは、180
今月=LEFT(今日,8)&「01」。
色0=黒色。'平日
色1=赤色。'休日
色2=青色。'土曜日
色3=赤色。'祝日
色4=緑色。'今日の枠
週=「日,月,火,水,木,金,土」。
今日表示=1。
表示月数=「1ヶ月」。
SW=0。SH=0。

*メニュー
設定メニューを、メニュー作成。
   その、テキストは、「&Control」。
設定メニューに、年月変更メニューを、メニュー追加。
   その、テキストは、「年月変更」。
   年月変更メニューに、任意月メニューを、メニュー追加。
      その、テキストは、「任意月」。その、ショートカットキーは、「Ctrl+A」。
      その、イベントは(
         *任意月
         ダイアログ初期値=LEFT(今月,7)。
         「表示年月は(例:2002/07)」と、尋ねる。
         もし、それ=「」ならば、待機。
         今月=それ&「/01」。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、今月メニューを、メニュー追加。
      その、テキストは、「今月」。その、ショートカットキーは、「Ctrl+N」。
      その、イベントは(
         *現在月
         今月=LEFT(今日,8)&「01」。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、区切り線1を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来月メニューを、メニュー追加。
      その、テキストは、「来月」。その、ショートカットキーは、「Ctrl+M」。
      その、イベントは(
         *来月
         今月=日付加算(今月,「0/1/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、前月メニューを、メニュー追加。
      その、テキストは、「前月」。その、ショートカットキーは、「Ctrl+B」。
      その、イベントは(
         *前月
         今月=日付加算(今月,「-0/1/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、区切り線2を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来年メニューを、メニュー追加。
      その、テキストは、「来年」。その、ショートカットキーは、「Ctrl+K」。
      その、イベントは(
         *来年
         今月=日付加算(今月,「1/0/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、前年メニューを、メニュー追加。
      その、テキストは、「前年」。その、ショートカットキーは、「Ctrl+G」。
      その、イベントは(
         *前年
         今月=日付加算(今月,「-1/0/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
設定メニューに、区切り線3を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、色設定メニューを、メニュー追加。
   その、テキストは、「色設定」。その、ショートカットキーは、「Ctrl+C」。
   その、イベントは(
      *色色設定
      ダイアログキャンセルの値=色0。
      ダイアログ初期値=色0。
      「平日の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色0=選択した色。
      ダイアログキャンセルの値=色1。
      ダイアログ初期値=色1。
      「日曜休日(祝日除く)の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色1=選択した色。
      ダイアログキャンセルの値=色2。
      ダイアログ初期値=色2。
      「土曜日の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色2=選択した色。
      ダイアログキャンセルの値=色3。
      ダイアログ初期値=色3。
      「祝日の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色3=選択した色。
      「今日の所に枠を付けますか」と、二択。
      もし、それが、はいならば、今日表示=1。
      もし、それが、いいえならば、今日表示=0。
      もし、今日表示=1ならば、(
         ダイアログキャンセルの値=色4。
         ダイアログ初期値=色4。
         「今日の枠の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
         選択した色=それ。
         色設定を、呼ぶ。
         色4=選択した色。
      )
      画面クリア。
      メインへ、飛ぶ。
   )
設定メニューに、曜日表示メニューを、メニュー追加。
   その、テキストは、「曜日表示」。その、ショートカットキーは、「Ctrl+Y」。
   その、イベントは(
      *曜日設定
      ダイアログキャンセルの値=週。
      ダイアログ初期値=週。
      「曜日の表示を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「日,月,火,水,木,金,土|S,M,T,W,T,F,S|Sun,Mon,Tue,Wed,Thu,Fri,Sat|D,L,M,M,J,V,S|Dim,Lun,Mar,Mer,Jeu,Ven,Sam|S,M,D,M,D,F,S|Son,Mon,Die,Mit,Don,Fre,Sam|休,平,平,平,平,平,休|復,元,懸,中,疲,倒,休」の、リストから選択。
      週=それ。
      画面クリア。
      メインへ、飛ぶ。
   )
設定メニューに、表示月数メニューを、メニュー追加。
   その、テキストは、「月数設定」。その、ショートカットキーは、「Ctrl+L」。
   その、イベントは(
      *月数設定
      ダイアログキャンセルの値=表示月数。
      ダイアログ初期値=表示月数。
      「表示する月数を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「1ヶ月|2ヶ月(前月)|2ヶ月(来月)|3ヶ月(前後)|3ヶ月(来月)|6ヶ月(前後)|6ヶ月(来月)|12ヶ月|年間表示|年度表示」の、リストから選択。
      表示月数=それ。
      画面クリア。
      メインへ、飛ぶ。
   )
設定メニューに、区切り線4を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、印刷メニューを、メニュー追加。
   その、テキストは、「印刷」。その、ショートカットキーは、「Ctrl+P」。
   その、イベントは(
      *プリント
      母艦印刷。
   )
設定メニューに、区切り線5を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、終了メニューを、メニュー追加。
   その、テキストは、「終了」。その、ショートカットキーは、「Alt+X」。
   その、イベントは(
      *ENDE
      「終了します」と、言う。
      終わり。
   )

*メイン
全体表示を、呼ぶ。
文字色=黒色。
母艦の、キー押した時は、キーコントロール。
待機。

*全体表示
表示月数で、条件分岐。
   「1ヶ月」の時、(1ヶ月表示を、呼ぶ)。
   「2ヶ月(前月)」の時、(2ヶ月表示Aを、呼ぶ)。
   「2ヶ月(来月)」の時、(2ヶ月表示Bを、呼ぶ)。
   「3ヶ月(前後)」の時、(3ヶ月表示Aを、呼ぶ)。
   「3ヶ月(来月)」の時、(3ヶ月表示Bを、呼ぶ)。
   「6ヶ月(前後)」の時、(6ヶ月表示Aを、呼ぶ)。
   「6ヶ月(来月)」の時、(6ヶ月表示Bを、呼ぶ)。
   「12ヶ月」の時、(12ヶ月表示を、呼ぶ)。
   「年間表示」の時、(年間表示を、呼ぶ)。
   「年度表示」の時、(年度表示を、呼ぶ)。
戻る。

*1ヶ月表示
母艦の、幅は、180。
母艦の、高さは、180。
SW=0。SH=0。
日数設定を、呼ぶ。
戻る。

*2ヶ月表示A
母艦の、幅は、360。
母艦の、高さは、180。
当月=今月。
今月=日付加算(今月,「-0/1/0」)。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=当月。
戻る。

*2ヶ月表示B
母艦の、幅は、360。
母艦の、高さは、180。
当月=今月。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=当月。
戻る。

*3ヶ月表示A
母艦の、幅は、540。
母艦の、高さは、180。
当月=今月。
今月=日付加算(今月,「-0/1/0」)。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=当月。
戻る。

*3ヶ月表示B
母艦の、幅は、540。
母艦の、高さは、180。
当月=今月。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=当月。
戻る。

*6ヶ月表示A
母艦の、幅は、540。
母艦の、高さは、360。
当月=今月。
今月=日付加算(今月,「-0/2/0」)。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=180。
日数設定を、呼ぶ。
今月=当月。
戻る。

*6ヶ月表示B
母艦の、幅は、540。
母艦の、高さは、360。
当月=今月。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=180。
日数設定を、呼ぶ。
今月=当月。
戻る。

*12ヶ月表示
母艦の、幅は、720。
母艦の、高さは、540。
当月=今月。
今月=日付加算(今月,「-0/2/0」)。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=360。
日数設定を、呼ぶ。
今月=当月。
戻る。

*年間表示
母艦の、幅は、720。
母艦の、高さは、540。
当月=今月。
今月=LEFT(今月,5)&「01/01」。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=360。
日数設定を、呼ぶ。
今月=当月。
戻る。

*年度表示
母艦の、幅は、720。
母艦の、高さは、540。
当月=今月。
今月=日付加算(今月,「-0/3/0」)
今月=LEFT(今月,5)&「04/01」。
SW=0。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=0。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=180。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=0。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=180。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=360。SH=360。
日数設定を、呼ぶ。
今月=日付加算(今月,「0/1/0」)。
SW=540。SH=360。
日数設定を、呼ぶ。
今月=当月。
戻る。

*日数設定
今月を、「/」で、区切る。
Yr=それ#0。M=それ#1。
日数=「31\n28\n31\n30\n31\n30\n31\n31\n30\n31\n30\n31」
もし、Yr%400=0ならば、日数#1="29"。
違えば(もし、Yr%100=0ならば、日数#1="28"。
   違えば(もし、Yr%4=0ならば、日数#1="29"。
     違えば、日数#1="28"。
   )。
)。
D=日数#(M-1)。
'ここよりカレンダーの表示
(SW+53,SH+5)へ、移動。
文字色=色0。
「{Yr}年{M}月」と、表示。
xサイズ=25;yサイズ=20;x=SW+5;y=SH+25
7回(
   回数で、条件分岐。
      1の時(文字色=色1)
      7の時(文字色=色2)
      その他の時(文字色=色0)
   (x,y)へ、移動。
   (右寄せ(週#(回数-1)#0,2))と、表示。
   x=x+xサイズ。
)
月曜判定=0
x=SW+5;y=y+yサイズ
D回(
  本日=日付加算(今月,「0/0/{回数-1}」)。
  DAY=曜日を数値で得る(本日)。
   もし、DAY=2ならば、(月曜判定=月曜判定+1)
  DAYで、条件分岐。
      1の時(字色=1)
      7の時(字色=2)
      その他の時(字色=0)
   祝日判定を、呼ぶ。
  字色で、条件分岐。
      1の時(文字色=色1)
      2の時(文字色=色2)
      3の時(文字色=色3)
      その他の時(文字色=色0)
  本日=RIGHT(本日,2)
  もし、LEFT(本日,1)=0ならば、本日=RIGHT(本日,1)
  本日=右寄せ(本日,2)。
  もし、回数=1ならば、x=x+(DAY-1)*xサイズ。
  (x,y)へ、移動。本日と、表示。
   もし、今日表示=1ならば、(
      もし、同じ日=1ならば、(
         ペン色=色4。
         (x,y)から、(x+yサイズ,y)へ、線。
         (x+yサイズ,y)から、(x+yサイズ,y+yサイズ)へ、線。
         (x,y)から、(x,y+yサイズ)へ、線。
         (x,y+yサイズ)から、(x+yサイズ,y+yサイズ)へ、線。
      )
   )
  x=x+xサイズ。もし、DAY%7=0ならば、(x=SW+5;y=y+yサイズ)
)
戻る。

*祝日判定
'休日は1、祝日は3、今日は4
月日=RIGHT(本日,5)
春分=INT(20.8431+0.242194*(Yr-1980)-INT((Yr-1980)/4))
秋分=INT(23.2488+0.242194*(Yr-1980)-INT((Yr-1980)/4))
'その日判定
同じ日=0
もし、(本日=今日)ならば、(同じ日=1)。
'固定の祝日
月日で、条件分岐。
   「01/01」の時、字色=3
   「02/11」の時、字色=3
   「03/{春分}」の時、字色=3
   「04/29」の時、字色=3
   「05/03」の時、字色=3
   「05/05」の時、字色=3
   「09/{秋分}」の時、字色=3
   「11/03」の時、字色=3
   「11/23」の時、字色=3
   「12/23」の時、字色=3
   「05/04」の時、字色=3
もし、DAY=2ならば、(
   月日で、条件分岐。
      「01/02」の時、字色=1
      「02/12」の時、字色=1
      「03/{春分+1}」の時、字色=1
      「04/30」の時、字色=1
      「05/04」の時、字色=1
      「05/06」の時、字色=1
      「09/{秋分+1}」の時、字色=1
      「11/04」の時、字色=1
      「11/24」の時、字色=1
      「12/24」の時、字色=1
)
もし、DAY=1ならば、(
   月日で、条件分岐。
      「05/04」の時、字色=1
)
'2000年からのハッピーマンデー対応
もし、Yr<2000ならば、(
   月日で、条件分岐。
      「01/15」の時、字色=3
      「10/10」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「01/16」の時、字色=1
         「10/11」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=2ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「01」の時、字色=3
            「10」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(敬老の日)
もし、Yr<2003ならば、(
   月日で、条件分岐。
      「09/15」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「09/16」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=3ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「09」の時、字色=3
      )
      もし、DAY=3ならば、(
         月日で、条件分岐。
            「09/{秋分-1}」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(海の日)
もし、Yr>1995ならば、(
   もし、Yr<2003ならば、(
      月日で、条件分岐。
         「07/20」の時、字色=3
      もし、DAY=2ならば、(
         月日で、条件分岐。
            「07/21」の時、字色=1
      )
   )
   違えば、(
      もし、月曜判定=3ならば、(
         もし、DAY=2ならば、(
            Mで、条件分岐。
               「07」の時、字色=3
         )
      )
   )
)
戻る。

*色設定
選択した色で、条件分岐。
   「黒色」の時、選択した色=黒色。
   「赤色」の時、選択した色=赤色。
   「青色」の時、選択した色=青色。
   「緑色」の時、選択した色=緑色。
   「紫色」の時、選択した色=紫色。
   「茶色」の時、選択した色=茶色。
   「オレンジ色」の時、選択した色=オレンジ色。
   「灰色」の時、選択した色=灰色。
   「水色」の時、選択した色=水色。
   「黄色」の時、選択した色=黄色。
戻る。

*キーコントロール
もし、押されたキー=74{j}ならば、来月。
もし、押されたキー=70{f}ならば、前月。
もし、押されたキー=75{k}ならば、来年。
もし、押されたキー=68{d}ならば、前年。
もし、押されたキー=72{h}ならば、現在月。
もし、押されたキー=71{g}ならば、任意月。
もし、押されたキー=67{c}ならば、色色設定。
もし、押されたキー=89{y}ならば、曜日設定。
もし、押されたキー=77{m}ならば、月数設定。
もし、押されたキー=88{x}ならば、ENDE。
もし、押されたキー=80{p}ならば、プリント。
'テンキー
もし、押されたキー=107{+}ならば、来月。
もし、押されたキー=109{-}ならば、前月。
もし、押されたキー=106{*}ならば、来年。
もし、押されたキー=111{/}ならば、前年。
もし、押されたキー=110{.}ならば、現在月。
もし、押されたキー=96{0}ならば、任意月。
もし、押されたキー=97{1}ならば、色色設定。
もし、押されたキー=98{2}ならば、曜日設定。
もし、押されたキー=99{3}ならば、月数設定。
もし、押されたキー=102{6}ならば、プリント。
もし、押されたキー=105{9}ならば、ENDE。
'ファンクションその他
もし、押されたキー=112{F1}ならば、任意月。
もし、押されたキー=116{F5}ならば、現在月。
もし、押されたキー=117{F6}ならば、来月。
もし、押されたキー=115{F4}ならば、前月。
もし、押されたキー=118{F7}ならば、来年。
もし、押されたキー=114{F3}ならば、前年。
もし、押されたキー=119{F8}ならば、色色設定。
もし、押されたキー=120{F9}ならば、曜日設定。
もし、押されたキー=113{F2}ならば、月数設定。
もし、押されたキー=121{F10}ならば、プリント。
もし、押されたキー=27{Esc}ならば、ENDE。



▲[ 1019 ] / ▼[ 1027 ]
NO.1022  すごいすごい!
□投稿者/ moka -(2002/07/08(Mon) 14:34:48)
□U R L/ http://www.geocities.jp/moka21/teatime/
すごいすごい!
年度表示は親切だなあ。

曜日表示の設定もいいですね。
独語?仏語?も選べるなんて。

あと画像保存機能は付きませんかね。

曜日表示・月数設定をキャンセルしたときって、
再描画しなくていいんじゃないでしょうか。



▲[ 1022 ] / 返信無し
NO.1027  Y'sカレンダー ver1.11
□投稿者/ Yosshy -(2002/07/10(Wed) 13:32:25)
□U R L/ http://www.aa.alpha-net.ne.jp/yosshy4/yosshy/top.html
mokaさんのご要望にお答えしまして画像として保存できるようにしました。
あと、多少容量を軽くしました(実際100行程度減った)。
今後の予定としては、とりあえず、もう少し操作を簡単にしたいと思います。
あと、HPからDLできるものには read me がついていて、ショートカットキーの一覧も載せていますが、プログラム上からも見られるようにしたいと思います。

--- ここから最後まで ---
{---プログラム掲示板投稿フォーム---
【ソフト名】Y'sカレンダー (バージョン 1.11)
【作 成 者】Yosshy (連絡先:yosshy4@m21.alpha-net.ne.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.51
【転  載】可(転載条件:作者にメールで連絡すること)
【改変運用】可
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】無
【コメント】今までのを元に作り直しました。
今回の目玉は、何といっても、表示月数を変更できること、でしょう。
もともとこれを考えていたのですから。
---投稿フォームここまで---}
*タイトル
母艦の、タイトルは、「Y'sカレンダー」
母艦の、幅は、180
母艦の、高さは、180
今月=LEFT(今日,8)&「01」。
色0=黒色。'平日
色1=赤色。'休日
色2=青色。'土曜日
色3=赤色。'祝日
色4=緑色。'今日の枠
週=「日,月,火,水,木,金,土」。
今日表示=1。
表示月数=「1ヶ月」。
SW=0。SH=0。

*メニュー
設定メニューを、メニュー作成。
   その、テキストは、「&Control」。
設定メニューに、年月変更メニューを、メニュー追加。
   その、テキストは、「年月変更」。
   年月変更メニューに、任意月メニューを、メニュー追加。
      その、テキストは、「任意月」。その、ショートカットキーは、「Ctrl+A」。
      その、イベントは(
         *任意月
         ダイアログ初期値=LEFT(今月,7)。
         「表示年月は(例:2002/07)」と、尋ねる。
         もし、それ=「」ならば、待機。
         今月=それ&「/01」。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、今月メニューを、メニュー追加。
      その、テキストは、「今月」。その、ショートカットキーは、「Ctrl+N」。
      その、イベントは(
         *現在月
         今月=LEFT(今日,8)&「01」。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、区切り線1を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来月メニューを、メニュー追加。
      その、テキストは、「来月」。その、ショートカットキーは、「Ctrl+M」。
      その、イベントは(
         *来月
         今月=日付加算(今月,「0/1/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、前月メニューを、メニュー追加。
      その、テキストは、「前月」。その、ショートカットキーは、「Ctrl+B」。
      その、イベントは(
         *前月
         今月=日付加算(今月,「-0/1/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、区切り線2を、メニュー追加。
      その、テキストは、「-」。
   年月変更メニューに、来年メニューを、メニュー追加。
      その、テキストは、「来年」。その、ショートカットキーは、「Ctrl+K」。
      その、イベントは(
         *来年
         今月=日付加算(今月,「1/0/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
   年月変更メニューに、前年メニューを、メニュー追加。
      その、テキストは、「前年」。その、ショートカットキーは、「Ctrl+G」。
      その、イベントは(
         *前年
         今月=日付加算(今月,「-1/0/0」)。
         画面クリア。
         メインへ、飛ぶ。
      )
設定メニューに、区切り線3を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、色設定メニューを、メニュー追加。
   その、テキストは、「色設定」。その、ショートカットキーは、「Ctrl+C」。
   その、イベントは(
      *色色設定
      ダイアログキャンセルの値=色0。
      ダイアログ初期値=色0。
      「平日の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色0=選択した色。
      ダイアログキャンセルの値=色1。
      ダイアログ初期値=色1。
      「日曜休日(祝日除く)の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色1=選択した色。
      ダイアログキャンセルの値=色2。
      ダイアログ初期値=色2。
      「土曜日の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色2=選択した色。
      ダイアログキャンセルの値=色3。
      ダイアログ初期値=色3。
      「祝日の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
      選択した色=それ。
      色設定を、呼ぶ。
      色3=選択した色。
      「今日の所に枠を付けますか」と、二択。
      もし、それが、はいならば、今日表示=1。
      もし、それが、いいえならば、今日表示=0。
      もし、今日表示=1ならば、(
         ダイアログキャンセルの値=色4。
         ダイアログ初期値=色4。
         「今日の枠の色を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「黒色|赤色|青色|緑色|紫色|茶色|オレンジ色|灰色|水色|黄色」の、リストから選択。
         選択した色=それ。
         色設定を、呼ぶ。
         色4=選択した色。
      )
      画面クリア。
      メインへ、飛ぶ。
   )
設定メニューに、曜日表示メニューを、メニュー追加。
   その、テキストは、「曜日表示」。その、ショートカットキーは、「Ctrl+Y」。
   その、イベントは(
      *曜日設定
      ダイアログキャンセルの値=週。
      ダイアログ初期値=週。
      「曜日の表示を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「日,月,火,水,木,金,土|S,M,T,W,T,F,S|Sun,Mon,Tue,Wed,Thu,Fri,Sat|D,L,M,M,J,V,S|Dim,Lun,Mar,Mer,Jeu,Ven,Sam|S,M,D,M,D,F,S|Son,Mon,Die,Mit,Don,Fre,Sam|休,平,平,平,平,平,休|復,元,懸,中,疲,倒,休」の、リストから選択。
      週=それ。
      画面クリア。
      メインへ、飛ぶ。
   )
設定メニューに、表示月数メニューを、メニュー追加。
   その、テキストは、「月数設定」。その、ショートカットキーは、「Ctrl+L」。
   その、イベントは(
      *月数設定
      ダイアログキャンセルの値=表示月数。
      ダイアログ初期値=表示月数。
      「表示する月数を選んでください\n(変更しない場合はそのままOKかキャンセル)」を、「1ヶ月|2ヶ月(前月)|2ヶ月(来月)|3ヶ月(前後)|3ヶ月(来月)|6ヶ月(前後)|6ヶ月(来月)|12ヶ月|年間表示|年度表示」の、リストから選択。
      表示月数=それ。
      画面クリア。
      メインへ、飛ぶ。
   )
設定メニューに、区切り線4を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、印刷メニューを、メニュー追加。
   その、テキストは、「印刷」。その、ショートカットキーは、「Ctrl+P」。
   その、イベントは(
      *プリント
      母艦印刷。
   )
設定メニューに、保存メニューを、メニュー追加。
   その、テキストは、「保存」。その、ショートカットキーは、「Ctrl+F」。
   その、イベントは(
      *画像として保存
      「ビットマップ形式 (*.bmp)(推奨)|*.bmp|JPEG形式 (*.jpg)|*.jpg|全てのファイル (*.*)|*.*」の、書込ファイル選択。
      もし、それが、「」でなければ、(
         それへ、母艦を、イメージ保存。
      )
      とりあえずへ、飛ぶ。
   )
設定メニューに、区切り線5を、メニュー追加。
   その、テキストは、「-」。
設定メニューに、バージョンメニューを、メニュー追加。
   その、テキストは、「バージョン」。
   その、イベントは(
      「Y'sカレンダー ver.1.11\n (c)Yosshy」と、言う。
   )
設定メニューに、終了メニューを、メニュー追加。
   その、テキストは、「終了」。その、ショートカットキーは、「Alt+X」。
   その、イベントは(
      *ENDE
      「終了します」と、言う。
      終わり。
   )

*メイン
全体表示を、呼ぶ。
*とりあえず
文字色=黒色。
母艦の、キー押した時は、キーコントロール。
待機。

*全体表示
表示月数で、条件分岐。
   「1ヶ月」の時、(1ヶ月表示を、呼ぶ)。
   「2ヶ月(前月)」の時、(2ヶ月表示Aを、呼ぶ)。
   「2ヶ月(来月)」の時、(2ヶ月表示Bを、呼ぶ)。
   「3ヶ月(前後)」の時、(3ヶ月表示Aを、呼ぶ)。
   「3ヶ月(来月)」の時、(3ヶ月表示Bを、呼ぶ)。
   「6ヶ月(前後)」の時、(6ヶ月表示Aを、呼ぶ)。
   「6ヶ月(来月)」の時、(6ヶ月表示Bを、呼ぶ)。
   「12ヶ月」の時、(12ヶ月表示を、呼ぶ)。
   「年間表示」の時、(年間表示を、呼ぶ)。
   「年度表示」の時、(年度表示を、呼ぶ)。
戻る。

*1ヶ月表示
母艦の、幅は、180。
母艦の、高さは、180。
SW=0。SH=0。
日数設定を、呼ぶ。
戻る。

*2ヶ月表示A
母艦の、幅は、360。
母艦の、高さは、180。
当月=今月。
今月=日付加算(今月,「-0/1/0」)。
2回(SX=回数。
   SW=(SX-1)*180。SH=0。
   日数設定を、呼ぶ。
   今月=日付加算(今月,「0/1/0」)。
)
今月=当月。
戻る。

*2ヶ月表示B
母艦の、幅は、360。
母艦の、高さは、180。
当月=今月。
2回(SX=回数。
   SW=(SX-1)*180。SH=0。
   日数設定を、呼ぶ。
   今月=日付加算(今月,「0/1/0」)。
)
今月=当月。
戻る。

*3ヶ月表示A
母艦の、幅は、540。
母艦の、高さは、180。
当月=今月。
今月=日付加算(今月,「-0/1/0」)。
3回(SX=回数。
   SW=(SX-1)*180。SH=0。
   日数設定を、呼ぶ。
   今月=日付加算(今月,「0/1/0」)。
)
今月=当月。
戻る。

*3ヶ月表示B
母艦の、幅は、540。
母艦の、高さは、180。
当月=今月。
3回(SX=回数。
   SW=(SX-1)*180。SH=0。
   日数設定を、呼ぶ。
   今月=日付加算(今月,「0/1/0」)。
)
今月=当月。
戻る。

*6ヶ月表示A
母艦の、幅は、540。
母艦の、高さは、360。
当月=今月。
今月=日付加算(今月,「-0/2/0」)。
2回(SY=回数。
   3回(SX=回数。
      SW=(SX-1)*180。SH=(SY-1)*180。
      日数設定を、呼ぶ。
      今月=日付加算(今月,「0/1/0」)。
   )
)
今月=当月。
戻る。

*6ヶ月表示B
母艦の、幅は、540。
母艦の、高さは、360。
当月=今月。
2回(SY=回数。
   3回(SX=回数。
      SW=(SX-1)*180。SH=(SY-1)*180。
      日数設定を、呼ぶ。
      今月=日付加算(今月,「0/1/0」)。
   )
)
今月=当月。
戻る。

*12ヶ月表示
母艦の、幅は、720。
母艦の、高さは、540。
当月=今月。
今月=日付加算(今月,「-0/2/0」)。
3回(SY=回数。
   4回(SX=回数。
      SW=(SX-1)*180。SH=(SY-1)*180。
      日数設定を、呼ぶ。
      今月=日付加算(今月,「0/1/0」)。
   )
)
今月=当月。
戻る。

*年間表示
母艦の、幅は、720。
母艦の、高さは、540。
当月=今月。
今月=LEFT(今月,5)&「01/01」。
3回(SY=回数。
   4回(SX=回数。
      SW=(SX-1)*180。SH=(SY-1)*180。
      日数設定を、呼ぶ。
      今月=日付加算(今月,「0/1/0」)。
   )
)
今月=当月。
戻る。

*年度表示
母艦の、幅は、720。
母艦の、高さは、540。
当月=今月。
今月=日付加算(今月,「-0/3/0」)
今月=LEFT(今月,5)&「04/01」。
3回(SY=回数。
   4回(SX=回数。
      SW=(SX-1)*180。SH=(SY-1)*180。
      日数設定を、呼ぶ。
      今月=日付加算(今月,「0/1/0」)。
   )
)
今月=当月。
戻る。

*日数設定
今月を、「/」で、区切る。
Yr=それ#0。M=それ#1。
日数=「31\n28\n31\n30\n31\n30\n31\n31\n30\n31\n30\n31」
もし、Yr%400=0ならば、日数#1="29"。
違えば(もし、Yr%100=0ならば、日数#1="28"。
   違えば(もし、Yr%4=0ならば、日数#1="29"。
     違えば、日数#1="28"。
   )。
)。
D=日数#(M-1)。
'ここよりカレンダーの表示
(SW+53,SH+5)へ、移動。
文字色=色0。
「{Yr}年{M}月」と、表示。
xサイズ=25;yサイズ=20;x=SW+5;y=SH+25
7回(
   回数で、条件分岐。
      1の時(文字色=色1)
      7の時(文字色=色2)
      その他の時(文字色=色0)
   (x,y)へ、移動。
   (右寄せ(週#(回数-1)#0,2))と、表示。
   x=x+xサイズ。
)
月曜判定=0
x=SW+5;y=y+yサイズ
D回(
  本日=日付加算(今月,「0/0/{回数-1}」)。
  DAY=曜日を数値で得る(本日)。
   もし、DAY=2ならば、(月曜判定=月曜判定+1)
  DAYで、条件分岐。
      1の時(字色=1)
      7の時(字色=2)
      その他の時(字色=0)
   祝日判定を、呼ぶ。
  字色で、条件分岐。
      1の時(文字色=色1)
      2の時(文字色=色2)
      3の時(文字色=色3)
      その他の時(文字色=色0)
  本日=RIGHT(本日,2)
  もし、LEFT(本日,1)=0ならば、本日=RIGHT(本日,1)
  本日=右寄せ(本日,2)。
  もし、回数=1ならば、x=x+(DAY-1)*xサイズ。
  (x,y)へ、移動。本日と、表示。
   もし、今日表示=1ならば、(
      もし、同じ日=1ならば、(
         ペン色=色4。
         (x,y)から、(x+yサイズ,y)へ、線。
         (x+yサイズ,y)から、(x+yサイズ,y+yサイズ)へ、線。
         (x,y)から、(x,y+yサイズ)へ、線。
         (x,y+yサイズ)から、(x+yサイズ,y+yサイズ)へ、線。
      )
   )
  x=x+xサイズ。もし、DAY%7=0ならば、(x=SW+5;y=y+yサイズ)
)
戻る。

*祝日判定
'休日は1、祝日は3、今日は4
月日=RIGHT(本日,5)
春分=INT(20.8431+0.242194*(Yr-1980)-INT((Yr-1980)/4))
秋分=INT(23.2488+0.242194*(Yr-1980)-INT((Yr-1980)/4))
'その日判定
同じ日=0
もし、(本日=今日)ならば、(同じ日=1)。
'固定の祝日
月日で、条件分岐。
   「01/01」の時、字色=3
   「02/11」の時、字色=3
   「03/{春分}」の時、字色=3
   「04/29」の時、字色=3
   「05/03」の時、字色=3
   「05/05」の時、字色=3
   「09/{秋分}」の時、字色=3
   「11/03」の時、字色=3
   「11/23」の時、字色=3
   「12/23」の時、字色=3
   「05/04」の時、字色=3
もし、DAY=2ならば、(
   月日で、条件分岐。
      「01/02」の時、字色=1
      「02/12」の時、字色=1
      「03/{春分+1}」の時、字色=1
      「04/30」の時、字色=1
      「05/04」の時、字色=1
      「05/06」の時、字色=1
      「09/{秋分+1}」の時、字色=1
      「11/04」の時、字色=1
      「11/24」の時、字色=1
      「12/24」の時、字色=1
)
もし、DAY=1ならば、(
   月日で、条件分岐。
      「05/04」の時、字色=1
)
'2000年からのハッピーマンデー対応
もし、Yr<2000ならば、(
   月日で、条件分岐。
      「01/15」の時、字色=3
      「10/10」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「01/16」の時、字色=1
         「10/11」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=2ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「01」の時、字色=3
            「10」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(敬老の日)
もし、Yr<2003ならば、(
   月日で、条件分岐。
      「09/15」の時、字色=3
   もし、DAY=2ならば、(
      月日で、条件分岐。
         「09/16」の時、字色=1
   )
)
違えば、(
   もし、月曜判定=3ならば、(
      もし、DAY=2ならば、(
         Mで、条件分岐。
            「09」の時、字色=3
      )
      もし、DAY=3ならば、(
         月日で、条件分岐。
            「09/{秋分-1}」の時、字色=3
      )
   )
)
'2003年からのハッピーマンデー対応(海の日)
もし、Yr>1995ならば、(
   もし、Yr<2003ならば、(
      月日で、条件分岐。
         「07/20」の時、字色=3
      もし、DAY=2ならば、(
         月日で、条件分岐。
            「07/21」の時、字色=1
      )
   )
   違えば、(
      もし、月曜判定=3ならば、(
         もし、DAY=2ならば、(
            Mで、条件分岐。
               「07」の時、字色=3
         )
      )
   )
)
戻る。

*色設定
選択した色で、条件分岐。
   「黒色」の時、選択した色=黒色。
   「赤色」の時、選択した色=赤色。
   「青色」の時、選択した色=青色。
   「緑色」の時、選択した色=緑色。
   「紫色」の時、選択した色=紫色。
   「茶色」の時、選択した色=茶色。
   「オレンジ色」の時、選択した色=オレンジ色。
   「灰色」の時、選択した色=灰色。
   「水色」の時、選択した色=水色。
   「黄色」の時、選択した色=黄色。
戻る。

*キーコントロール
もし、押されたキー=74{j}ならば、来月。
もし、押されたキー=70{f}ならば、前月。
もし、押されたキー=75{k}ならば、来年。
もし、押されたキー=68{d}ならば、前年。
もし、押されたキー=72{h}ならば、現在月。
もし、押されたキー=71{g}ならば、任意月。
もし、押されたキー=67{c}ならば、色色設定。
もし、押されたキー=89{y}ならば、曜日設定。
もし、押されたキー=77{m}ならば、月数設定。
もし、押されたキー=80{p}ならば、プリント。
もし、押されたキー=66{b}ならば、画像として保存。
もし、押されたキー=88{x}ならば、ENDE。
'テンキー
もし、押されたキー=107{+}ならば、来月。
もし、押されたキー=109{-}ならば、前月。
もし、押されたキー=106{*}ならば、来年。
もし、押されたキー=111{/}ならば、前年。
もし、押されたキー=110{.}ならば、現在月。
もし、押されたキー=96{0}ならば、任意月。
もし、押されたキー=97{1}ならば、色色設定。
もし、押されたキー=98{2}ならば、曜日設定。
もし、押されたキー=99{3}ならば、月数設定。
もし、押されたキー=102{6}ならば、プリント。
もし、押されたキー=100{4}ならば、画像として保存。
もし、押されたキー=105{9}ならば、ENDE。
'ファンクションその他
もし、押されたキー=112{F1}ならば、任意月。
もし、押されたキー=116{F5}ならば、現在月。
もし、押されたキー=117{F6}ならば、来月。
もし、押されたキー=115{F4}ならば、前月。
もし、押されたキー=118{F7}ならば、来年。
もし、押されたキー=114{F3}ならば、前年。
もし、押されたキー=119{F8}ならば、色色設定。
もし、押されたキー=120{F9}ならば、曜日設定。
もし、押されたキー=113{F2}ならば、月数設定。
もし、押されたキー=121{F10}ならば、プリント。
もし、押されたキー=122{F11}ならば、画像として保存。
もし、押されたキー=27{Esc}ならば、ENDE。



- Child Tree -