Top  上へ  目次


 Ver.11.2ぐらいの話


 ずーっと抱えてたバグですが、ようやく諦めたというか、やけになって作り直す気になったので公言です。
 As/Rの日付書式は書式文字列を設定画面出で手入力することで、日本風にyyyy年MM月DD日とか、米国風にMM/DD/yyyyとか、イギリス風にDD/MM/yyyyとか自由にカスタマイズできていました。
 自由テキスト入力できるので、そりゃもうどんな書式でも受け入れる懐の深さがあったわけです。

 ただ致命的な弱点として、VCのランタイムでサポートしてない書式文字列を設定すると、As/Rが落ちます。
 例外を捕まえることも、戻り値を判別することもできません。
 バッファオーバーランが心配なところですが、容赦なく落としてるので悪用は難しいでしょう。
 まぁ、本来の設計としては、自由入力を許さず選択させる形にしなさいよ・・・というガイドラインをどこかで見た気がしますが、設計が甘かったんです。

 というわけで、わりと最近のAPIを使って日付の書式設定をするように仕様変更します。

 使える置換文字列は
置換文字意味
d 日、ゼロ埋めなし
dd 日、ゼロ埋めあり
ddd 曜日、短い表記
dddd 曜日、長い表記
M 月、ゼロ埋めなし
MM 月、ゼロ埋めあり
MMM 月の短い表記
MMMM 月の長い表記
y 年、下1桁
yy 年、下2桁
yyyy 基本的に年4桁
システムの設定によって5桁で表示する国がある
yyyyy yyyyと同じ
g システムの設定の地域の設定を参照した期間/元号の短縮形
和暦を使うには地域の設定を和暦にする必要がある
gg システムの設定の地域の設定(通常は西暦)を参照した期間/元号
和暦を使うには地域の設定を和暦にする必要がある
h 12時間制の時刻、ゼロ埋めなし
hh 12時間制の時刻、ゼロ埋めあり
H 24時間制の時刻、ゼロ埋めなし
HH 24時間制の時刻、ゼロ埋めあり
m 分、ゼロ埋めなし
mm 分、ゼロ埋めあり
s 秒、ゼロ埋めなし
ss 秒、ゼロ埋めあり
aaa ミリ秒、3桁固定
t 午前/午後の省略形
地域の設定によって表記が変わります
tt 午前/午後
地域の設定によって表記が変わります


 まぁ「使用するAPIが変わる影響で設定の方法が変わりますよ」だけで済むのですが、しれっと飛び道具を混ぜてます。

 更新日時のみですが、ファイルのタイムスタンプのミリ秒の表示が可能になります。
 (アクセス日付とか作成日時も、やろうと思えば可能なんですが表示性能が著しく下がるので、やめました)

 これってシェルインターフェイス経由で取得すると時刻が2秒単位に丸められるというWindowsの奇妙な仕様がなくなってきたので、有用性が出るかなと思って載せてみました。
 (残念ながらWindows7では表示できません)

 タイムスタンプを揃えるって結構やりますけど、ミリ秒の情報もファイルとしては持ってるので、一覧で表示できたらヨサゲかなと思ってました。
 あとファイルのコピーなどでタイムスタンプを比較する場合、ミリ秒単位まで比較しているのですが、どこにも表示がないというのは不親切な気もします。


 それから古い日付、具体的には1600年〜1900年のタイムスタンプの日付が普通に表示できるようになります。
 ちなみに、これ以上の古いタイムスタンプは、NTFSの制限(日付範囲は1601年1月1日〜60056年5月28日)に引っかかるので存在できません。

 通常の用途で出くわすことはないと思いますが、システム開発とかしているとたまに、こんなイレギュラーなファイルに出くわすことがあるかもしれません。
 長いこと、開発ってぇ仕事をやってますが、2回くらいですかねぇ・・・見かけたことがあるのは。

 あとエクスプローラーやら、ウィルススキャンソフトから隠す目的で、タイムスタンプを異常な値にしちゃうものは見たことがありますが、まぁ見れないより見れた方がマシということで対応の追加です。
※エクスプローラーでは日付欄が1900年より古いものは全て1900年になります

 ぶちゃけた話ですが、エクスプローラーにできないことができるってジワジワ減りつつあるので、ちょっと挽回したくなったという話でもあります。
 ミリ秒の表示なんて使う人なんて、ほとんど居ないと思いますが、「使わない」のと「使えない」のはわりと大きな差だと思うんですが・・・まぁ自己満足の世界ですね。



 あと、zipファイルとして認識する書庫の拡充ですかね。
 zipファイルと呼ばれるものは、拡張子だけ変えられているものが多数存在します。
 今のところ、zip、jar、nar、xpi、epubとまぁ、今にして思えば大分偏った構成です。
 xpiって何故追加されたのか心底疑問ではありますが、そういえば仕事でNetscapeの機能拡張ソフトを作ったことがあった気がします。
 もう、要らないよなぁ・・・と思いつつ、も削除は抵抗がありますし、うーむ。

 というわけで、以下の拡張子を追加します。
 apk、crx、docx、xlsx、pptx、ipa、ipg、odt、ods、odp、odb、odg、odf、wsz、wmz
 他にも、こんなのがメジャーだよ!とかありましたらご連絡ください。
 なお注意事項としては、圧縮ファイルビューアのスクリプトであるViewer.txtは更新処理の際に、上書きされませんのでご注意ください。
 (配布書庫内にある、Viewer.txtを参考にスクリプトファイルを修正してください)


 しかしEXCELファイルとか、使ってない書式やプリンタ設定とかゴッソリ含まれており、徐々にブックが肥大化していく問題とかありますが、こいつら単なるzipファイルなんで解凍してメンテナンスして戻してくれるようなソフトを誰か作ってくれないだろうか・・・と思いつつEXCEL方眼紙で仕様書を作るって文化も滅びれば良いのにとも思います。