ウィンドウズメディアプレイヤーで再生中の曲を・・
再生中の曲のタイトルをクリップボードに送るプラグインを開発中。
というかほぼ完成している。
クリップボードに曲を送る
↓
プラグインオプションでファイルを呼び出せるようにしている
これで、ヤフーメッセンジャーにもほぼ自動的に曲名を送ることに成功している。
短い曲の連続だとヤフーメッセがいちいち一番上にきて(゚Д゚)ウゼェェェ けど。
投稿者 hilo : 19:07 | Program関連 | comments (0) | trackbacks (0)
MDIの子ウィンドウを(σ・∀・)σゲッツ!!
MDIの子ウィンドウのhWndを(σ・∀・)σゲッツ!!するためには、MDIの構造からまず理解しなければならない。
MDIは、親ウィンドウ、子ウィンドウだけあるように見えるが、実は親と子の間にクライアントウィンドウが存在する。つまり子ウィンドウは実は孫ウィンドウだったのである。
親ウィンドウ→クライアントウィンドウ→子ウィンドウ
のような関係である。
親ウィンドウのhWndは、GetForegroundWindow()を使って(σ・∀・)σゲッツ!!していて、この関数では、MDIの子ウィンドウのhWndをゲットするのではなくて、親ウィンドウのhWndをゲットしてしまっていた。コレはコレでいいのだけれど。そこで色々試行錯誤した結果、そのhWndから、まずEnumChildWindows()を使って、子ウィンドウをすべて列挙する。そして、その子ウィンドウのhWndとGetClassName()を使って、子ウィンドウの名前を得る。この名前が「MDIClient」だったら、前述した、クライアントウィンドウが(σ・∀・)σゲッツ!!できたということになり、このウィンドウの子供(達)が、MDIの子ウィンドウということになる。GetWindowで子供をゲットすると、Zオーダーが一番上のウィンドウハンドルを得るため、MDIの子ウィンドウのアクティブなやつを(σ・∀・)σゲッツ!!することができる。
ただ、この「MDIClient」という名前を指定しているというところが問題で、実はExcel2003だとこの名前のウィンドウを持っていなく独自のクラスでラッピングしているようなのでそういうアプリの対策が問題となる。
というか、hWndからMDIの子ウィンドウがあれば、MDIの子ウィンドウのhWndをゲットできるような関数を用意しといてくれよMSヽ(`Д´)ノ
起床:10:00
そして11:30まで二度寝
お昼に飛び起きた。集中講義が午後からだったので(´∀`lll)
→ 一般肥満・筋肉Lv5/9
お菓子食べすぎた(´・ω・`)ショボーン
投稿者 hilo : 23:57 | Program関連 | comments (0) | trackbacks (0)
MDI子ウィンドウのHWNDが欲しい・・・
多重起動のバグはシステムを巻き込む致命的バグなので、即修正してVer1.02としてアップしました。
窓の杜さんで指摘されていたMDIの子ウィンドウには効果がない・・・ということでしたが、どうにもMDIの子ウィンドウのハンドルがうまく取れない。
EnumChildWindowsを使って子ウィンドウを列挙しているのですが・・・MDIの子ウィンドウかどうか判別するのがどうしたらいいかさっぱり。実際には親ウィンドウ→MDIClientウィンドウ→MDIChildウィンドウという親子関係らしいから、親ウィンドウを指定してEnumChildWindowsを使ったのだから、列挙された中にMDIClientのhwndがあるはず。それをどうやって判定するかが問題かな。
起床:8:30
今日は久しぶりにゆっくり寝れそう
→ 一般肥満・筋肉Lv4/9
最近おやつが多いから減らさないとだめだなぁ。
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (1)
MFC-CString関連メモ
MFCを使っている時に文字列を使うなら、char型よりもCString型のほうが楽になる。
LPTSTRとかそれ系のやつはそのまま渡せるからラクチン。
◆CString型にint型の数値を入れたい。
CString型の変数に数値を入れたい時はsprintfを使わなくてもよくて、
int data = 1;
CString hoge;
hoge.Format("%d",data);
とやればよい。
◆CString型からint型に変換したい
変換するのではなく取り出す感じで。上記の逆のイメージ。
int data;
CString hoge = "12";
sscanf(hoge , "%d", &data);
とやればよい。
起床:9:30
一度遅く起きるようになるとずるずると・・・(´・ω・)y-~~
→ 一般肥満・筋肉Lv5/9
今日はさわやかに行って沢山食べちゃった(´・ェ・`) 最近エンゲル係数が高いなぁ|ω・`)
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (0)
CSocket奮闘中
こっそりできるネット対戦オセロゲームを作っている。
オセロのゲーム自体はローカルでならできるようになったのだが、Socket周りで苦戦中。ClientServer型で動作して、Clientは沢山可能。対戦者以外は観戦モードになるといったものを考えているのだが、考えながら実装しているのでコードがごちゃごちゃになってきた;y=ー(´Д`;)・∵. ターン...
一度ノートに書いてみてから書き直したほうがスッキリしそうな気が。
あと、MFCをスタティックリンクでやろうとしていたらexeが3M超えになってしまって、さすがにこれは嫌だったので共有DLLを使用するにしたら、なんと3MBoverから120KBぐらいに。MFCサイズデカ過ぎダッテ(;´Д`)
起床:9:30
今日もまだ眠かった。疲れがなかなか取れない。
→ 一般肥満・筋肉Lv4/9
今日は摂取ガロリーが多すぎた気がする。お昼生協で沢山食べたし、夜は某ナカノでタップリ食べちゃったし|ω・`)
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (1)
MFCで作ったダイアログを非表示にしたい
Google先生登録早いね。先日書いたグローバルフックの話に、グーグルからアクセスがあった。しかもそのキーワードで打ってみたら8番目に表示されてるし。ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ
たまには日記だけじゃなくて他の人の役に立つ情報も載せていくとアクセスがあってうれしいね。というわけで今日はMFCの情報を。
MFCのウィザードで作ったダイアログを見えなくさせたい時って、まず思いつくのはhogehogeDlg.cppのOnInitDialog()の中でShowWindow( SW_HIDE )を使うこと。これをやってみても何も起こらない。次に思いつくのはOnPaint()の中身を消してしまうこと。これをすると消えるには消えるのだが、起動した瞬間はベロッと一瞬見えてしまってカッコワルイ。それを回避するには呼び出し元がDoModal()で読んでいるので、hogehogeApp.cppのDlg.DoModal();をしているところをコメントアウトし、モーダルダイアログではなくモーダレスダイアログとして呼べばいい。
dlg.DoModal()
の代わりに
dlg.Create(IDD_DIALOG);
dlg.ShowWindow(SW_HIDE);
dlg.RunModalLoop(MLF_NOKICKIDLE);
を突っ込めばいいと思われる。あとはメモリリークしないようにしておくことが重要。
起床:12:00
午後一に授業あるのにお昼まで寝ててその上家を出たのはごきげんようが始まってから。学校について最後30分だけ出るかーと思っていたら同じ研究室の同じ学年の人が研究室にいて、「授業なくなったじゃん」とのこと。知らねーYOヽ(`Д´)ノ
→ 標準・筋肉Lv4/9
今日は半日寝てたのでエネルギー消費して居ないのと、運動していないので太ったのかも。
投稿者 hilo : 23:31 | Program関連 | comments (0) | trackbacks (0)
グローバルフック
キーボード入力をグローバルフックしたくて結構調べたのにあまり無かったのでメモ程度に。
フックはアプリケーションから行おうとするとローカルフックになってしまい、アプリがバックグラウンドに居る時にはフックしてくれない。これは、Windowsメッセージが上流でDispatchされてるから。スイッチングハブが上流に挟まってるのと同じイメージ。このスイッチングハブより上に行かないと自分以外のメッセージを奪い取ってくることができないけど、DLLからフックをするとなんと上流でフックすることが可能となり、グローバルフックになる。
というわけで、グローバルフックのためのDLLを作成。
プロセス間でのデータ共有をしたいので、共有メモリを使うことになります。これは初期化をしないと使えない模様。
フックハンドラ、フックしたときにメッセージを送る先のウィンドウハンドラ、そしてどういうメッセージを送るか、のための変数を用意。
あとついでにDLL自身のインスタンスハンドルを保持するグローバル変数も宣言。
//SharedDataSegment
// if shared data don't initialize , data segment don't allocate
#pragma data_seg(".shareddata")
HHOOK g_hHook = 0; // Handle of identify Hook
static UINT g_Message = -1;
static HWND g_hWnd = NULL;
#pragma data_seg()
static HINSTANCE g_hDllInst = NULL;
DLLのエントリポイントでは、先ほど定義したグローバル変数に自身のインスタンスハンドラを保持させ、後で、グローバルフックチェインに自作フックプロシージャを組み込ませるのに利用。フックしている時にアプリケーションを落とすと、プロセスデタッチが呼ばれる模様。起動は不明(未確認)
//====================
// DLL entry point
//====================
BOOL WINAPI DllMain
(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved)
{
switch(reason){
case DLL_PROCESS_ATTACH:
g_hDllInst = hInstance; // hold dll handle
break;
case DLL_PROCESS_DETACH:
// if detach a process , system call DLL_PROCESS_DETACH.
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
フックプロシージャでは、フックの開始の時に、どのhWndに何のMessageを送るかを、指定してもらい、g_hWnd,g_Messageに保持しているため、それをSendMessageしてやる。if分岐では、hWndが存在し、Messageがあるときに、フックを開始しているとしている。最後に次のフックを呼んであげることで、この自作フックプロシージャを、グローバルのフックチェインの中に組み込める。もし最後に次のフックを呼ばないと、そこでフックチェインが切れてしまい、他のアプリにメッセージが届かない、といったことが起こってしまうかも。(やったことないけど。怖いし((;゚Д゚)ガクガクブルブル)
//=========================
// Hook Procedure
//=========================
LRESULT CALLBACK KeyProc
(int nCode , WPARAM wParam , LPARAM lParam)
{
// if SetHook was called
if( g_hWnd != NULL && g_Message != -1){
// send Message to application
SendMessage(g_hWnd , g_Message , wParam , lParam );
}
// Chain to next hook procedure
return CallNextHookEx(g_hHook , nCode , wParam , lParam );
}
次は、1つ目はDLLのインスタンスハンドラを(σ・∀・)σゲッツ!!するための関数。
2つ目はアプリケーション側からフック開始を通知するための関数。これにアプリケーションのhWndとアプリケーション側で処理するメッセージが送られてくるので保存。そしてフックのインストール。今回はキーフックだけど、MSDNを見ればもっと色々なのがあるから試してみるといいかも。
3つ目はフック終了させる関数。これを呼ばないとフックされたままになってしまう。呼ばなくても再起動すればいいけど、メモリリークみたいな感じになるかも。
//====================
// Get Module Handle
//====================
HINSTANCE GetDllInstance()
{
return g_hDllInst;
}
//====================
// Install Hook
//====================
BOOL CALLBACK SetHook( HWND hwnd , UINT mes)
{
// Install hook
g_hHook = ::SetWindowsHookEx(
WH_KEYBOARD , // a kind of hook
(HOOKPROC)KeyProc , // procedure function name
GetDllInstance() , // Hooking Instance
0 );
// for Procedure
g_hWnd = hwnd;
g_Message = mes;
// failed
if(g_hHook == NULL){
return FALSE;
}
// succeeded
return TRUE;
}
//====================
// Uninstall Hook
//====================
BOOL CALLBACK ResetHook()
{
//Uninstall Hook
return ::UnhookWindowsHookEx( g_hHook );
}
昨日の日記でも書いたけど、VC++で作っていると最後の最後で大罠が待っている。アクティブな構成をリリースに変えてリリースビルドにしないとグローバルフックができない。デバッグビルドだとローカルフックだけになってしまっている。TRACEしたい時とかはデバッグでビルドして、サンプルアプリから呼び出して挙動を確かめて、ちゃんと動いていたらリリースビルドにしてグローバルフックさせるのがいいと思う。
投稿者 hilo : 23:13 | Program関連 | comments (6) | trackbacks (1)
DebugBuildの罠
今回はVC++のお話ですが、『Debugビルド』と『Releaseビルド』の二つのビルドモードを選ぶことができます。その名のとおり、前者はデバッグ時用の、後者はリリース時用のビルド(コンパイルも?)をします。
ところで、グローバルフックという便利だけれども使い方を間違えるとシステムを巻き込むフックがあります。これは、システムのフックチェインの中に自分の望むフックをぶち込むことによって、Windowsメッセージをちょっぱってくることが可能となります。つまり、自分の作成したアプリ以外へのユーザの行動を監視することが可能となります。キーロガーとか、そんな類ですな。
ここから本題。
今まで、そのグローバルフックを仕掛けるプログラムを書いていたのだけれども、1ヶ月ぐらい(暇な時間に)やっていて、一向にできる気配がない。ここ数日ちょっと詳しく調べてみていたら、実はローカルフック(自分のアプリだけのフック)はできている模様。SetWindowsHookExという関数でフックチェインに自分の書いた種類のウィンドウプロシージャを当てはめて、システムの上流からのメッセージを覗けるはずなのに、自分のしか見えてない模様。うーん、おかしい。
グローバルフックの話題、というよりもやりたいことは、他のアプリにフォーカスがあるときに、キー状態を取得する、ということだったので、オープンソースのキーロガーがないかなぁ・・・と探してみた。そうしたら、2ch系(かな?)の掲示板でそういったところがあって流し読みしていたところ、ソースがアップされているのを発見。アクセス権限がありません(;´Д`) しょぼくれてもうちょっと下を見ていくと注意事項が・・・
「リリースビルドをしないとグローバルフックになりません」
(;´Д`)
そういうことはMSDNのSetWindowsHookExとかしかるべきところに書いておけよ《゚Д゚》ゴラァァァァァァァァァァァァア!!その所為でかなり悩んだのにあっさり実装できてて、プログラム以外のところではまってたという罠。
起床:10:00
8時におきようと頑張ったけどやっぱり布団にもぐりこんでしまった。
→ 標準・筋肉Lv4/9
体脂肪率だけ増えたら筋肉Lvダウン。そりゃそうだろうけど。というか昨日は結構運動したつもりなのになんでだろ。
投稿者 hilo : 23:00 | Program関連 | comments (6) | trackbacks (0)
オセロのアルゴリズム
友人がオセロのプログラム作っているというので、便乗して思考ルーチン考案。
ついでにこんなモノも見つけたので、こいつで思考ルーチン考えることに。
とりあえず、その局面だけ見てみて、一番大きいやつを選んでくようなのをサクサクっと書いて実行・・・。
予想してたけど、最初圧勝ダケド後半にひっくり返されてむちゃくちゃ弱いし(´・ω:;.:...
で、今度は、min-max法でもやってみるかーってことで再起関数を書いて評価関数を書いて実行・・・。
さっきのに負けてるしノ(´Д`)ヽナッカリサゲ
多分プログラムミスってるんだろうけどデバッグメンドイ。
というわけで別のアルゴリズム模索中・・・
起床:10:30
学校行く前にコンビニよってデスノートとハンターハンター読んでったら学校着いたらお昼だし。( ´,_ゝ`)プッ
→ 一般肥満・筋肉Lv4/9
徐々に増えてくフェーズに・・・。今日は朝ご飯とお昼の間が近かったのでお昼を減らし・・・。そして夕飯はたっぷり食べてしまったorz
投稿者 hilo : 23:52 | Program関連 | comments (0) | trackbacks (1)
プログラムでマスク画像生成
昨日言ってたアレ。VB専用です。ご注意アレ。
CとVB両方わかる人ならCにもすぐ対応できるかと思います。メンドイから作ってないだけ。
一度書いてこのblogはZipファイルをアップできませんといわれ
書いた文章全部消えたノ(´Д`)ヽナッカリサゲ
簡単に言うとこのモジュールを使うと、黒を透過色としたマスク画像を作ることができます。
メリットとしてはデメリットとしては
- マスク画像をいちいち用意する必要がない
- マスク画像の分、ファイルサイズが浮く<
※毎回マスク画像を生成した場合
- 透過色が黒のみなので完全な黒が透過させたい絵で使えない
- BitBltに比べると2〜3倍重くなる※
が上げられます。
概要ですが、3つの関数が用意されていて、
1つ目:黒を透過色としたマスク画像作成。
(黒いところが白くなってそれ以外が黒になっているマスク画像)
2つ目:黒を透過色として画像を転送―サイズ変更なし(転送元、先のサイズが一緒)
3つ目:黒を透過色として画像を転送―転送先のサイズ変更可能(拡大、縮小可能)
お約束ですが、このソースを使って起こったいかなる障害において
私ことhiloは責任を負いませんのであしからず。
それでもいいというかたは→コチラカラ←
ご意見、ご要望、ご感想はコチラまで。[at]を@に。
hilo[at]s55.xrea.com
投稿者 hilo : 23:56 | Program関連 | comments (5) | trackbacks (1)
vb定数のヴァカヤロー!
今週の土日に大学祭があって、研究室で展示をだすのだが、
その展示の一つが、センサーをつかったゲームで、それを4年生がVBで作ってた。
去年は僕ともう1人がメインプログラマーで、がりがりと徹夜で書いていたのだが、
今年はちゃんと分業できてるみたいでなにより。ゲーム作成スキルなさすぎですが(´∀`lll)
ゲームということで、ボスキャラを出し、そのときに透過させて出したい。アニメーションもさせたい。
同じ研究室に、半年遅れで卒業し、アニメーター目指して春からアニメ学校いく人がいるので
その人にボスキャラのアニメを描いてもらったのだが・・・・
アニメーションって画像枚数多いっていうじゃない〜?
でも、全部読み込んでメモリ足りなくなっちゃいましたからッ!残念ッ!!
Access Violation 斬りッ!!
枚数多いし、一枚一枚マスク画像つくってられっかヽ(`Д´)ノ
ってことでなんとなしに白羽の矢が(´∀`lll)
一枚の画像からマスク画像を作り出せないか探していたら、Delphiのコードだけ見つかった。
Delphiあんまわかんないけどしかたないかーって見てったらWindowsAPIだらけジャン。
ってことで作ってみたけどうまく動かない(´・ェ・`)
友人にDelphierがいるので聞いてみたら、あっさり動いたとのこと。
動作確認d(゚Д゚)☆スペシャルサンクス☆( ゚Д゚)b
で、色々見ていった結果・・・・
bitmapcreateがうまくされていない・・・ん?vb定数のvbNullがおかしい・・?
そこはdelphiだと『nil』だったからvbNullにすればいいかーって思った箇所。
vbNullって値1なのかYO(゚Д゚#)
でvbNullの代わりに0を入れてもうまくいかない。調べてった結果、
nullの代わりに 『Byval 0&』を入れればいいとのこと。なんじゃそりゃ。
・・・モジュールアップしようとおもったら雷ゴロゴロなって怖いのでまた明日。
こんなのに時間とられたヽ(`(`(`(`ヽ(`Д´)ノ ウワ・ウワ・ウワ・ウワ・ウワアァァァン!!
◆朝
目覚まし:7:00
起床:9:00
今日は金曜授業だったらしいけど、聞いたの寝る直前だったし、無視。
つーか、モムーリ!o(゚Д゚)っ
◆ヘルスメーター
63.8kg 19.0% 1531kcal → 標準・筋肉Lv4/9
運動しようと思っても忙しいとなかなかできなくてしかも体疲れるね(´∀`lll)
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (1)
JinroPHP続き
本業の合間にコーディングしてるものだから激しく製作時間が短い。
まぁ人狼BBSしてるのもあるんだけど(´∀`lll)
とりあえずHTML解析ある程度糸冬 了..._〆(゚▽゚*)して、
いつでも固定のHTMLの出力の切り分けをして今日は終わり。
こんなペースじゃいつまでたってもできないな(;´Д`)
◆朝
目覚まし:7:00
起床:10:30
(´∀`lll)
いつも朝はぴんぽーんで起きる傾向にあるな。
◆ヘルスメーター
64.7kg 20.1% 1552kcal → 一般肥満・筋肉Lv4/9
なんか20%を超えると一般肥満になるらしい。
きわどいラインだな・・・・・・。
投稿者 hilo : 23:39 | Program関連 | comments (0) | trackbacks (0)
JinroPHP
人狼をみてJinroPHPバージョンの開発をしようかなぁっと思った。
人狼の処理の外見だけを見て、内部を作っていくのは楽しそうだ。
まだ、HTMLデータがどのようになっているかみているだけだけどね。
まずは普通の掲示板を作るところからかな。
◆朝
目覚まし:7:00
起床:10:30
(;´∀`)・・・うわぁ・・・
来週に研究会発表があるからそろそろ真面目に早起きしないとなぁ・・・
◆ヘルスメーター
64.8kg 19.8% 1555kcal → 標準・筋肉Lv5/9
そんなに運動した記憶ないのになぁ・・・
食べる量をもうちょっと減らして運動量を増やせばいいのかも。
投稿者 hilo : 23:33 | Program関連 | comments (0) | trackbacks (0)
DirectX 9.0 summer2004
を入れたせいでコンパイルがおかしくなた。
うが━━━━ヽ( `皿´ )ノ━━━━!!
多分こいつのせいで、シンタックスエラーが続出したりする事例ががががが。
GUIDとかもおかしかったみたい。
去年の大祭でつくったソフトがコンパイルできなくなってて
1週間後の展示用ソフトをどうしようという話ですた(´・ω:;.:...
まぁ作るのは4年だからいいけれども (゚Д゚)y─┛~~
◆朝
目覚まし:7:00
起床:10:00
ねむかったし、特に忙しいわけでもなさそうだったので
久しぶりに平日グスーリ。
◆ヘルスメーター
64.4kg 19.8% 1545kcal → 標準・筋肉Lv4/9
うーん、境目にいるのかなぁ・・・
スポーツしないといけないけど、やりたいのは
水泳、野球とか。水泳はお金払わないといかんし
野球は人が足りない罠(´・ω:;.:...
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (1)
MessageHookができない?
SetWindowHookExをつかってマウスメッセージをグローバルフックしようと
したけれども、あまりうまく行かない。
色々調べていたところ、グローバルフックしたところからPostMessageとか
SendMessageすると処理が重くなったり、Windows自体が落ちたりとかするらしい。
で、結局共有メモリでフラグ立ててそれをホストプログラムから読みに行くだけに
したけど、それだと無限ループにしないといけなくて・・・(´・ω:;.:...
VBでいうところのDoEventsみたいな処理+本当の処理をして
やってみたらうまくいくんだけど、CPUパワーが100%Σ('∀`;)
というわけで対処法探し中(´∩ω∩`)
◆朝
目覚まし:7:00
起床:7:00
朝から授業だったから。
最近休講になる授業が多い。
大学院の授業って先生趣味の授業って感じがするね。ムダ話
◆ヘルスメーター
65.0kg 21.1% 1560kcal → 標準・一般肥満
((;゚Д゚)ガクガクブルブル
徹夜してから体調おかしいし、体脂肪もあがりっぱなし(´∀`lll)
投稿者 hilo : 23:09 | Program関連 | comments (0) | trackbacks (1)
PharaohEyeうぜー
USBカメラをノートPCにブッ刺してドライバ入れたのに
静止画しか取れてない(・ω・)
で、デバイスドライバアンインスコ→インスコの繰り返し。
3時間ぐらい格闘したけど|ι´Д`|っ < だめぽ
相性問題かしら
って雷怖すぎ((;゚Д゚)ガクガクブルブル
一瞬電気ピカピカってなったし。
こわすぎだから次の項目は別の日に((;゚Д゚)ガクガクブルブル
◆朝
目覚まし:7:00
起床:7:30
朝病院いこうと思って早起きしたら休みだった罠(´・ω:;.:...
◆ヘルスメーター
64.2kg 19.3% 1540kcal → 標準・筋肉Lv4/9
徐々に体重増えてってる
投稿者 hilo : 23:54 | Program関連 | comments (0) | trackbacks (0)
DoModalうぜー
裏の処理が止められるし。
Dlg作ってそこにUSBカメラの画像を加工処理したやつをペタっと張ろうとして
Dlgの裏で処理してて、Dlgは更新だけしようとしたのに。
DoModalでやったら処理がとまって(´・ω・`)ガッカリ・・・
調べたらCreateを使えばいいとか。ナーンダ。
それなら話がはやいやーって思ったけど色々渡すものがあって
結局SetHogehoge関数つくってソレにセットして切り抜けー。
Createの前にSetしてないとAccessViolationだったけど(´・ω:;.:...
◆朝
目覚まし:7:00
起床:12:30
'`,、('∀`) '`,、
目覚ましも昨日のままだし
◆ヘルスメーター
63.5kg 19.3% 1524kcal → 標準・筋肉Lv4/9
最近、疲れてもすぐに回復する感じ。
後でドット来るときもあるけど。
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (0)
if文の罠
今日一日かけて、といっても午前中からはじめて、17:30ぐらいに見つけたバグ。
コレのせいで1ヶ月以上も悩んでた(;´Д`)
どんなバグかというと
(前略)
temp = hogehoge;
if( temp > 127 )
temp = 127;
if( temp < 0 );
temp = 0;
pImage[0][mypoint] = temp;
(後略)
というもの。
問題は2つ目のifの一番最後。
『;』 (Д) ゚ ゚
画像を処理しているときにできた値が範囲を超えてたら補正しようとしてたのだが
全部0になっているというものすごいバグ。
処理した画素はすべて真っ黒になっているという・・・
この1文字のせいで一ヶ月以上も(´・ω:;.:...
投稿者 hilo : 23:59 | Program関連 | comments (0) | trackbacks (0)
