ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

C# – 教科「情報」の授業で使うタイピングトレーニングのソフトを作っています。その 4。いつでも終了、開始ができるボタンのインタフェースを制御した。

leave a comment »

教科「情報」の授業で使うタイピングトレーニングのソフトを作っている。ここでマイナーチェンジをしたのは、ボタンの有効状態を制御したところだ。たとえば、次の画面は文字入力をトレーニングして「終了」のボタンを押し、かかった時間とスコアを表示したところだ。

textInputProgram_001_mid_640

ところがこの状態で「開始」のボタンが有効になっている。そこでこのまま「開始」をクリックして「終了」をクリックすると、一字も入力することなく結果が出てしまう。

textInputProgram_002_mid_640

そこで「開始」ボタンを押す前は「終了」と「リセット」を無効にし、「開始」ボタンを押せば「開始」ボタンは無効となり「終了」ボタンが有効になり、「終了」ボタンを押せば「終了」ボタンは無効となり「リセット」ボタンが有効となる、といったようにボタンの有効無効を制御することにした。

まずフォームの初期化で「終了」ボタンと「リセット」ボタンを無効にしておく。

——————————————————————————————

btnEnd.Enabled = false; //終了ボタンを無効にする
btnClear.Enabled = false; //クリアボタンを無効にする

——————————————————————————————

次に「開始」ボタンのクリックイベントで「開始」ボタンを無効にし「終了」ボタンを有効にする。

——————————————————————————————

btnStart.Enabled = false; //開始ボタンを無効にする
btnEnd.Enabled = true; //終了ボタンを有効にする

——————————————————————————————

そして「終了」ボタンのクリックイベントで「終了」ボタンを無効にし「クリア」ボタンを有効にする。

——————————————————————————————

btnStart.Enabled = false; //スタートボタンを無効にする
btnClear.Enabled = true; //リセットボタンを有効にする

——————————————————————————————

最後に「クリア」ボタンのクリックイベントで「クリア」ボタンを無効にし「開始」ボタンを有効にする。

——————————————————————————————

btnClear.Enabled = false; //クリアボタンを無効にする
btnStart.Enabled = true; //スタートボタンを有効にする

——————————————————————————————

これでボタンの有効無効管理ができた。

textInputProgram_003_mid_640

textInputProgram_004_mid_640

textInputProgram_005_mid_640

さて、このような制御をどこまですればよいのだろうか。それはプログラムを誰がどのように使うのかにかかっている。たとえばこのソフトウエアが、自分で文字入力のトレーニング結果を知りたいために使うのならば、このような制御を考える必要はないのかもしれない。自分の力を知るために「ずる」をする意味がないからだ。しかし、たとえば学校の授業で先生が生徒に課す場合は、少しでもよい結果を出すために「ずる」をしようと考える生徒がいるかもしれない。

そのことを考えると、たとえばテキストを別に入力しておき、ペーストするような「ずる」も考えられるかもしれない。使いやすさと同時に、想定外の利用をされないように考えることは、ソフトウエアの本来の機能とはまた別に、ソフトウエア開発のテーマである。

毎日 7 つのスマートデバイスを持ち歩く。

leave a comment »

Windows Phon 好きかどうか、という Facebook の話題があったが、俺は Windows Phone も Android も iPhone も iPod も、そして Zune も好きだ。その結果、毎日 7 台のスマートデバイス、といっていいかどうかわからないが、スマートフォンなどを持ち歩いている。

P1510988_mid_640_480

内訳はこうだ。Windows Phone が 3、Android Phone が 2台、iPhone が 1台、iPod が 1台だ。それぞれ使い分けがあって、あるものはメモ帳替わりであり、あるものは音楽プレイヤーであり、あるものは LINE 専用機であり、あるものはパソコンのテザリング専用機である、といった具合だ。このうちデータ通信専用 SIM が入っているのが 3台、他の 4台は Wi-Fi のみの運用で、SIM は入っていない。電話機能はないので、携帯電話はいわゆるガラケーを別に持っている。

P1510989_mid_640_480

重ねて持つとこのくらいになり、とてもスマートとは言えないが、どれを欠いても不便なので持ち歩いている。おまけに遠出するときは、これに加えてノートパソコンや Kindle を持つので、さらにデバイスが増える。

いろいろ言い訳をするのだが、結局のところ好きなのだから仕方ない。

