Bitmap: Dで手軽にビットマップを扱うクラス

こちらは未完成です。 バグを見つけた方はご指摘下さると嬉しいです。 リソースやファイルからビットマップを読み込んで、 DIBSectionを作り出します。 デバイスコンテキストを持っているので、 GDIで描画できます。 ファイル書き出し機能もおまけで付けまし…

DWnd: Dで手軽にウィンドウを生成するクラス

こっそり復帰。 何年も前に作ったものだけど、こなれてきたので晒してみるテスト。 もちろん動作は無保証ですので悪しからず。元ネタは http://mkmqwerty.hp.infoseek.co.jp/programing/tips/tips_window03.html …だと思います。 5年以上前に参考にしたので…

[D言語][Regnessem][無能くん] iniファイルの読み書き

さて、そろそろファイルの読み書きをする部分を作ります。 module inifile; private import std.path; private import std.string; (略) //---------------------------------------------------------------------------// // グローバル変数の宣言 public:…

[D言語][Regnessem][無能くん] 文字列の検索

やっぱり正規表現はムリでした。(x_x) wchar[]型は使えないみたい。対応してくれないかなあ… find() もムリだったので、Phobosのランタイムライブラリを使うのは 諦める。そこで wcsstr() を使うことにした。 と言っても wchar.h がなかったので extern (C) …

[D言語][Regnessem] GetInfoサービスのラップ

無能くんは相手や状況によって辞書ファイルを自動的に切り替えることを 目標に開発されてるので、コネクションやセッションの情報を取得しないといけません。 でこんなの書いてみた。 module session; (略) public: // System/Session/GetInfoサービスをラッ…

[D言語][Regnessem][無能くん] 受け取ったメッセージのコピー

