月別アーカイブ: 2019年3月

Comオブジェクトってデジタル署名要らないんだ。

デバイスドライバとともにCOMオブジェクトってデジタル署名がいるもんだと思っていた。

いや、去年そういえばデジタル署名なんかCOMにつけなかったのをすっかり忘れていた。

UIDを登録していてそれが前のジャージョンのCOMのものと一致していればいいんだね。

今回作成したのはCristalReportsのUFLだ。

元号改正でレジストリを読むようになっているとはいえ、今後のランタイムのアップデートでどう表示されるのかわからない。

互換性は保たれるかと思うが、デフォルトでなんて表示するのか、元年なんて表示がされると、顧客の要求に合わない。

なのでCristalReportsから元号表示のためにCOM呼び出しでJapaneseCalenderクラスの関数を読んでしまう。

あれ?なんか先日書いたような・・・

まぁいいや。

ユーザー作成のCOMDLL(UFL)がCristalReportsから呼ばれるので、改ざん防止のUIDが必要になる。

これをデジタル署名と書いてしまったが、UIDでしかない。

デジタル署名もつけられるが、デバイスドライバとは違い、必須ではなかったのでもっぺん書いた。

つくったのはいいが、VB6互換フォーマット関数が新元号サポートされるとわかったので、VB6互換フォーマットのままのほうが、修正が少ない。

ということでVB6互換のままで作ってしまう。

将来的にはサポートされないし、ワーニングもでるが、そんな先はわからないしワーニングも抑制できる。

ワーニングの抑制はプロパティから変えると全部抑制されてしまうので、プロジェクトファイルに直接ワーニング抑制記述子を埋め込んでしまう。

めだたしめでたしだ。

あれっ?クリレポのはなしではなくなったような・・・いやUFLをVB6で作ってしまい、g,gg,gggの具別をつけさせるように実装するということがFormat関数でできてしまうということだ。

おしまい。

PDFフォーマットって大丈夫なのか?

省庁のHPをたむろしていると互いがPDFだ。

別に私は困ることはない。

しかし、ちょっとまて。Linuxユーザーは大丈夫なのか?

実はだいじょばない。

AdobeはReader For Linuxを撤退してしまっていた。

まじですかー。Linuxも使っているけどPDFはいつもWindowsで開いていたからまったく気づかなかった。

他のソフトでPDFビューワはある。あるが、adobeフォントが未サポートで代替フォント表示が上手く行かないケースが多々あるらしい。

いやがらせですな。

で、省庁のHPにあるPDFのフォントは大丈夫なのか?どうもルールはあるものの守っていないらしい。ばらばらだ。

CristalReportsはだいぶなれた。

実はこいつが大嫌いで顧客からの要求でこれが指定されていた場合、いつも代替品を提案していた。

なんでって?

マニュアルが雑で、ライセンス体系がエンドユーザーライセンスだったので、ユーザーが多いと価格跳ね上がってしまうからだ。

いまはSAPが手にしたことで価格の見直しもあり、我慢の範疇になってきた。

使いづらいデザイン画面もなれてしまうとそれなりに使える。

逆に既存のRptファイルの改修では、なんでこんなバカな使い方しているのか?みたいなケースがてんこもりだ。

それでもまだ使いづらい部分がある。

それはDBのテーブルがないとどうしようもないことだ。テーブルのでーたなんか覚えておいてもテーブルが見えないと結局は吸ってられてしまう。

しかもプレビューでテーブルがないともうおてあげ。

テーブル構造を記憶しておいて、ダミーのXXデータをぶっこんで表示する機能くらいあってもよかろう。デザインしにくい。

そーいえばSAPのブログに最新版だけ元号対応するようなことが書いてあったが2013でもちゃんとレジストリに対応しているようだ。

あとは元年表示だが、要らないよな、そんな表示。

銀行の振込用紙でさえnn年の桁が降ってあり、元年なんて書けやしない。あー、まだプロとだからわからないかなー。

全銀の電子ファイルフォーマットはそもそも年がない。月日だけなので全く影響されない。さすが銀行。振込用紙だけクン。

厚生労働省系の書類や電子ファイルはだれが考えたのかアホ仕様だ。年号コードも0なら西暦下2桁とか逃げ道をつくっておけばよかったのに・・・

まぁ、いいや。厚労省や年金機構、労基などのシステム改修リリースは来年3月だし。

平成のママで動作するようにシステムのレジストリに進言号が入ったら即消しだ。

ウイルスにあたらず」男性無罪の検察の不手際

コインハイブを埋め込んだサイトを作ったやつが逮捕起訴されたが、裁判所は無罪。

PCユーザーに無断でリソーアスを営利目的で使用していたのが無罪だ。

問題なのは、いきなり逮捕&起訴の流れだ。

実質的な被害届を出す人もいなければ、被害があったかどうかの立証すらできない。

サイトへの警告もなかったことから、過剰な起訴と判断され無罪となったわけだ。

なんで警告しなかったのか?

年度末で査定があるからではないか、と疑う。

Officeも元号のレジストリに対応済なんだね

Officeも元号のレジストリに対応済なんだね。

自宅で元号のことなんか気にしなかったが、職場のアップデートができない開発環境でいくら調べてもらちがあかないので、ようやくこれも調べた。

