2016年12月10日

VB.netやC#で同じ色かどうか調べる

VB.netやC#で同じ色かどうか調べる場合、Color構造体のARGBが一致していても
Array.IndexOf(colorArray, pixelColor) が -1 を返すことがあります。
これは、Colorを名前で定義している場合に発生するようで、
名前で作ったColorとFromArgbで作ったColorは別物らしいです。

つまり、
Dim BlackColorFromName As Color = Color.Black

Dim BlackColorFromArgb As Color = Color.FromArgb(255, 0, 0, 0)

Debug.Print(If(BlackColorFromName = BlackColorFromArgb, "一致", "不一致"))
とすると、不一致になります。

よって、下記のような関数を作って回避することにしました。


なんだかなぁ。
posted by MON at 00:00| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年12月03日

GetPrivateProfileInt で読んだ負の値を浮動小数点型にキャストする

GetPrivateProfileInt という.iniファイルから設定を読み取る関数があるのですが、
負の値をdouble型やfloat型にキャストすると、 -2147483648 となってしまいます。
回避するには
value = (double)(int)GetPrivateProfileInt("settings", "value", 0, ini_filename);
といった感じで、一度intにキャストすると上手くいきました。
本来、GetPrivateProfileIntの戻り値はUINTなので、負の値はとれないはずですが…

保存の方は
sprintf(ini_write_buff, TEXT("%d"), (int)(value));
WritePrivateProfileString("settings", "value", ini_write_buff, ini_filename);
といった感じなので負の値でも問題ありません。
posted by MON at 12:08| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年11月24日

電動ターテーブルの駆動をタミヤのユニバーサルギアボックスにしてみた

turntable_fa130-1.JPG

turntable_fa130-2.JPG

以前自作した電動ターンテーブルの駆動をタミヤのユニバーサルギアボックスにしてみました。
ユニバーサルギアボックスの出力を垂直方向にして、ギア比を最大とし、2.4VでFA-130モーターを駆動します。
ウォームギアで大きな減速比が稼げるはずなので、いけるかなぁと。
MDFパネルに下穴を空けてギアボックスを木ねじで固定。
足は24mmの角棒を24mmで切ってボンドで固定しました。
丁度良い長さのM3ネジを調達してイモネジでシャフトに固定しました。

結果は、、、非常にうるさいわ非力だわで失敗に終わりましたとさ。
posted by MON at 23:45| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年11月19日

USB切替機を自作してみた。

移行時など諸事情でPCを2台交互に使っていると、自分の意図していない方を
操作してしまうことが多々あります。
誤って意図しない方のPCでDeleteボタンを連打しちゃったりすると
どこから消したのか分からず、被害は甚大です。
そこで、2回路2接点のトグルスイッチを使ってUSB切替機を作ってみました。

usb_selector.jpg

D+とD-をトグルスイッチで切り替え、GNDは共通です。
5Vは先に立ち上げる側のPCから供給し、もう一方はNCとしておきます。
Q965+WindowsVistaだと認識に7秒くらい、H110+Windows10だと認識は1秒程度です。
キーボードとマウスの切り替えなので、ロースピードモード(1.5Mbps)は大丈夫ですが
それ以上のスピードだと、難しいかもしれません。
posted by MON at 14:28| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年10月04日

ELECOMの人差し指トラックボール DEFT M-DT1DRBK レビュー

deft1.jpg

机のスペースの都合もあり、デスクトップでは人差し指トラックボールを使っています。
知らぬ間にELECOMから新商品が出ていて、なかなか評判も良さそうだったの購入しました。

簡単に感想を箇条書きすると…
・無線の届く距離がTM-400より大幅に伸びたので、離れたところから操作出来るようになった。
・Trackball Explorerと同じく親指酷使系なので、スクロールはIntellimouse Trackballのような薬指か、TM-400のような人差し指が良かった。
・チルトホイールが硬い。
・Bluetooth対応なら良かった。
・多ボタンは普通に便利。
・ボールが小さいように思えるが、使ってみると意外とイケる。
 (比較するとこんな感じ)
deft2.jpg

総じて操作感はTBEと似ています。
ニッチな市場なので、出来ればよく売れて、永く販売して欲しいと思います。

追記:4ヶ月ほど使用したところ、ホイール操作が誤作動するようになってしまいました。
   修理センターに送付して1週間ほどで新品交換となりました。
   そもそも保証期間が購入後6ヶ月というのは短いと思います。
   今回のホイール部の故障は個別不良ではなく本製品の弱点と思われるので、
   少しでも永く使えるよう、チルトやセンターボタン押下の操作は控えたいと思います。
posted by MON at 23:59| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
【今是昨非】http://nomulabo.com/