HSPでアナログ時計を作る
1.概要 別記事で 「HSPで万年カレンダを作る」 を 公開していますが、今回もプログラミングの題材としては定番である「アナログ時計」をHSPスクリプト言語で作ります。 HSP言語について、興味のある人は公式サイトで確認して見て下さい。 今回紹介する時計は、何か特別な機能があるものではなく、ただ単に時計用の文字盤画像に針がついて時を刻むだけのものです。 2.ソースコード プログラミングで時計を作る場合は、デジタル時計とアナログ時計の二種類があります。デジタル時計は、テキスト数字のものと数字画像を利用した ものがあります。 まずは、時計を作るための基本となる デジタル(テキスト)時計 を参考として紹介します。 ソースコードは、下記の通りですが実際に実用的なものとして筆者が利用しています。そのため、コードがやや長めとなっています。 前半部分は、画面の移動、終了処理をするためのポップアップメニューの表示、タイマー処理、二重起動防止のために必要なWindowsAPIの定義部分で、 時計として必要な部分は、85行目から111行目までと、画面をマウスの左クリックで移動するための処理としての、133行目から149行目までです。 もうひとつのポイントとしては、タイマー割り込み処理で、マウスの左ボタンクリックで画面移動時でも時計が止まらないようにする処理部分です。 アナログ時計も時計の描画部分を除けば処理ルーチンは、ほぼ同じです。 あと、画面の移動位置を保存して起動時に反映させるためにSQLiteを使っています。終了は、マウスを右クリックするとポップアップメニューで終了できます。 ;**************************************************************************** ;* ;* 文字列型のデジタル時計 (strtokei.hsp) Ver1.0 ;* ;**************************************************************************** #include "sqlele.hsp" ;***** 実行ファイル自動作成 **** #packopt type 0 #pack