やっと文字列をコピーできました。3日もかかったよ orz extern (Windows) int OnReceiveMessage(WPARAM wParam, LPARAM lParam) { if ( !isMunokunOn ) return 0; wchar[] msgBody; PMessageInfo pMI = (PMessageInfo)lParam; msgBody.length = lstrlenW(pM…

[研究] いのち

動物室にてかえるちゃんの干物がハケーンされる。 おそらく水替えの時に逃げ出して、誰にも気づかれず そのままになっていたんだろう。あわれ。 ウチの研究室は常時20〜50匹のウシガエルを飼ってるけど、 こんなことははぢめて。 窓は全開だったけど、物陰に…

[D言語][Regnessem][無能くん] すすみません

今日はあんまり進みませんでした。 下はSystem/Session/OnReceiveMessageイベントが通知されると呼び出されるよう HookEventしておいた関数。 module munokun; (略) private: // グローバル変数の宣言 bit isMunokunOn; (略) // 返信メッセージを作成して送…

[D言語] DMD 0.86 リリース

http://www.digitalmars.com/d/dcompiler.html にて、 D言語のコンパイラ dmd.exe がアップデートされました。 ということで最新版を使ってみる。 以下リリースノートより。 What's New for D 0.86 Apr 23, 2004 New/Changed Features Added template defaul…

やっといけた

Moonさんがblogでサンプルソースを見せてくださる。 でなんか色々いぢってたら… いけました。 最初、Moonさんのコードをコピペして、それでも表示されないから 何でかなーってなってたんだけど、何となく全部のコードをコンパイルしてから リンクし直したらN…

⊂⌒~⊃。Д。)⊃ ギブアップ

一日考えたけど、やっぱりわからん。 Notifyウィンドウを表示させられないよぅ_| ̄|○ 以下コード。 module ui; import std.string; import y4d_aux.widestring; private import win32.ansi.windows; import nsmsgs.types; import nsmsgs.consts; import sys…

無能くん ver 0.0.0.1  

おかげさまで話しかけられると自動でオウム返しするプラグイン、 「無能くん」バージョン 0.0.0.1 が出来ました。 (pre Alphaにも達していないものを出来たとは普通言わない。w) さて、次の目標は偽メッセの辞書ファイルを解釈する部分を作ることです。 偽メ…

[はてな] はてなダイアリー利用者に100の質問(2004)

あなたのはてなダイアリー名を教えてください。 utautai の きままなにっき はてなダイアリー名の由来をお聞かせください。 不定期で書くのをさぼっても言い訳になるように。 あなたの「はてなID」を教えてください。 utautai 「はてなID」の由来をお聞かせ…

今日はネタがないのでこんなものを書いてみる。

今日の阪神

今日は勝った━━━━(゜∀゜)━━━━ッ!! 巨人が最下位なのがアンチとしては嬉しくてたまらない。 ごめんね巨人ファンのひと。( ̄ー ̄)+ でも今おいらの周りには妙に巨人ファンが多いんだよなあ…

UI/Notifyサービス

うぬぅ。Notifyウィンドウを表示させられないよぉ。 また変なところで詰まってる予感…

Systemサービスのラップ

Moonさんのアドバイスのおかげでうまくいく。 同じコードを書いていたつもりだったんだけど、 どこが違ってたんだろ? おいらのことだから また何かの勘違いなことは確実だけど。(^^;ゞ ご指摘の通りNsmIntiInfoの存在を意識しなきゃいけないのは欠陥ですは…

おれい

周辺の部分ばっか作り込んでてなかなか本題に進みませんが、 見守って下さっているみなさん、アドバイスを下さってるみなさん、 ありがとうございます。 本当はプログラマ初心者による、プラグイン作成、指導スレ で話を進めれば情報の共有も進むのでしょう…

関数ポインタ?

下のコードはコンパイルは通るけど、実行するとご迷惑をおかけするんです。 HNsmService CreateService(LPCTSTR lpServiceName, TNsmServiceProc ProcAddr) { return NsmInitInfo.CreateService(lpServiceName, ProcAddr); } Systemサービスをラップしたくて…

ファイルシステムに依存するバグ

昨日書かなかったstrrscモジュールをば。 module strrsc; import std.string; private import win32.ansi.windows; import nsmsgs.types; import nsmsgs.consts; import system; // NsmInitInfoが宣言されてるところ //------------------------------------…

_| ̄|○

今日は研究でお疲れモード。 人間疲れてるとヘンな失敗ばかりするね。 Percoll-gradientが上手く作れないよう_| ̄|○ 界面にじみまくり… これできちんと細胞が分離できるところがまた不思議だ。

[D言語][Regnessem] AddIn/StrRsc/GetLocalStrサービス

さっきのuiモジュールと同様にしてstrrscモジュールも作ってみた。 これで strrsc.GetLocalStr(MODULENAME, "UI", "Switch", r"On/Offの切り替え", buf.length, (LPBYTE)buf); みたいなかんじでロケール文字列を取得できる。調子に乗って多言語ファイルも作…

[D言語][Regnessem] 多くの人はやらないであろうバグ

module main; (略) PNsmPluginInitInfo NsmInitInfo; // TをPに変えてみた (略) extern (Windows) int Initialize(PNsmPluginInitInfo lpInitInfo) { NsmInitInfo = lpInitInfo; // *を取ってみた NsmInitInfo.CreateService(... (略) return 0; } (略) は、…

[D言語] NULL文字

文字列の最後にNULL文字を付けないといけないのにまだ慣れない…(;_;)

[D言語][Regnessem] 標準サービスのラップ

RegnessemにはUI/MessageBoxというサービスがあるけど、 こいつは構造体へのポインタを引数にとるので、 呼び出すのにいちいち手間がかかる。 なので↓みたいなのを作ってみた。 module ui; private import win32.ansi.windows; import nsmsgs.types; import …

[はてな] マンドクセー('A`)

そろそろはてなの使い方を覚えないと。スタイルシートいぢるのマンドクセー('A`) でもいつまでもこのヘンなデザインのままでほっとくのも恥ずかしい… 気が付いたらInstant Messenger Clubさんからもリンクされてるし。。。 1年半前は羨望のまなざしで見てた…

[D言語][Regnessem] AddInプラグインを作ってみる

昨日から一転今日はひまひま。 こっそり続きを作る。 さてさて、AddInプラグインのUIServiceでも登録してみよう。 ここはサービス名をUnicodeにエンコードして送らなきゃならないので、 ここのtoWCS()を使わせてもらうことにしよう。 せっかくだからyaneSDK4…

[雑記][プロ野球] 阪神負けた

完封負けかよ!

[雑記][プロ野球] alias

aliasってじっと見てると「Let's go George!!」って叫びたくなりません? え? おいらだけ? 今日もいいところでホームランを打ってくれました。 「走者を残したくなかった」なんて不敵なコメントですな。 最近じわじわ打率をあげてきて、もう「ホームランさ…

[D言語][Regnessem]

今日は遅くまで実験してたのであまりソースをいぢれず。 Moonさんが直々に教えてくださる。ありがたい。 おいら深く考えずにwin32.windows.dを使ってたけど、 ここに #deinfe UNICODE状態で作ってます。 って書いてましたね。Moonさんのようにwin32.ansi.win…