2006-06-01から1ヶ月間の記事一覧

BREW memory pool

BrewSmartPtr にしろ BrewArray にしろ、Deleter はメモリプールから確保しています。

BREW Array(4)

# kanoke 『(;´Д`)ガーン .length で配列長を取得できるのを期待していたのに、.length()になってしまってる(私が過去に実装したのと同じ)。残念(´・ω・`)』 メモリのことを考えないのであれば、BrewRefObject に length を付ければ一応実装出来ると思いま…

BREW Array(3)

普通に BrewRefObject クラスを継承して length をメンバに持っても、スライシングが発生してしまって、キャストがうまくいかない。

BREW Array(2)

昨日の

BREW Array

BREW で配列を扱う方法について考えてみる。 配列クラスの実装は、メモリプールからメモリを確保するのであればものすごく簡単で、単純に実装出来る。

C# から WindowsAPI コール(2)

id:melpon:20060618 のことで悩んでると…… # 通りすがり 『つhttp://www.divakk.co.jp/blog/aoyagi/archive/2003/07/16/361.aspx』 ktkr!!!! 通りすがりさんほんとにありがとうございますm(__)m

C# の本を購入

C# の本はまだ1冊もなかったので、そろそろ持ってないといかんだろうと思って購入。 Microsoft Visual C# .NETランゲージリファレンス マイクロソフト公式解説書作者: Microsoft Corporation,マイクロソフト出版社/メーカー: 日経BP社発売日: 2002/04/27メ…

C# で IME 操作をフックする

C# でウインドウプロシージャをフックする(id:melpon:20060616)でウインドウプロシージャをフック出来るようになったんですが、ウインドウプロシージャをフックしてもどうにもならない場合があります。 IME 操作中にウインドウプロシージャに送られてきた …

BREW での画像転送(3)

例えば、単純な画像転送であれば、次のようにします。

C言語による最新アルゴリズム事典

C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)作者: 奥村晴彦出版社/メーカー: 技術評論社発売日: 1991/03/01メディア: 単行本購入: 20人 クリック: 396回この商品を含むブログ (95件) を見る 次に読む本、こいつにします。 なんで辞書やねん…

ゲームプログラミングのためのリアルタイム衝突判定

ゲームプログラミングのためのリアルタイム衝突判定作者: Christer Ericson,中村達也出版社/メーカー: ボーンデジタル発売日: 2005/10/01メディア: 単行本購入: 7人 クリック: 150回この商品を含むブログ (41件) を見る 読み終わりましたヽ(´ー`)ノ 数式が…

W杯 クロアチア対日本 0-0 日本苦戦の戦犯は電通か?

http://iori3.cocolog-nifty.com/tenkannichijo/2006/06/w00_7fb9.html via: id:honestaholic:20060619#p1 これはひどい。

秀丸の正規表現置換

秀丸の置換って、\& とか書いても、元の文字列を取り出すことが出来ない。 微妙に不親切だよなぁとか思ってたけど、実はあったらしい。

C# から WindowsAPI コール

C# から WindowsAPI を呼び出すのってめんどい。 特に define 定義されている値。 全部合計するといくつあるねん。しかも OS によって違うのもあるっぽいからこいつらどうしようみたいな。 MSDN のページは Win32.〜 って書いて WindowsAPI を呼び出してるけ…

VPC でのキーボードの動作がおかしい

off

うちには PS2 接続のキーボードが2つと USB 接続のキーボードが1つあるんだけど、なぜか VirtualPC に対して PS2 接続のキーボードで方向キーを押すと、範囲選択状態になってる。方向キー限定で Shift キーが押しっぱなしのような状態。 USB 接続のキーボ…

C# でウインドウプロシージャをフックする

C# の場合、コントロールのウインドウプロシージャの動作を外部から変更出来ないし、イベントを追加することも出来ない。 だから、ウインドウプロシージャの動作を変更しようと思うと、そのコントロールを継承し、WndProc や PreProcessMessage を変更する必…

目的

ある会社に、プログラムを組むときにトリッキーなコードを書きまくる、A さんがいる。 彼の技術は非常に高い。彼にとってプログラムとは芸術であり、いかに格好良くプログラムを仕上げるかが重要なのだ。 また、平凡なプログラムを書く、B さんがいる。 彼の…

固定小数点数クラス

BREW で浮動小数点数を使うのは速度的にも容量的にももったいないから固定小数点数クラスを作ろうと思ったんだけど、出来る限りの速度とある程度の汎用性を求めるとなかなか難しい。 とりあえず必要になる固定小数点数クラスは、整数部 8bit(1+7bit)、小数…

C# で IME 操作(6)

ImmGetCompositionString() の、文字列を返すパラメータについての処理。 で、GCS_COMPSTR, GCS_COMPREADSTR, GCS_RESULTSTR, GCS_RESULTREADSTR で文字列を取得する処理は、こんな感じになる。

C# で IME 操作(5)

ImmGetCompositionString() 全般についての処理。 ImmGetCompositionString() で返されるバッファは、あらかじめ null を入れてその大きさを取得して、それからバッファを確保して、もう一度呼び出して取得する。 これは、どの ImmGetCompositionString() で…

C# で IME 操作(4)

Imm 系の WindowsAPI のラッパ関数について。 IME 操作をするためには入力コンテキストハンドルが必要なのだけれども、これはウインドウハンドルさえあればいつでも取得出来るので、速度を気にしないなら最低限しか取得しないようにしたほうがいいと思う。 …

C# で IME 操作(3)

ImmGetCompositionString() で文字の読み仮名を返してもらう場合、半角カナで返ってくるので、全角に直すための関数を用意しておく。

C# で IME 操作(2)

ImmGetCompositionString() の動作は、 http://nienie.com/~masapico/api_ImmGetCompositionString.html ここを見れば大体分かる。 でも、 GCS_RESULTCLAUSE 最後に変換を行った際の各文節の位置をバイト単位で表す、32bit整数のオフセット値の配列が、bufに…

C# で IME 操作

どうやら .NET Framework には無いみたいです(´・ω・`) Imm 系の WindowsAPI を使って wrap しますか……。

C# のコンポーネント

C++ を使ってるときは、コンポーネントなんか全然使う気がしなくて、こんなもの使うぐらいなら自分で実装してやるみたいな感じだった。 けど、C# になってからは全然違う。 むしろコンポーネントとして再利用出来ない(Control を継承していない)ような自作…

モートン キーの計算

ゲームプログラミングのためのリアルタイム衝突判定を読んでると、こんなコードがあった。 // 入力のうち低い方の16ビットを1つのビットごとに分離する uint32 Part1By1( uint32 ) { // n = ----------------fedcba9376543210 : 最初のビットの状態 // n = -…

C# でコントロールの半透明化

出来そうで出来ねええぇぇぇぇ!!! コントロールを Bitmap に変換するのは DrawToBitmap() 使えばいいんだけど、こいつは Visible を false にしてると、再描画されなくて Bitmap に変換してもちゃんと表示されないから、どこかに描画してやらないといけな…

Script on C#

CodeDOM を使えば、簡単にスクリプトを作れるような希ガス。

BREW Smart Pointer(7)

蛇足その2

BREW Smart Pointer(6)

補足。別名蛇足。