tag:blogger.com,1999:blog-18070989206035005012024-03-20T19:06:38.450+09:00メージンブログ・・・らしい日記形式で色々書いていく予定。
基本その時のモチベーションが向かっている物事について書いていく・・・と思う。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.comBlogger39125tag:blogger.com,1999:blog-1807098920603500501.post-81504476557108446952008-01-06T21:51:00.000+09:002008-01-06T22:09:43.885+09:00現状報告などあけましておめでとうございます。<br />・・・てかもう七草がゆな日じゃないすか。<br />えーと、ごぶさたです。<br />ふた月以上ほど放置しておりましたが、まぁ・・・振り返ると実生活の方でやっぱり余裕が無くなってるな、てな感じす。<br />でも、自分のペースで少しずつは進めていこうかと。<br />変にプレッシャーかけて潰れてもよろしくないですからね・・・。<br /><br />さてPopClockの方ですが、冬休みの間に少し触ってみました。<br />1つ残っていた不具合でサスペンド復帰時に、まれに二重起動する時があるってのがありましたが、<br />どうやら起動中のものはそのままに保持しておくのが一番安定しているようだということで、<br />これはこれで修正して解決ということに。<br /><br />で、残り作成予定を見て、とりあえず何つくろうかな・・・と思って、<br />常駐時にスケジュール指定して起動する機能を作ろうかと色々調べてましたが<br />・・・情報が中々見つからない・・・。<br />タスクスケジュールに登録するような感じみたいなんだけど・・・うーん、サンプルもまだ見つからないんだよなぁ・・・<br />せめて関数名とかだけでも分かればいいんだけど、キーワードが何かないかなー・・・てな現状です。<br />指定時間にソフトを起動する方法・・・何か無いかな・・・ちなみにサスペンド時でもちゃんと起動できる方法でないと多分いけないんだろうな・・・と思っとります。<br />あるいは、他の機能を先行して付けるって方向もあるけんどねっ。<br /><br />てなわけで、私自身の私事はまだずっと忙しいままだと思うので、<br />当面はよりマイペースになっていくと思いますが、よろしくであります。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-84039271476178867152007-10-29T00:58:00.000+09:002007-10-29T01:10:17.706+09:00PopClock Ver.1.3bPopClock Ver.1.3b<br />処理は出来たけど、時たま微妙な動作をする可能性があるので今回はβ版です。<br /><br />修正点は以下の通り。<br />Ver.1.3b 2007/10/29<br /> ・起動オプションに-sと入力することで、常駐モードで動作する機能を追加しました。<br /> (常駐モードでは通常起動、タスクアイコンのタップ起動、サスペンドからの復帰時起動、で時計表示を行います)<br /> ・BMPに加え、PNG・JPG・GIFファイルの読込が可能になりました。<br /> ・処理を改修し、時計表示時の消費メモリを削減しました。<br /> ・時計表示時に画面回転による縦横変更を行った場合、表示がおかしくなる問題への暫定対処を行いました。<br /><br />今回は常駐モードが大きな修正点なんだけど、<br />-sをつけない普通起動している限り、モノとしては今までどおりなんだよなぁ。<br />何はともあれ今回βということで常駐周り何かあるかもしれませんが、よろしくおねがいします。<br /><br />CABファイル形式は、<a href="http://www1.plala.or.jp/meizing/app/PopClock_1_3b.CAB">こちら</a>。<br />ZIPファイル形式は、<a href="http://www1.plala.or.jp/meizing/app/PopClock_1_3b.zip">こちら</a>。<br /><br />※いつもの注意書き<br /><strong><span>CABファイルのインストール先は、指定デバイス内の\Program Files\PopClock\になります。</span><br /><span style="COLOR: #ff6600"><span style="color:#000000;">同じフォルダに同じファイル名のものが存在した場合、自動的にインストールデータで上書かれてしまいますので、必要なファイル(同名だけど自作で作ったファイル等)がある場合は別フォルダにコピーするなど、バックアップを行ってください。</span></span></strong>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com1tag:blogger.com,1999:blog-1807098920603500501.post-28744003021693306632007-10-28T19:51:00.000+09:002007-10-28T23:53:52.387+09:00ようやく一段楽しそうな2週間たったか・・・テスト期間というには本仕事の方が忙しかったりするわけですが<br />ま、それはさておき貴重に休日を利用して日曜プログラミングだぜ やっほうー!<br />・・・と。<br /><br />常駐ルーチンを組んでしばらく使ってみて、まずやばかったのが<br />サスペンド復帰時の起動で背景画像が2重に描画されるときがあった、というのがありました。<br />これは・・・背景用の画像を作成するタイミングが復帰起動表示後に来ていたということで<br />処理順を修正&余分に再取得していたルーチンを修正することで何とかなった感じ。<br /><br />もう一つ、いっとうヤベーと思ったのが、<br />常駐モードにしてると、本体で設定していたアラームが利かなくなるというか、<br />復帰して起動した時計を閉じるまで自動的なアラーム表示が出てこない、っていうのがあったのよね。<br /><br />これに結構手間取った感じ。<br />サスペンド発生してから、ユーザー独自イベント発行の段取りを踏んだりとか、タイマーでしばらく待ってから表示させるしかないか、スレッド関数でまわしてみるか・・・とか色々試してみたわけですが、<br />結局は毎フレーム描画処理している最後でSleepをすることで、動いた。<br /><br />まぁ・・・まだそんなに試せてないから、今度の更新はバージョン表記はあがってるけど実質βバージョンな意味合いになるかも・・・追加機能もひそかにまだあったりするからなぁ・・・。<br /><br />・・・ここまで書いてて、また復帰時多重描画再発してるな・・・orz。<br />まぁとりあえず、いったん公開してみるか~。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-4152284184579785992007-10-15T22:35:00.000+09:002007-10-15T23:38:49.743+09:00サスペンド復帰をチェック処理さて、次の段階。<br />ずばり、サスペンドからの復帰を検知して時計表示をONにする処理を作る・・・てなわけで<br />その検知方法を調べてたわけですが・・・コレが意外と情報が見つからない(汗。<br /><br />かなり探して、結局探しついた先はといいますと・・・インストールしたSDKのサンプルフォルダに。<br /><a href="http://mtbeta.msdn.microsoft.com/ja-jp/library/bb158662.aspx?altlang=ja-jp">http://mtbeta.msdn.microsoft.com/ja-jp/library/bb158662.aspx?altlang=ja-jp</a><br />から探すに、<br />\Common\CPP\Win32\PowerManager<br />ちなみにわつぃのPCでは<br />D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Samples\CPP\Win32\Powermanager<br />にあったす。<br /><br />ここにあるサンプルソースを、まぁ・・・大体コピペに近い形で(ぉぃ)移植して試してみたですよ。<br />結果、・・・おぉ、サスペンド復帰時に処理来てるぞ、これ。<br />とりあえず、この部分に時計ONの処理を突っ込んでみると・・・<br />おー、サスペンド復帰時に時計がktkr!<br /><br />ちなみに、サンプルソースの内容を理解した分だけかいつまんでみるに、<br />どうやら電源関係のイベントが発生した時にシグナルONとする仕組みがあるようで。<br />シグナル発生時に処理をまわすため、独自にスレッド作ってその中でシグナル来るまで処理待ちすると。<br />で、シグナル発生時にシグナル分だけ処理をまわすように出来ているような。<br />ちなみに、終了用のシグナルが発生した時にスレッド内ループを抜けるようにしてて、スレッド終了になるようです。<br /><br />てなわけで、サスペンド復帰時の時計表示が出来るように・・・だけど<br />実際組み込むに当たって色々と作成する要素があるので<br />バージョンアップの公開にはもうしばし待たれし・・・ということで。<br /><br />とりあえず現在試しとして常駐モードで使用中なのですが<br />・・・サスペンド復帰表示結構いいな・・・<br />試用した途端、さっそくバグ見つけたけど(苦笑)。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-40635255802086684362007-10-07T20:40:00.000+09:002007-10-07T21:13:43.954+09:00久しぶりにコーディングできたぜぃ会社の新しい部署に移ってから、えらく忙しくなってしまって<br />仕事外のプログラムに手をつける余裕がまるで無かった今日この頃。<br />とりあえず、環境を自宅に移して休日にちまちまやることに決定。<br />環境移すっていっても、ノートPC持ち帰ってくるだけなんですけどね♪<br />うーん、まさに日曜プログラマーだ・・・。<br /><br />さて、久しぶりにソース触ったから感覚忘れそうになってましたが、続きの方を。<br />常駐状態で、時計のON・OFFを・・・ON/OFF処理はソースの記述整頓で抜き出しておいたので<br />関数呼び出すだけでOKとして、軽く大変だったのがウィンドウの表示非表示が<br />何気にうまくいっていなかった・・・てか、ちょっと抜けてたというか<br />そもそも表示・非表示はShowWindow関数で十分いけた感じ。<br />MoveWindowでサイズ変えることも無かったみたい。<br /><br />とりあえず、時計表示のON・OFFは任意に出来るようになったので、次の段階へ・・・といきたいところですが、ちょっと前々から気がかりだった不具合が合ったので修正を試み。<br /><br />ふつーの最初からあるdefault.txt起動で時計表示したまま画面回転させると、表示がえらいことになるという・・・。<br />これは表示背景の問題でして、画面表示を毎フレーム更新かけてるわけですが、<br />最初の画面クリア処理をどうしてるかというと、<br />起動時の画面画像をまんま一画像として保持しておいて、<br />それを背景画像として毎フレーム書いていたわけです。<br /><br />透明ウィンドウってのがWindowsMobileで存在しないのでとっている手段なわけですが、<br />これがアドエスの画面回転が起こったときにチト問題。<br />だってねぇ・・・最初に作った背景用画像を変えてないから・・・縦横とかそもそもサイズあってないし・・・。<br /><br />てなわけで対策としては、画面回転が起こったときに背景用画像を作り直し、なわけですが<br />背景だから、それまでの時計表示を非表示にした状態で縦横変わった画像を取得しないと<br />・・・てなことで、色々試したけど結局表示OFF→表示ONの手順を踏むことに。<br />これ動作フレーム1Fからになるんだよな・・・つまり最初から起動しなおししてるのと同じ。<br />あと、画面回転を判断するイベントがよくわからんというか、WM_SIZEってウィンドウサイズが変わったことで判断するみたいなんですが、<br />このイベント、画面回転時以外でも発生するときあるんだよな・・・色々調節したけど、うん・・・コレは試行錯誤まだいるな・・・。<br /><br />てなわけで、少しだけ進められたよ・・・。<br />こうしてみると結構大変になってきたな・・・特に画面回転ってうまく取る方法ないのかねぇ?メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-72552123609934599832007-09-23T14:57:00.000+09:002007-09-23T15:49:28.272+09:00常駐ルーチン作成中要望として、サスペンド復帰時に自動起動して欲しい、ていうのがありまして<br />確かにそれ便利ね・・・と思うので、作成に挑戦。<br /><br />とりあえずやることは・・・プログラム上で時計の起動・終了を可能とする辺りから。<br />今はプログラム起動で問答無用で時計出して、クリックとかで問答無用でプログラム自体の終了をする状態なんですな。<br /><br />んで、ソースの各種処理関数の位置を色々修正して・・・つまりは整理整頓。<br />それから時計非表示状態の時は使用メモリを極力使わないように、ってことでメモリ確保と開放の処理を組み込み。mallocとfreeですな。<br />ついでに時計表示時の変数の使い方とかメモリ確保の処理も色々修正したところ<br />通常起動している状態で消費メモリが5MBほどだったのが2MBちょいまで減少。<br />モバイル機の搭載メモリを考えると・・・結構メモリくってたのね・・・。<br /><br />さて、常駐する・・・てことで、常駐させる方法としては起動時の引数を用意する形に。<br />引数なしで起動したときは、これまでの時計表示→画面タップで終了の流れを保持しつつ、<br />常駐用の引数をもって起動したときには、たとえばmode=1として常駐モードとして起動。<br />常駐モードの時は、時計はいきなり表示させない状態に。<br />でも時計表示出さないと画面タップでの終了が出来ないので、常駐モード起動の終了方法としては、常駐モード用引数による多重起動で終了という形に。<br />多重起動判定ルーチンを利用して、多重起動したときに元のウィンドウに独自にイベントを発行してやることで判定です。<br />こんな感じ↓<br />PostMessage(hwnd, WM_DUPEXEC_NOTIFY, ExecMode, 0);<br /><br />んで、多重起動モードではイベント受け取るために目に見えないウィンドウを作成するわけですが(MoveWindow( hWnd, 0, 0, 0, 0, FALSE );でサイズ0にしてます)、このままだと起動してるかも分からないので、タスクトレイにアイコンを表示することに。<br />こんな感じ↓<br />Shell_NotifyIcon(NIM_ADD, &nid);<br />ちなみに終了時は↓で表示解除。<br />Shell_NotifyIcon(NIM_DELETE, &nid);<br />タスクトレイに表示されているアイコンに対しては、クリックするとかでイベントを送ったりも出来ますが、<br />とりあえずこの状態で時計を表示したり、非表示にしたりの繰り返しが出来るように試しているところ・・・で今現在止まっております。トライアンドエラーでココまで来ておりますが・・・意外と大変ですなぁ・・・初めてのプログラムで知らないことだらけだから・・・まぁ、やりがいはあるですが~。<br /><br />さて・・・次はいつソース触れるだろうか・・・最近実生活が忙しくなりそうな匂いがしてるからなぁ・・・。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-40660805305492422092007-09-20T22:04:00.000+09:002007-09-20T22:39:49.626+09:00画像読み込みの作成さて、次なる機能として<br />BMP以外にもPNG・JPG・GIFファイルを読み込めるようにしてみよう、という事をしてました。<br /><br />BMPしか読めないというのも、サイズ的な見地からちょっとよろしくは無いわけでして<br />例えばアドエスの解像度全開サイズ(480×800)の32ビットBMPファイルを作ってみると、<br />画像1つで1.4MBとかいっちゃうわけで、<br />携帯端末でそんな、アフォですかとかいわれちゃうわけで、<br />そんなわけで、他のファイル形式も読めるようにしなくては~なわけです。<br /><br />んで、参考ページ見るに、SHLoadImageFile関数を使えば読み込める、という事なので<br />ふふん楽勝じゃん、てな感じで入れ込んで見たけども・・・ひっかかった。<br /><br />コンパイルエラー発生、参考しても見つかりませんでした・・・てな感じの。<br />ちょっと調べて、あぁ、#include <aygshell.h>が必要なのか・・・で入れてみたら、<br />今度はコンパイルは通ったみたいだけど、リンクエラー発生。<br />え~、ファイル無いの?とか思って検索掛けてみたけど、ふつーにファイルあるし、パス通って無いのかとか色々試してみたけど、うまくいかず。<br />で、散々ググったりなんだり色々参考ページとかソースとか巡っているうちに、MFCのファイルだっけかstdafx.hとかあたりに記述っぽいのが。<br /><br />結局#include <aygshell.h><aygshell.h>の次の行に<br />#pragma comment(lib, "aygshell.lib")<br />と書く事で、ビルドできるように。<br /><br />なんだろうねこれ。よくわかんない辺りまだまだプログラマとして日が浅いなぁと思うのでした(苦笑)。<br /><br />何はともあれ、コレでさっきの関数が使えるようになってPNGファイルとか読み込めるようになったので、表示周りを色々試して見ましたが、ちと微妙に不都合と言うか<br />PNGファイル読込での半透明表示だと、透過色設定とか透過PNGとか効かないんだな・・・という事が。<br />おそらくは読み込んで作成されるビットマップの形式によるものだと思われるんだけど、<br />コレも色々試したんだけどイマイチうまくいかないというか、結局画像四角全部が色に関係なく半透明して表示されるということに・・・。<br />単純な描画なら透過色を指定して、色抜き描画が出来てるんだけどねぇ・・・。<br />とりあえずは、BMPとそれ以外で使用する関数変えて、BMPだけはαチャンネルが表示に効くようにする形でやることにしようかな、と。<br /><br />てな感じでBMP以外の画像ファイル読込の作成を行いました。<br />いやぁ、トライアンドエラーというか、初めての作成ってやっぱ大変だなぁ・・・。<br />まぁ、これもまた勉強ですが、が、が。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-57032942141236239872007-09-19T00:01:00.000+09:002007-09-19T00:31:33.312+09:00PopClock Ver.1.2PopClock Ver.1.2<br /><br />修正点は以下の通り。<br />Ver.1.2 2007/09/18<br /> ・CABインストールファイルの作成を行いました。<br /> ・コマンドラインに-f (ファイル名)と入力することで、使用する設定ファイルの選択が出来るようになりました。<br /> ・設定ファイル内「表示設定」の他発生データ№に乱数範囲を持たせられるようにしました。<br /> ・その他バグ修正。<br /><br />CABファイルによるインストールとZIPファイルによるファイルデータの2種類を用意します。<br />CABファイルの方は、インストール・アンインストールを自動処理してくれますが(アンインストールはアプリケーションの削除から)、<br />ファイル設置先は自動的に設定され、設置ファイルは毎度問答無用で上書きされます(下記注意書き参照)。<br />ZIPファイルの方は手動でコピーするので、上書きファイルを自分で選択できますが、<br />インストール個所の管理やアンインストールの削除は自分で行う事になります。<br /><br />どちらを選んでも自由ですが、どちらにせよ自作で設定ファイルや画像を用意していた方は<br />自作ファイルをバックアップしておく事をお勧めいたします。<br /><br />CABファイル形式は、<a href="http://www1.plala.or.jp/meizing/app/PopClock_1_2.CAB">こちら</a>。<br />ZIPファイル形式は、<a href="http://www1.plala.or.jp/meizing/app/PopClock_1_2.zip">こちら</a>。<br /><br /><strong><span style="color:#ff6600;">※注意書き</span></strong><br /><strong><span style="color:#ff6600;">CABファイルのインストール先は、指定デバイス内の\Program Files\PopClock\になります。</span></strong><br /><strong><span style="color:#ff6600;">同じフォルダに同じファイル名のものが存在した場合、自動的にインストールデータで上書かれてしまいますので、必要なファイルがある場合は別フォルダにコピーするなど、バックアップを行ってください。</span></strong><br /><strong><span style="color:#ff6600;">上書き対象のファイルは、exe本体・readme・default.txtを含む00~04の設定ファイル・bmpフォルダ内の数字/:球×2と四角画像、です。</span></strong>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-41624808440729426452007-09-18T22:36:00.001+09:002008-12-10T06:17:15.019+09:00唐突に、ゆうはん<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFVKRu5bxye5nGukKZ2rR6KlM1bKo8OCkJJVBVl80-zyraHopolSqmMZhQ20mvStcGf1YJKJkFiHfzbxui43Wn4w_qTg_9kXUBqaTl9plQtRKpKb8S6UEOW1U6WiTrnP00I0Lq2agXwI/s1600-h/070918-212413.jpg"><img id="BLOGGER_PHOTO_ID_5111537864518057842" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfFVKRu5bxye5nGukKZ2rR6KlM1bKo8OCkJJVBVl80-zyraHopolSqmMZhQ20mvStcGf1YJKJkFiHfzbxui43Wn4w_qTg_9kXUBqaTl9plQtRKpKb8S6UEOW1U6WiTrnP00I0Lq2agXwI/s320/070918-212413.jpg" border="0" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk0gukz1J8ozweQ5gmiWNw8V5I2OkkYUSNtNEgt-xZJK00Q1JEUMysEl60TiqR39wJCTASNEKl1pR-3XbcbaX82dgKzj0ykwlp1kLjaATOw5GGITh1JlcEi2o428PChcj9O3Gcqdgvw3M/s1600-h/070918-213457.jpg"><img id="BLOGGER_PHOTO_ID_5111537873107992450" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk0gukz1J8ozweQ5gmiWNw8V5I2OkkYUSNtNEgt-xZJK00Q1JEUMysEl60TiqR39wJCTASNEKl1pR-3XbcbaX82dgKzj0ykwlp1kLjaATOw5GGITh1JlcEi2o428PChcj9O3Gcqdgvw3M/s320/070918-213457.jpg" border="0" /></a><br /><br />帰り道にふと入ってみる。<br />見ての通り中華定食屋で、名前は「三番」<br />なんちゅーか、えらく謙虚な名前だな・・・。<br /><br />んで、写真はチャーハンと半ギョウザ。<br />あまりにスタンダードで言う事も無いですが(笑)、たまにはこういうのもいいものです。<br />味の方も想像どおりだから、期待は裏切らなくていいですぞっ。<br />まぁ、ギョウザの方は結構特徴あるから、くせにはなります。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-74995685239561045912007-09-18T19:20:00.000+09:002007-09-18T19:36:58.659+09:00またまた一段落したよ~。残作業の方、すこしずつ作っておりました。<br /><br />まず、起動パラメータによる設定ファイルの選択起動。<br />アプリが始まる時に最初の関数にコマンドライン引数が渡されるので、<br />その文字列をチェックして色々処理する、てな感じ。<br />// アプリケーションのエントリポイント<br />int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR lpCmdLine, int nCmdShow)<br />の3つ目の引数ですな。<br />ファイル名を取り込めるようにして、読込に行くファイルを設定・・・と。<br /><br />次、CABインストールファイルの作成。<br />これは、CABファイルを作成するためのプロジェクトを新規作成する事に。<br />「スマートデバイスCAB」プロジェクトってのを選んで、後はウィザードに従っていく、と。<br />んで、CABに含めるファイルを指定して、それらをインストール時に何処のフォルダに配置させるかを入力していくって感じ。<br />基本的に処理本体その他諸々は\Program Files\PopClock\に入る事になるわけですが、<br />・・・どうしても問答無用に上書きされることになるみたいなのね~。<br />独自に作成した設定ファイルとか画像とか同じ名前で同じフォルダに存在したら、<br />問答無用で上書きされるわけで、<br />これは・・・色々考えたけど、注意書き書くしかないかなぁ・・・と思うのでした。<br /><br />あとは、ちょこちょこっと修正事項を加えて、とりあえず一段落ですので<br />Ver.1.2の準備に取り掛かるですよ~。<br /><br />単純に使用するのは恐ろしく簡単なんだけど、<br />作りこみにこだわっていくと、結構複雑だよなぁ・・・と思う今日この頃。<br />一度解説ページ作らないといけないかなぁ、と思うのでした。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-51757200559785280152007-09-15T10:53:00.000+09:002007-09-15T10:57:38.968+09:00作業ピックアップその2<p>さて、現在の残作業をピックアップ。</p><li>CABインストール化 <li>.png.jpg.gifを読み込み表示できるように <li>起動パラメータによる設定ファイルの選択読み込み </li><li>処理軽量化 <li>音声イベント再生</li><p>特にCABインストール化は、ソフト登録しているWindowsCE FANの登録形式が何気にリニューアル掛かってて、CABファイルでないと登録移行できない感じなので、早々に対応しないとなぁ・・・と思ってたり。</p><p>あとは他にソフトウェア登録できる所ってあるかしら?</p>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-7706869449193567312007-09-15T10:27:00.000+09:002008-12-10T06:17:15.335+09:00PopClock Ver.1.1<div>PopClock Ver.1.1、アップ致します。<br /><br />まずは修正点。<br />Ver.1.1 2007/09/15<br />・テキストの表示及び各種図形の表示が行えるようになりました。<br />・背景色が指定できるようになりました。<br />・設定項目の増加により設定ファイルの書式が変更されました。<br /><br />設定ファイルの改修によってVer1.0で使っていた設定ファイルは、<br />修正しないと使用不可になります。<br />一応readme.txtに変更部分を載せておきましたが、<br />サンプル見て修正していくほうがいいかもしれませんね。<br /><br />で、今回機能を利用したサンプルを、ざっくりとした作りですが2つ用意しておきました。<br />それぞれ概要は、<br />default_03.txt・・・文字列表示機能を使用。内容は突っ込み不可の方向で(笑)。<br />default_04.txt・・・図形を使った表示デモ。割と適当に作ってます。<br />使用の際は、例の如くリネームしてください。<br /><br />とりあえず、コレで表示周りの機能はほぼ完了かと。<br />設定ファイルも書式的に大きく仕様変更することは・・・多分無い・・・かな?。<br /><br />ダウンロードは、<a href="http://www1.plala.or.jp/meizing/app/PopClock_1_1.zip">こちら</a>。</div><br /><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6srVCcMXgy4exR1EU_xDqSyw39KVVdCEZmp2Aa4y6tUjQXgVw_H1xMkxl7oyTrRvrSll1nFNFWiccP4ecwS1owDrnhfkiaWIYxf8vrrYGOFCw3I_qqUYtMPyiMWRSK0JTQ7R3l8VRq68/s1600-h/20070915_1.jpg"><img id="BLOGGER_PHOTO_ID_5110244585440722770" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6srVCcMXgy4exR1EU_xDqSyw39KVVdCEZmp2Aa4y6tUjQXgVw_H1xMkxl7oyTrRvrSll1nFNFWiccP4ecwS1owDrnhfkiaWIYxf8vrrYGOFCw3I_qqUYtMPyiMWRSK0JTQ7R3l8VRq68/s320/20070915_1.jpg" border="0" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCRJDNwUTWx2dEY99crTYSIfQFbs8iFEonvFam_AApiXWAQDtgi_puov-FeRpcG7JufMg2kNwiTc2adjxnV07mYR0crLaeK6mIUv4-5be_TlPBLxwMsXTVfJhhmFJVOwj_x8U89CRbljE/s1600-h/20070915_2.jpg"><img id="BLOGGER_PHOTO_ID_5110244589735690082" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCRJDNwUTWx2dEY99crTYSIfQFbs8iFEonvFam_AApiXWAQDtgi_puov-FeRpcG7JufMg2kNwiTc2adjxnV07mYR0crLaeK6mIUv4-5be_TlPBLxwMsXTVfJhhmFJVOwj_x8U89CRbljE/s320/20070915_2.jpg" border="0" /></a></div>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com2tag:blogger.com,1999:blog-1807098920603500501.post-31600843253141289422007-09-15T00:52:00.000+09:002008-12-10T06:17:15.513+09:00さて、ひと段落<div>図形表示の残り、直線と多角形も出来ました。</div><div>んでまた、色々テストしつつサンプル作って公開に向けてがんばってみるです。</div><div></div><br /><div>サンプル・・・どうしよ・・・</div><div>何気に色々出来る分、逆に悩んでしまうな(汗)。</div><div></div><br /><div>んでもってテスト中のスクリーンショット。</div><div>さらに、カオス。</div><div></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix9AxbqFEwhkK2ucbjD5B6affRinPMD-hyDpN_VDRjnV882nUc0wg15IjagMj0vFWXuEvjLGBvMIHHfQxdZBLGP8oHOFTT4EBPw7EE4gAHMcc_HiCBSzwkLVrbTj8zLLYgA4Sf2FapFPQ/s1600-h/20070915.jpg"><img id="BLOGGER_PHOTO_ID_5110092904375697218" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix9AxbqFEwhkK2ucbjD5B6affRinPMD-hyDpN_VDRjnV882nUc0wg15IjagMj0vFWXuEvjLGBvMIHHfQxdZBLGP8oHOFTT4EBPw7EE4gAHMcc_HiCBSzwkLVrbTj8zLLYgA4Sf2FapFPQ/s320/20070915.jpg" border="0" /></a><br /><div></div>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-77507732534503177072007-09-14T03:15:00.000+09:002008-12-10T06:17:15.663+09:00文字列導入と、図形表示づくり<div>結局文字列のcharとWCHARのやりとりは</div><div>MultiByteToWideChar(CP_ACP, 0, l_char, j, l_wchar, 256);</div><div>てな感じで、この関数使えばうまくできそうす。</div><div></div><br /><div>んで文字列表示と図形表示のプログラミングをちまちまと進めておりました。</div><div>文字列表示はDrawText関数でやって、サイズは論理フォントの作成により指定、色はSetTextColor関数で行います。</div><br /><div></div><div>文字列表示を組み込んだので、次は図形表示にとりかかり。</div><div>まずは四角形と円から。</div><br /><div>四角形がRectangle関数、円がEllipse関数。</div><div>サイズは関数の引数で決まって、色をつけるのはペン(枠色)とブラシ(中の色)の設定で行います。</div><div>関数はそれぞれ、CreatePenとCreateSolidBrush。引数で色が決定です。</div><div>作成したペンとブラシをSelectObject関数で描画DCに設定して、その後RectangleとかEllipse関数発行すると、色が指定したもので書かれる、と。</div><br /><div>ちなみに作ったペンとブラシはDeleteObject関数で忘れず削除です。</div><br /><div></div><div>で、設定ファイルで描画できるように書き方とか作ってましたが、</div><div>何気に一部で、図形の時だけこういう書き方・・・みたいなのがどうしても発生するなぁ、と。</div><div>果たして設定ファイル破綻しませんように・・・。</div><br /><div></div><div>この後は、線分と多角形の表示に挑戦です。</div><div>明日、公開にまでこぎつけられるかなぁ・・・?</div><br /><div></div><br /><div>下の画像は、テキストと図形を組み込んだテスト中の画面を取ったもの。</div><div>なんちゅーか、カオス(笑)。</div><br /><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjakzifCDp5OhPss3KR85jXKQUQ9pnlsKL99YxWjImLFHuLlb0VblJQARzXW5EnPRwD6AYpPMn8dy1aQLPJQS9E0fRUMFKlG2IM-AVBS5StgOuF69MRBvES8QLBuuDapPYbpv1fLJ6_E38/s1600-h/20070914.jpg"><img id="BLOGGER_PHOTO_ID_5109760040115289906" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjakzifCDp5OhPss3KR85jXKQUQ9pnlsKL99YxWjImLFHuLlb0VblJQARzXW5EnPRwD6AYpPMn8dy1aQLPJQS9E0fRUMFKlG2IM-AVBS5StgOuF69MRBvES8QLBuuDapPYbpv1fLJ6_E38/s320/20070914.jpg" border="0" /></a></div>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-79949318548876846972007-09-13T14:08:00.000+09:002007-09-13T14:12:24.849+09:00ページをカスタマイズどうにも前のつかってたテンプレートでは横幅が狭いなぁ・・・思ってて、<br />ちらちらっとカスタマイズ項目みてたら、ふつーに横幅あるテンプレートあるんだね。<br /><br />せっかくなのでちょこちょこっとページレイアウト整えてみましたですよ。<br />横幅広くなって大分落ち着いた感じかな。<br /><br />ブログやり始めて間もないから、まだまだ試行錯誤ですよ~。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-9648055990150044202007-09-13T00:54:00.000+09:002007-09-13T01:10:42.921+09:00文字表示作成中文字列表示の為に色々調べておりましたよ。<br />とりあえず出来そうなのは大きさ指定と、色指定ってとこでしょうか。<br />半透明はなさそうね・・・。<br /><br />で、これを表示するための設定ファイルのパラメータの策定ですが・・・<br />現状を利用しつつ表現可能にするには、パラメータ項目を増やさないといけなくて。<br />ごめんちゃい設定項目ふえちゃったよ。<br />特に@setのトコ36項目だったのが46項目になる予定す(笑)。<br /><br />たぶん、今回のと後でつける図形の表示がつけば、そうそう項目が変わることはないとは思っておりますが・・・。まぁ、書き加えで修正できるレベルだから多めに見ていただけると~(^^;。<br /><br />で、コーディングを進めておりますが、何かWindowsMobileって文字列の扱いが特殊というか、特定の型でないといけないみたいね・・・。<br />UNICODEがどーとかいう事らしいのですが、WCHARとか使っていかなくてはならなくて。<br />いまchar型に格納されてる文字列をWCHAR型として表示関数に渡さないといけないのだけど、<br />なんちゅーか、うまいこといってないというか、ちゃんと渡ってないんだよなぁ・・・特に2バイトな日本語字をがうまいこと表示できてないのでした。<br />明日はとりあえず、解決策が見つかるとええのう・・・。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-71354764802251732722007-09-13T00:27:00.000+09:002008-12-10T06:17:16.181+09:00夕飯話<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dtihGMUo4P1iKID8m9SBmLrgQm5vE0FUkd3OzCmz3WtTvCin53zQ8JkjFFXDTPtAFNOHLbgbJU6Ve7WST_aaO53VUkmYc_4zlagiVAzF8sEIlw2baqt3EaShGmRPgXtP1pIeS1HslXw/s1600-h/070910-212402.jpg"><img id="BLOGGER_PHOTO_ID_5109340731048115986" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dtihGMUo4P1iKID8m9SBmLrgQm5vE0FUkd3OzCmz3WtTvCin53zQ8JkjFFXDTPtAFNOHLbgbJU6Ve7WST_aaO53VUkmYc_4zlagiVAzF8sEIlw2baqt3EaShGmRPgXtP1pIeS1HslXw/s200/070910-212402.jpg" border="0" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwBdjrNz_R8GHq2oh3Mt4jdbi8Yyf0ngifuT_m0jW1B89RBbdWB3p0_8SFxkUkyyQaF_G5ZCOTSpFMIuCkwyHhD3KyvwE_LpprB0wnAaTw3fDO4abLZVLOTE8Pq_hGWcRcBaSiIgZ7SR8/s1600-h/070910-213802.jpg"><img id="BLOGGER_PHOTO_ID_5109340735343083298" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwBdjrNz_R8GHq2oh3Mt4jdbi8Yyf0ngifuT_m0jW1B89RBbdWB3p0_8SFxkUkyyQaF_G5ZCOTSpFMIuCkwyHhD3KyvwE_LpprB0wnAaTw3fDO4abLZVLOTE8Pq_hGWcRcBaSiIgZ7SR8/s200/070910-213802.jpg" border="0" /></a><br />新宿のカレーうどん屋、千吉でございます。<br /><br />ここはいわゆるそば屋とかで出てくるダシの効いたうどんとはちがって<br />ミルクが含まれているようなクリーミーな味わいが良いというか、<br />まさにカレーうどんというのを1ジャンルと出来る独自の味わいを持っております。<br />前に名古屋に行ったときに、最近の名古屋名物としてあったカレーうどんを食べましたが<br />つまりはああいう流れですわね。<br /><br />さて、このカレーうどん。個人的に思うステキな食べ方があって、<br />もともとカレーうどんを普通に頼むと、カレーうどんに加えてご飯が付いてきます。<br />大きさ的には両方食べて1食分の量でして、テーブルにある食べ方の説明書きには<br />「うどんを食べた後、おもむろにご飯を入れて食べるべし」とあります。<br /><br />当然、作法どおり食べて美味しいわけですが、個人的にはトッピングとして<br />チーズと温泉たまごをつけることをオススメ。<br /><br />まず、アツアツなので溶けたチーズと絡めて食べるうどんがステキ。<br />この時出来るだけ温泉たまごを崩さないようにして、<br />うどんをひとしきり食べた後、おもむろにご飯を入れ、ここで温泉たまごを裂くと・・・<br />その瞬間、卵の黄身とチーズとご飯とカレーがあいまって・・・至高の食品が出来ます。<br />これがまた・・・ドリアというか雑炊というかなんちゅーか・・・うまいんだわ。<br /><br />ま、何はともあれ機会があったら試してみるべし~。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-90805335239740836002007-09-11T19:21:00.000+09:002007-09-11T19:34:16.518+09:00今日もチョコチョコと機能追加に向けてソース触っておりました。<br /><br />まず、背景クリア色設定。<br />毎フレームの最初に描画領域を塗りつぶせばOK。<br /><br />で、色を指定するって事で、独自に作成するブラシというのが必要になります。<br />ペンとブラシってのが、Windowsプログラムの経験が今まで無かったからあんまり概念的にピンとこなかったりしてたわけですが、<br />つまるところ塗りつぶし用の設定データって感じでしょか。<br /><br />ブラシをCreateSolidBrush関数で作って、SelectObject関数で作ったブラシをDCにセット、PatBlt関数で描画することで、毎度上書き描画できる、と。<br />ちなみに最後にDeleteObject関数で作ったブラシを削除することも忘れずに。<br /><br />てな感じで導入しました。<br /><br />んで、次にテキストデータの描画ですが・・・単純な描画は分かったけど、他にどんなことが出来るか調査中です。<br />どんな設定方法にするかも考えないとねぇ~・・・ちらっと触ってみるに、コレも結構重い処理な気がするのが泣けるでする。<br /><br />とりあえず、テキストと図形の描画が出来るようになったらアップデートかける予定ですよ~。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-16620652308875166362007-09-11T10:39:00.000+09:002007-09-11T10:45:40.697+09:00作業ピックアップPopClockをいったん公開したわけですが、作っているうちにまだやりたいことが出てきたので<br />その作業分をピックアップ。<br /><ul><li>背景クリア色設定</li><li>図形描画</li><li>テキスト描画</li><li>起動パラメータによる設定ファイルの選択読み込み</li><li>処理軽量化</li><li>音声イベント再生</li></ul><p>こんな感じでしょうか。<br />あぁ、そういえば解説ページとかも作ったほうがいいよなぁ。<br />何はともあれ、出来るところからチマチマやっていこうかと思っております。</p><p>ソフトを使っておられる方で、要望等あればメール等でご一報を。</p>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-31206591264321871252007-09-10T23:33:00.000+09:002008-12-10T06:17:16.600+09:00PopClock Ver.1.0<div>一般公開用として、当初考えてた処理を一通り搭載したものをアップしました。<br /><br />今回は設定ファイルのサンプル&画像も用意しました。<br />それぞれ概要は、<br />default_00.txt・・・基本となる時計表示のみの設定。解凍時点でのdefault.txtはこれと同じ。<br />default_01.txt・・・時計表示&球体広がりの表示。いっぱい弾出してみた。<br />default_02.txt・・・時計表示&白球を上から降らしてみた。雪っぽく。<br />使用の際は、リネームしてくださいませ。<br /><br />とはいっても、設定次第で色んな動きや見え方をすると思うので色々試してみてください。<br />あとは・・・readmeで。あんまり分かりよい説明ではないですが・・・。<br /><br />ダウンロードは、<a href="http://www1.plala.or.jp/meizing/app/PopClock_1_0.zip">こちら</a>。</div><div> </div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyhkWF7ZmcPZFwEM6RX7yIZTRcL11Uqy0B3Xn-eb_xBKdbbfavsH0AOiopHzB5h3u3qM4-EPy_tCbt-q9kOCe4PP2AU6Rl6y2mNsgbraGqnxfAwu0H2yCKukufMcQoUhMTik4QhayBdXQ/s1600-h/20070910_01.jpg"><img id="BLOGGER_PHOTO_ID_5108591653827587442" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyhkWF7ZmcPZFwEM6RX7yIZTRcL11Uqy0B3Xn-eb_xBKdbbfavsH0AOiopHzB5h3u3qM4-EPy_tCbt-q9kOCe4PP2AU6Rl6y2mNsgbraGqnxfAwu0H2yCKukufMcQoUhMTik4QhayBdXQ/s320/20070910_01.jpg" border="0" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTzMxKLdWVgotxX0tdFKlvLc7HAoiZ-wwm40r_fe3VF_oN0mAVHxaqR3bb4peVrgQHUyM049LpwmGKzjtElDDeIrTDt3DqYjSevOpu2sgU8LSe5y3M776buOgdlUrZI2mQJGpJR4T8HZE/s1600-h/20070910_02.jpg"><img id="BLOGGER_PHOTO_ID_5108591666712489346" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTzMxKLdWVgotxX0tdFKlvLc7HAoiZ-wwm40r_fe3VF_oN0mAVHxaqR3bb4peVrgQHUyM049LpwmGKzjtElDDeIrTDt3DqYjSevOpu2sgU8LSe5y3M776buOgdlUrZI2mQJGpJR4T8HZE/s320/20070910_02.jpg" border="0" /></a>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com2tag:blogger.com,1999:blog-1807098920603500501.post-16818429788598757412007-09-10T19:15:00.000+09:002007-09-10T19:30:46.410+09:00未完成だった残機能を導入したよPopClockの方、まだ出来ていなかった他データ発生時値引継ぎと、α半透明描画を作成。<br />パラメータを見て慎重に・・・。<br />あと、ひそかにバグもあったので修正、と。<br /><br />んで、一通り触って大体OKそうなので、いったんVer.1.0として公開してみます。<br />もう1.0ですかい、と言いたくなりましたが・・・ま、いっか。当面作ろうとしていた物は一通り出来たし。<br />サンプルも3つほど突っ込んでおきました。<br /><br />ちゅーわけで、家戻ったら公開するっす。<br />その後でソフトウェアページとかにも登録に挑戦してみるですよ~。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-71704282779687151422007-09-09T02:08:00.000+09:002008-12-10T06:17:16.764+09:00PopClock ver. 0.1aPopClockテスト版の公開です。<br /><br />とりあえず、簡単に体裁だけ整えた&ひとしきりの説明を加えたテキストを突っ込んでおきました。<br />テスト版なので、色々足りない事とかあるです。cabインストールとかじゃないしね・・・。<br />あと、テスト公開なので、どこかのソフトウェアライブラリ的なページとかへの登録はまだです。<br />さらに、テキストに書いてありつつ発生時の値引継ぎという機能はまだ未実装になります。<br />あ、そういえば画像半透明描画もまだ組み込んでなかったや。<br /><br />ソフトの性格として、設定項目いじること前提でありながらパラメータ多くて何かと大変なものではありますが、<br />どういうソフトか触ってみたい・・・という奇特な方はどうぞ~。<br /><br />ダウンロードは、<a href="http://www1.plala.or.jp/meizing/app/PopClock.zip">こちら</a>。<br /><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuid4nywp3mhEN7SX2ENRCLfqD9eAPVOvH31MZOk2rngq23t5tNtFjwClKya1HdxP4J2RQ9qAEVfdr3KjsyihiNr7BLtk1joG3SK6b6ELCJ13wFA7LzQopqYFTYoGVPqv3wjlcJmWAmig/s1600-h/prsc20070908.jpg"><img id="BLOGGER_PHOTO_ID_5107962621507349858" style="CURSOR: hand" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuid4nywp3mhEN7SX2ENRCLfqD9eAPVOvH31MZOk2rngq23t5tNtFjwClKya1HdxP4J2RQ9qAEVfdr3KjsyihiNr7BLtk1joG3SK6b6ELCJ13wFA7LzQopqYFTYoGVPqv3wjlcJmWAmig/s320/prsc20070908.jpg" border="0" /></a>メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-80867886069139499062007-09-08T10:25:00.000+09:002007-09-09T02:32:28.025+09:00・・・とりあえず出来た。あれから、パラメータ作って<br />あとは足し算引き算した結果でもって、描画するように設定。<br />関数まとめて順番に処理するようにすればOK。<br />・・・てな感じで、まずはざっくりとしたものが・・・出来てしまいましたな・・・。<br />まさかこんなあっさり進むとは。<br />といっても何ぞ技術探したり作ったりするわけでもなく、ルーチン組むだけなんだけんどね。<br /><br />いざ軽く動かしてみた所・・・う、結構重さ的にシビアだなコレ・・・。<br />多分色々改造していかなくてはいけない気がする・・・。<br /><br />ちゅーわけで、まだテストもマトモに出来てないので簡易的な公開準備に入りますが、<br />その前にかるくフローチャートちっくに今回のソフトの処理の流れを箇条書きします。<br />(ソフト独自のトコだけ書いてくよん)<br /><br />起動→<br />ウィンドウ作成時に初期処理(設定ファイル読み込み)→<br />ファイル読み込み時にファイル内容解析(画像読み込み&パラメータ格納)→<br /><br />タイムイベントによる繰り返し処理にて→<br />現在のフレーム数とイベントデータを見比べて、画像発生タイミングなら発生処理→<br />発生している表示パラメータに対して計算処理(位置、サイズ、透明度、表示範囲、他発生)→<br />計算結果によるパラメータを使って表示関数発行→<br />表示処理へ<br /><br />あとはタイムイベント繰り返し・・・と。<br />作る道筋が見えているものに関しては、割とサクッとコーディングできるものなのよ~、と。<br /><br />というわけで、テスト版公開準備。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-42519482705252588552007-09-06T16:35:00.001+09:002007-09-09T02:33:03.033+09:00PopClock作成の軌跡~その8続きまして、ファイル読込したデータの解析について、<br /><br />読込テキストの書き方を決めておいて、パラメータとして取り込もうということをします。<br />読込みたい画像ファイル名を書いておけば、それを読込んで表示する・・・みたいなね。<br /><br />んでまぁ、コレをやるために読込テキストの書き方を決定しなくてはいけなくて、<br />パラメータの設計をひたすら考えておりました。<br />画像のID設定するとか、初期位置とか移動速度とかまぁ、色々。<br /><br />で、いざまとめてみたら入力項目えらく多くなっておりまして、特に表示設定に関しては36項目あるという・・・こんな入力やってくれる人いるんだろうか(^^;。<br />まぁ、殆どは0ですむものではあるんだけどね。。。<br /><br />前回作った読込処理でchar型の文字列データが得られます。<br />ここから数字としてとか、文字列としてとか引っ張り出してくるわけですね。<br />たとえばこんな感じで数字引っ張り出して、用意したパラメータ項目につっこんどります。<br />// 文字列中のInt値の取得&文字列数を返す<br />int SetInt(char *lp_str, int *l_int)<br />{<br />char buf[256];<br />int i = 0;<br />// ,か改行か終了位置まで見る<br />while (lp_str[i] != '\0' && lp_str[i] != '\r' && lp_str[i] != '\n' && lp_str[i] != ',') {<br />buf[i] = lp_str[i];<br />i++;<br />}<br />// 終了文字<br />buf[i] = '\0';<br />*l_int = atoi(buf);<br /><br />return i;<br />}<br /><br />atoi関数使って数字を得ております。あと文字列数取るのは文字列の開始位置ポインタを進めるためとなっております。<br /><br />というわけでファイルからパラメータをもらってくるという処理を作った所で、<br />ココまでが現在の進行度具合であります。<br />ココから先はプログラム進めながら、その都度書いていくことにするですよ~。<br /><br />えーと、次何するんだっけ・・・あぁ、またパラメータ設計か・・・。<br />パラメータ種類多いと大変だな・・・てか、種類多くてちゃんとWindowsMobileで動くんだろうか、最近ちょっと不安になってきてたりする・・・(^^;。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0tag:blogger.com,1999:blog-1807098920603500501.post-76918595839893093062007-09-06T15:22:00.000+09:002007-09-09T02:33:03.034+09:00PopClock作成の軌跡~その7うん、大分現状進行度まで近づいてきましたですな。<br />続いてはファイル読込のお話。<br /><br />今回作ろうとしているソフトは、表示設定情報が書き込まれたファイルを読込んで<br />その内容にしたがって描画を行う・・・というもの。<br />スキンみたいだけど、もうちょっと動的な感じかな。<br /><br />というわけで、ファイル読込を作っていきました。<br />流れとしては、<br />CreateFile関数でファイル開いて、<br />ReadFile関数で開いたファイルの中身を取得して、取得データの処理の後<br />CloseHandle関数でファイルを閉じる、と。<br /><br />ちなみに読込むファイルの名前を、引数に入れないといけないのだけれど、<br />WindowsMobileプログラムでは、基本的にフルパスで入力せねばならず、相対パスはダメと。<br />となると、ファイルが何処に置かれるか決め打ち出来ない状況では色々不都合が。<br /><br />対策として、exeファイルのフルパスを取得するGetModuleFileNameという関数があるので、これを利用するようにしました。<br />パスとファイル名がくっついた文字列が得られるので、最後からの¥¥マークを探して<br />そこから先を消して文字列部分を取得。<br /><br />このパス文字列を使えば、exeファイル含んだフォルダが何処におかれても、そのフォルダ配下の構成さえ変わらなければ、データ読込にいけることになるわけですなっ。メージンhttp://www.blogger.com/profile/14900743506832080664noreply@blogger.com0