Windows XP で Arduino IDE 1.8.2 をインストールして ESP8266 Community ボードパッケージを適用し、nodeMCU Amica にスケッチを書きこもうとするとエラーがおこる – bits フォルダに cxxabi_tweaks.h ライブラリを配置すると解消する。

leave a comment »

Windows XP Service Pack 2 のノートパソコンを使って Arduino の開発環境を整えようとしている。Arduino IDE はバージョン 1.8.2 を使い、インストールする。この状態で、オリジナルの Arduino UNO は開発することができ、また CH340 や CP210 の USB シリアル変換ドライバを適用すれば Arduino UNO のクローンも開発することができる。しかし、ボードマネージャを使って ESP8266 ボードパッケージをインストールしても、nodeMCU Amica や nodeMCU LoLin にスケッチを書きこもうとするとエラーが出て書き込めない。

Arduino_1.8.2_setup_004

このときのエラーは、以下のようなものになっている。

—————————————————————————————-

Arduino:1.8.2 (Windows XP), ボード:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

In file included from C:\Documents and Settings\user\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266\abi.cpp:23:0:

c:\documents and settings\user\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\cxxabi.h:50:32: fatal error: bits/cxxabi_tweaks.h: No such file or directory

#include <bits/cxxabi_tweaks.h>

                                ^

compilation terminated.

exit status 1
ボードNodeMCU 1.0 (ESP-12E Module)に対するコンパイル時にエラーが発生しました。

「ファイル」メニューの「環境設定」から
「より詳細な情報を表示する:コンパイル」を有効にすると
より詳しい情報が表示されます。

—————————————————————————————-

このエラーからは、必要なライブラリがないことでコンパイルエラーになっていることがわかる。実際にフォルダを開くと、確かに必要なライブラリがない。

Arduino_1.8.2_setup_005

そこで、この「bits」フォルダに「cxxabi_tweaks.h」ライブラリをコピーする。「cxxabi_tweaks.h」ライブラリは、GitHub などから入手する。

Arduino_1.8.2_setup_006

Arduino_1.8.2_setup_007

Arduino IDE を再起動し、Blink のスケッチを書きこむとうまくいった。

Arduino_1.8.2_setup_002

Arduino_1.8.2_setup_008

Written by Yoshio Matsumoto

2017年6月14日 at 10:50 AM

東京品川、日本マイクロソフトのカンパニーストアで買ったロゴグッズ – 細かい物を分別収納できるセカンドバッグ

leave a comment »

東京品川の日本マイクロソフト本社には「カンパニーストア」というマイクロソフトのロゴグッズを取り扱うショップがある。これは受付の近くにあって、社員証や入社証がなければ入れないセキュリティエリアの外にあるので、マイクロソフト本社に立ち寄れば誰でも行けるようになっている。ただ、土日は開いていないことが多く、平日でも開店時間が限られているので、いつ行っても買えるとは限らない。だがマイクロソフトグッズはなかなか他では手に入らないので、東京品川に用事があるときは、まずここに立ち寄ることにしている。ここで紹介するのは、とても便利なセカンドバッグだ。

P1490016_mid_640_480

たたまれた状態ではわかりにくいが、店ではこのような形で売っている。小さくたたまれているが、広げるとかなり大きい。

P1490017_mid_640_480

正面に大きく Microsoft のロゴがある。

P1490018_mid_640_480

正面から見て左側のポケットはファスナーを開けるとこんなかんじだ。

P1490019_mid_640_480

右側にもポケットがあるが、その外側にはゴムのワイヤーが取り付けられていて、ペットボトルなどを挟み込めるようになっている。

P1490020_mid_640_480

背面は二重になっていて、ちょっとしたものを挟むことができる。ここはファスナーがないので出し入れしやすい。一時的に入れておくものや頻繁に出し入れするものを入れよう。

P1490021_mid_640_480

真ん中のところは、このように大きく開くようになっている。さらに内側にはたくさんメッシュのポケットがある。メッシュなので何が入っているか一目でわかる。

P1490022_mid_640_480

上から中を覗き込む写真だ。いくつもの小さい仕切りがあることがわかるだろう。小物を分類し、中でこんがらがったりしないようにできる。ケーブル類を収納するにもいいだろう。

P1490023_mid_640_480

旅行に持っていくにもいい。セカンドバッグとして機能的に活躍してくれるはずだ。

P1490017_mid_640_480

東京品川、日本マイクロソフトのカンパニーストアで買ったロゴグッズ – 柔らかい厚手の生地でできたパーカー

leave a comment »

