Mainframe Date
なんか調べたら「ジュリアン日付」ってのは普通は「紀元前4713年1月1日からの連続した通し番号の日数」だそうだ。
しかし、汎用機(メインフレーム。会社にあるでっかい古いコンピュータ)のシステムで使用する1月1日を001、2月1日を032、12月31日を365とする日付もジュリアン日付と言ったりする。
これは汎用機の日付の方を計算するwidgets。
ま、Macでホストの仕事することも無いだろうけど、練習がてら作ってみた。
JavaScriptオンリー。ピュアwidgets(笑)
ガイドラインによるとアクアインターフェースはwidgetsの表には使うなということだったので日付選択のポップアップメニューは隠してあります。
アップルの開発ツールのサンプルを参考に、ポップアップを透明にしてその下に置いたテキスト表示部に選択したものの文字列を流し込むという方法。
ボタン風の画像を置いた方がそれっぽいのだけど、今回はスペースが無かったのでやめた。
「年」の部分は起動時の前後5年を入れるようにしたので何年後でも使えます。
もっとも「年」は閏年の判定にしか使ってないんですけどね。
使用法
日付を指定すると、対応する汎用機用のジュリアン日付が表示される。
add up pad
普段、メールやエディタで文章を書いている時に計算をしたくなることがある。
それも単純な足し算で、わざわざ表計算アプリを起動するまでも無いようなもの。
そんな時に使うwidgets。
例えば以下のような文章をコピーしてペーストする。そして「+」ボタンを押すと答えを表示。
おかし 105円
洋菓子 118円
菓子パン 128円
コーラス 100円
からあげ 194円
アイス 89円
以前からPalmで作ろうと思っていたアプリ。
これもJavaScriptオンリー。
インターフェースは試行錯誤中。
それと2バイト文字問題でかなり迷う。単に知らなかっただけなんだが。
UTF-8で文字を扱っているので、そこらへんがちょっと大変だった。
内部でやってることは全角数字も半角に直して計算することから、あらゆる横棒をみんな「マイナス」と解釈してあげたり、三桁ごとのカンマを使用している時は計算結果にもカンマをつけるとかいろいろ。
スペースで区切られて行末にある数字のものを足すというルール。
(以下の例では全角スペースは△で表示)
足される△△1円
足される(半角スペース) 10円
足されない(スペースが無くてつながっている)2円
足されない(数値の後ろによけいな文字) 30円です
足される(半角数字) 100円
足される(全角数字) 1000円
足されない(漢字) 二百円
足される(引かれる) -1円
足されない(足すと引く以外) *20
足される $10000
足される \100000
足される 1000000\
足される 10000000
dice
diceはサイコロです。クリックするとサイコロが振られます。それだけです。
widget開発の難しさがわかったもの。プログラムは数分でできたものの、サイコロの画像を作るのに一週間(笑)。
今まで使ったことがなかった3DCGを勉強しました。めんどくさいです。
乱数の生成はわりとシンプルにしたんですがどうでしょう?
※これらは市販のアプリケーションとは異なり検証が十分にされておりません。
重大な障害が発生する可能性があります。
初心者の方は絶対に使用しないで下さい。
インストール
「ライブラリ」の中の「widgets」にこのwidgetを入れて下さい。
注意 !
最新版はこちら
ヴァージョン等は以下参照。
widgetset.dmgにまとめて入っています。
更新履歴(みたいなもの)
widgets set Ver.0.1(Ver.0.1)(2005年6月11日) Widgetの練習用に作成
add up pad、dice、Mainframe datetime のセット。
その他
裏返すとデバッグ用のものがいろいろ残っていたりします。すいません。
そのうちにきれいにします。
Freeware
"widgets set" は Freeware です。
ただし、勤務している会社が倒産、解雇等、私の経済状況が変わった場合はシェアウェア等になる場合があります。
自由に配布してかまいません。
市販のCD-Romなどに収録する場合は連絡いただけるとうれしいです。
yutakano (yutakano@tim.hi-ho.ne.jp)
June 11, 2005