あんだよ。2月のアップデートですでに入っているじゃんか。

でもExcelで元年ってどうやるんだろうか。とりま01年にはなったので、顧客の環境はこのアップデートで影響することになる。

VB6互換Formatも新元号対応しているんだね。

開発環境が最新アップデートを入れられない環境だったので、自宅でやってみると、、、

あんだよ。net4以上でもVB6互換Format関数は新元号に対応しているんじゃん。

元年は要らない。とりま新元号に対応していることがわかれば安心だ。

でもどのKBで入ったのだろうか?

顧客のPCはセキュリティアップデートしか入れていない。

MSのHPだと、いつかは入る的な書き方だ。

細かい修正は書いてないんだよなー。

いまいちな和暦Format

japanezeCalendarクラスが以外とつか得ない。

VB6Formatのほうがずっとよかった。

どれくらいつかえないのか。

Cdate(“2019/05/01”).ToString(“g”,JCalender)

だと元号だけでなく日付までの文字列が出てしまう。

Cdate(“2019/05/01”).ToString(“gg”,JCalender)

Cdate(“2019/05/01”).ToString(“ggg”,JCalender)

Cdate(“2019/05/01”).ToString(“gggg”,JCalender)


Cdate(“2019/05/01”).ToString(“ggggg”,JCalender)

これらは全部1つの元号しか出さない。gをいくら並べても同じだ。

ところが、”gg gg ”とひとつ間が空くとこれはちゃんと2回印字される。

そもそも英字1字の元号表現ができないのはなぜか?

レジストリにも持っている。

GetEraで元号インデクスを求める際にも”H”とか”S”とかの英字で元号が認識できる。

すでに定義してしまったクラス互換性が失われるとかを気にしているらしい。

ならば、ToString(Format,JCalender,Optinal flag)

のようにフラグをあとづけしてもいいはずだ。それによりVB6互換のフォーマット文字列を認識させることも可能なのにMSはやらない。

現状のままで「元」年と元号の文字列だけ対応させて終わるつもりらしい。

やっぱ日本は舐められているよね。

では待ってられないので互換関数を作ってしまった。

フォーマットを奪い取って、g,gg,gggのパターンを調べ、一旦その部分だけ別の文字に置き換え、フォーマットを実行。置き換えた部分のパターンにより元号(英字、漢字1字、漢字2字)を求めて差し替えるというものだ。

あとは待つしかない。VB6互換Format関数も結局リリースされるんだかされないんだか。

年号と元号

年号と元号ってなにがちがうのか?

よく教えてっxなんぞで登場する。

wikiで探すと出てくるがよくわからない。

そこで整理。

年号:

大正、 昭和、平成など天皇即位のたびに改元する漢字2文字の名称。

元号

年号を含め、 大正、 昭和、平成など天皇即位のたびに改元 を元年として何年経過したかの年数。

この年号を含め、が曲者で、年号と元号の誤解を生んでいた。

元号法制定では、竹下総理が「平成を元号とする」と言ってしまったため、多くの人が誤解した。

いまではこのせいで元号と年号はほぼ同義とされてしまった。

日本語は変化する。

なのでこの変化もしかたのないことだ。

年号は一般的ではなくなったので、逆に年号というと注意されてしまうこともある。

元号が法的に使用される名称となったので今後は元号と言ったほうがいいだろう。

エクセルが死ぬ

60MBほどのエクセルファイルがある

これがエクセル2013だと落ちるのだ。

編集するわけではない。

シートを次々送って、後ろのシートまで進もうとすると、だんだんシートの表示がされなくなり、やがて落ちる。

落ちるとかつてに修復して壊す。

オリジナルをバックアップしておいてあるのでよいが、見ることすら叶わないのは辛い。

しようがないので、2016が入ったPCを開けてもらう。

2013はわざと直さないのだろうか。

描画のときにハンドル解放忘れてんだろね。

プロセスエクスプローラのハンドル数が半端ない。

疲れたので今日は仕事もうばっくれ。

wifiでコントロール可能な埋め込みSWを買う

あまぞんでさまよっているとalexa対応の電灯SWがあるじゃありませんか。

一応全部の電気はalexaで制御できるけれど、電灯Swで消されたら終わりなので、これをつければ安心だ。

早速ポチったがなかなか届かない。やっぱり中国かい。

マニュアルは英語。

さて取り付けようかな?

と電灯SWを開けてみる。

げっ!グランドがない!

+側のIN-OUTしかないのだ。

これではつなげらんない。

グランドがないとSWの電源が+からとれないのだ。

そーだよなー。コンセントとならまだしも電灯SWに両極もってくるわけないかぁ。

コンセントは1m以上離れている。グランドをとるのに外配線はかっこ悪い。配線はコンセント方面には向かっていなそうだ。

あー、見てから買えばよかった。

と。お蔵入りのパーツがまた増えた。

年号だけでないや

西暦で扱っているから安心してはいられない。

よくみると西暦の下2桁しか計算していないものがある。

なんで4桁にしなかつた?

二文字節約するとどれだけ良くなる?

yymmdd形式に減らした挙句文字列領域256バイトを確保している!

バカですな。

これではcdateで30/1/1は2030ではなく1930年になってしまう。

作った当初はまだ先だと思っているがからこういうの気にしないんだろうね。