INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/

2021年10月27日(水) 朝5時~朝8時 さくらインターネットのDBサーバのメンテナンスのため、この時間帯は当サイトをご利用いただけなくなります[2021/10/2 23:25]

目次 | ←前へ / 2021-09-28 00:00 / 次へ→ / 最新へ⇒

■先週の「マウスのお供」の更新内容について詳細。美しい12時間表記について再考したので

2021年 9月28日(火) 0:00:00



RSSRSS配信中

https://www.inasoft.org/








先週、「CaptureSaveAs ver.1.30β2」を作成していて、時刻指定に12時間表記を付けました。

その際、.NET Frameworkの準備している、カスタム書式の指定を参照していたら、12時間表記は「1~12」または「01~12」で表されておりました。

これは別に変なことではなく、自宅に置いてある12時間表記の時計も、同じように表記されています。

ところが、過去にマウスのお供の12時間表記についてプログラミングした際、24時間表記から12時間表記を生成するにあたって、時刻を12で割った余りを単純に使っているだけだったな、と思い出しました。

これだと、0~11(または00~11)で表されることになってしまいます。自宅に置いてある12時間表記の時計と異なることになってしまう。

というわけで、フォーマット指定のhおよびhhを、「1~12」および「01~12」に直そう………かと思ったのですが「0~11または00~11が美しいと思って使っている人もいるのでは?」(*1)とも思えたため、あえて新しいフォーマット指定「i」および「ii」(*2)を作ることにしました。

新しいフォーマット指定を使った様子


(*1) 午前と午後の切替は、11時と12時の間なのですが、切り替えられた時間帯の最初が、最も低い序数である0ではなく、最も高い序数12であることに気持ち悪さを感じる人もいるはず。
(*2)「i」および「ii」を採用したのは、.NET Frameworkでのカスタム書式指定に従ったものです。おそらく、hの次のアルファベットがiだからという単純な理由な気がします。

この更新内容で「マウスのお供 ver.1.64.07」を公開しましたが、この直後に、左記の更新とは無関係にユーザー報告で、1回のみアラームを使用していた場合に解除されないパターンがあるらしい挙動を見たことがあるとの報告がありました。具体的な原因は分からないものの、状況証拠から、

  • アラーム設定時刻から約1分間、時計の文字を点滅させる機能がある。
  • 上記機能を維持するため、アラームの設定が1回のみ(半チェック)となっていた場合も、実際にそれが解除されるのは、アラーム設定時刻から約1分後となる。
  • この1分間の間に、本ソフトを終了させた場合、設定としては「1回のみ(半チェック)」でレジストリへ記録されてしまい、次回起動時にその設定が引き継がれる。
  • 1分以上経っていたとしても、この設定変更はメモリ上のみでしか無効化されていない。仮に本ソフトが異常終了したならば、レジストリに記録されている設定としては「1回のみ(半チェック)」のままになっており、次回起動時にその設定が引き継がれる。

ということが起きたのではないかと推察されます。というわけで、この問題を修正したバージョンを「マウスのお供 ver.1.64.08」として公開しています。



目次 | ←前へ / 2021-09-28 00:00 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。




2657447 (+0024)[+0576]

Copyright© 2010-2021 INASOFT