これも東京品川、日本マイクロソフト本社にあるカンパニーストアでみつけた。厚手で柔らかい生地でできたパーカーだ。

P1490025_mid_640_480

胸には Microsoft のロゴが燦然と。

P1490024_mid_640_480

色はフードのエッジがピンク。サイズは S で、中学 2 年生の娘に着てもらった。ちょうどいいサイズだ。

P1490063_mid_640_480

季節的に暖かくなりつつあるので、本格的に着てもらうのは次期シーズンになるだろう。

Written by Yoshio Matsumoto

2017年5月30日 at 12:01 PM

東京品川、日本マイクロソフトのカンパニーストアで買ったロゴグッズ – 札入れとして使ってもいいカードケース

leave a comment »

東京品川の日本マイクロソフト本社には年に何回か行く。会社の入り口カウンターの奥には、マイクロソフトのカンパニーストアがある。イベントやミーティングで本社に行くときは、必ずここに顔を出す。たいてい記念に何か、あるいはお土産に買い物をするのだが、今回はこれだ。

P1490042_mid_640_480

財布のように見えるが、基本的にカードケースだ。中を開くとこんなかんじ。

P1490048_mid_640_480

中に一枚しきりがあって、その両側にカードを挟める。

P1490047_mid_640_480

もちろん、Microsoft のロゴがしっかりとある。

P1490046_mid_640_480

裏側はこんなかんじ。ファスナーがあって大きなものも入れることができる。この写真では色は黒っぽく見えるが、実際は濃い茶色だ。

P1490043_mid_640_480

箱に入っており、薄い紙で優しく包まれている。お土産にもいいだろう。

P1490041_mid_640_480

カードだけでなくお札も入れることができるので、札入れとしても使っていいだろう。

P1490046_mid_640_480

Written by Yoshio Matsumoto

2017年5月29日 at 11:37 PM

中国製のポータブル Bluetooth アダプターでオーディオシステムを無線化して Windows Phone から音楽を再生する – YET-M1

leave a comment »

中国製の電子機器を手に入れやすくなった。日本の Amazon サイトでも、おそらく個人事業レベルで中国から輸入代行をしていると思われる業者が安価なデバイスを販売している。今回試したのは、既存のオーディオシステムに取り付けて簡単に無線化する Bluetooth アダプターだ。一応型番は YET-M1 とあるが、異なる型番で微妙に表面印刷や部品の色が違うものがあるようで、おそらく中身は同じではないかと思われる。

P1510670_mid_640_480

パッケージの裏側。

P1510671_mid_640_480

パッケージから出した。本体とミニステレオケーブルが入っている。

P1510673_mid_640_480

本体の片側がキャップになっており、キャップを外すと USB コネクタがある。

P1510675_mid_640_480

USB コネクタの反対側はミニステレオジャックになっている。ここからアナログ音声信号を取り出す。

P1510678_mid_640_480

さて一方オーディオセット側は通常 RCA ピンジャックという接続コネクタになっているはずだ。俺の家にあるオーディオセットもそうなっており、背面からピンコードが取り出してある。ゲームマシンをつないだりパソコンをつないだりすることが多いので、いちいち裏側をごそごそしなくていいようにしている。

P1510679_mid_640_480

そこでステレオミニプラグと RCA ピンプラグの変換ケーブルを用意する。

P1510684_mid_640_480

電源は USB の充電池を使った。eneloop だ。

P1510695_mid_640_480

Windows Phone で Bluetooth 接続をする。

P1510696_mid_640_480

Bluetooth をスキャンすると YET-M1 と表示される。ペアリングする。

P1510700_mid_640_480

そして Scorpions を聴く。

P1510701_mid_640_480

この Bluetooth アダプターは、200 円で買った。ミニステレオケーブルも同梱されていることを考えると、実質 100 円で買ったようなものだ。では実際、音はどうかと言えば、気になるのは無音時のノイズだ。このノイズは、この製品のものなのか、あるいは接続ケーブル、Windows Phone、もしかしたらオーディオセット自体にあるのかもしれないが、ロックのような曲を聴く限りでは気にならないが、クラシックや現代音楽などを聴くときには気にならざるを得ない。

しかし、オーディオのオペレーションが手元のスマートフォンなどのデバイスでことロールできる便利さはいい。まだ慣れないので、音を大きくしようと思わず椅子から立ち上がってオーディオセットに向かい、ああ、そうだ、手元の Windows Phone を操作すればいいのだ、と思い直すことがあったが、慣れればこれほど便利なものはない。