blochの日記

自虐ネタ以外のぐちは書かないようにしましょう

測定プログラム終了のためのキー入力

やはりジャステック電源(シリアル)の制御は一日では無理っぽい。そもそもシリアルのポートを開いて通信が上手く行くか十分確認してからようやくプログラムに取り掛かる必要がある上、通信がトラブった際に、キー打鍵によるインタラプトをどうやって把握するかとか、知らないことが多過ぎた。
MS-DOSの時代はint21HのDOS-callで全部出来たのになぁ、、、、
どうせ、本命のHMの電源はPCで操作出来ないのだから、測定だけ出来ればいいや、と、思ったら気が楽になった。強制終了のための、Windowsのキー入力有無のシーケンスをメモしておく。

uses Windows;
if((GetKeyState(VK_CONTROL)<0)and(GetKeyState(ord(’D’))<0))then abort:=true;

再び、メモ。前半のCTRLキーのチェックは非常に旨く行くのだが、一般キーはダメ。キーバッファを考慮する必要があるのと、そもそも「<0」でなかった(正解忘れた)。
結局、ESCで終了にした。特殊キーの二つ同時押しは、結構、Windowsでオキュパイしているようだし。
再再度メモ、結局、WinXP/7以降は、CTRL+Cで素直に止まるようなのでキーブレークはほっといても良いような気がして来た。またちょっと気が楽になった。