プログラミング

ブラウザ情報取得saori

巡回していて見つけた。 http://project.hacca.jp/2006/09/post_264.html 思いついた手段。 キャッシュ走査 DDE COM キャッシュ走査は力業過ぎるので論外として、やっぱりDDEですかねぇ。GetWindowInfoでタイトルもURLも取れますし。 でも、OperaとかはOpenU…

実数変換

Extendedsingle/doubleの変換関数forなでしこを投稿してきました。 Delphiでやればキャストかけるだけなんですけどねぇ。

ラジオボタン

オートラジオボタンをグループボックスの上に置くと、なぜか背景が黒になってしまう。 なんでだろう?またウィンドウスタイルの問題か? ボタンコントロールには背景色指定するメッセージはありませんよねぇ……

怒濤の更新

何か、なでしこが毎日バージョンアップしてますよ? 葵の開発が一段落したんでしょうか? 8月に報告会らしいので、追い込み期間だと思うんですけどねぇ。

なでしこVer1.40

ついに1.40になりました。 BlowFish暗号化やらGUI内部処理のUNICODE化、待望のVCLでのプログレスバー実装など。 サブクラス化の実装はまだでしょうか?

DLL関数呼び出し

●MessageBoxA(hWnd,{参照渡し}pszText,{参照渡し}pszCaption,uType,B) =DLL("user32.dll", "int MessageBoxA( HWND hWnd, // オーナーウィンドウのハンドル PCTSTR pszText, // 表示文字列 PCTSTR pszCaption, // キャプションバーの表示文字列 WORD uType, …

関数ポインタのサンプル

完成したので投稿してきました。 機械語がほとんどわからない割には、なかなかうまいこといきました。 昨日言っていたわからなかった処理は、delphiのインラインアセンブラで、一行追加してはdcuファイルをバイナリエディタで確認、を繰り返して目当ての処理…

関数ポインタの作成

VirtualAllocで実行可能領域を作って呼び出すという例の手法を使って、その領域からdnako.dllのnako_group_execを呼び出して、なでしこのスクリプトを呼び出せるようにしよう、と画策中なのですが、アセンブリの各命令がマシン語でどういったバイナリになる…

COMに関してのメモ

COMのメソッドを呼び出す時は、メソッドの引数の前にCOMへのポインタ(thisポインタ)をおく必要がある。 つまり、foo(a,b)というメソッドがある場合、foo(this,a,b)として引数を組み立てなければならない。 ……これに半年も悩んでいたのか。

なでしこVer.1.3995

既存のバグの1/4ぐらいが修正されました。 うーむ、結構致命的なバグも報告に上がっている気がするんですけど、直りませんねぇ。 やっぱり、今はなでしこより葵に時間を掛けているんでしょうね。

葵開発合宿

昨日の合宿で、葵のApacheモジュール化に成功したようですね。 これで世にも珍しいApacheのBASICモジュールが出来ました。次はなでしこの部分ですね。 ところで、葵のSVNのリポジトリ?が出来てますね。 これを使って葵の共同開発を進めるのでしょうか? ………

グループボックス・解決編

端的に言うと、WS_CLIPCHILDRENのせいでした。 子ウィンドウの描画を邪魔しないこのスタイルがあると、グループボックスの内部が描画されないようです。 ああ、"クリップ"の意味を知っていればもっと早く分かっただろうに。 で、原因が判明したので回避策と…

非同期ソケット

さて同期ソケット通信(TCP)はだいたいできたのですが、非同期になるとウィンドウメッセージを使わないといけません。 gnakoはイベント登録があるので問題ないのですが、vnakoは勝手にメッセージループを使えないのです。 VisualBasicでの手法として、Imageコ…

なでしこでソケット

図書館で猫でもわかるネットワークプログラミングを借りてきたので、それを見ながらなでしこでソケットを使うためのライブラリを書いています。 winsockの関数群は先日Delphiのwinsock.pasからエクスポートしてきたので、関数自体はすぐ使えます。ライブラリ…

特製cnakoセット

[id:kyuuzyuu9yen:20060515:1147689810] cnako.nakoの方でしたか。 それならLGPLは関係なさそうですね。 でもそうすると、なでしこの「\doc\license\NADESIKO.TXT」の(1)に該当しそうなので、この「\doc\license\NADESIKO.TXT」は同梱しておいた方が良いか…

なでしこの実数

なでしこでは実数を基本的にはExtendedで保存しています、多分。 検証コード。 ●MoveMemory({参照渡し}des,{参照渡し}src,len) =DLL("kernel32.dll", "VOID RtlMoveMemory( POINTER Destination, //移動先 POINTER Source, //移動元 DWORD Length //バイト数…

なでしこサーバー同盟

なでしこCGIが動かせるサーバーを持っている方々の同盟。 うちはそもそもサーバー持ちではないので入れませんけどね。 で、ここではApacheでcnakoを動かした時に出るらしいバグを潰したcnakoを配布しているのですが、ソースが同梱されていません。 本家で配…

グループボックスの裏の描画

何度目か知らないけれど、なでしこ(gnako)でのグループボックスの話。 グループボックスは枠の部分しかウィンドウとしての判定がないらしいので、裏に描画してもちゃんと表示されるはずなのです。 しかし、なぜかgnakoのバッファキャンバスからのBitBltでの…

なでしこVer1.3994

まだまだ続くよ、1.39x。 いくつかのバグと、プロセスに関する2つの命令が追加されました。 引数付きコンストラクタとか部品のサブクラス化とかはまだですかね。

ActiveBasic

そういえばActiveBasic開発元のDiscoverSoftさんが法人化されたようですね。 これはActiveBasicの更なる多機能化を期待しても良いんでしょうか。 ……あんまり使ってませんが。

DirectSSTP to SSSB

[id:wakaba007:20060426:1146051118] いきなりトラックバックを送ってみる。不躾ですみません。 SSSBに送れないとのことですが、自作のDirectSSTP送信ツールではSSSBで再生可能でした。 送ったテキストは以下の通り。 SEND SSTP/1.4 Sender: さくら IfGhost:…

進捗状況

とりあえず、NGCからのデータ取得、各ゴースト配布サイトからのダウンロード、アーカイブのインストールは問題なくできるようになりました。 UAの変更とプロクシの利用も出来ます。NGCへの接続には使えませんが。 あとはデータベースへの登録周りとリスト表…

言語

半年ほど前の関西オープンソースにて、クジラ飛行机さんに「言語は作らないんですか?」尋ねられた時、「考えていません」と答えましたが、ここ最近になってちょっと作ってみたいかな、とか思い始めてきました。 まあ、まともな仕様のものではなく、変わり種…

約10分

NGCからデータを落として、それを変換して、インストールデータとアーカイブを解析してデータベースに書き込んで、それらにNGCと照らし合わせてIDを振るという作業の時間。 システム時間から計測すると582564msでした。 ……長すぎ。 果たしてこれで実用に足る…

最大化無効

vnakoの最大化有効変更には何かバグがあるようです。 ファイル選択できないとか、中央移動できないとかリスト選択できないとか…… EnableMenuItemを使って無効にした時は、少なくともファイル選択は出来てたんですが、何で出来ないんでしょうねぇ? vnakoでは…

つまずき

NarCaretakerですが、ちょっと自分ではどうにもならないっぽい不具合のため、今月中の公開は無理かもしれません。 バグ報告板には書き込んできましたが……まあ今日明日中に修正版が出ることはなさそうですしね。 ……そういえば、なでしこのプラグインはLGPLな…

NGMみたいなの

NGCからデータを落として、文字コード変換して、SQLでデータベースに登録する。 この作業がだいたい2分弱(1.8GHz・512MB・1.5Mbps)。使用メモリ量、物理45MB、仮想35MBくらい。 ちょっと遅い&重い。 どうにか1分半程度まで早くできないものか。 あと、これ…

メモ

まあ、考えたら当然のことかもしれないけれど。 なでしこで、{参照渡し}がついている引数に「それ」を渡して、関数の中で「それ」を変更すると引数の内容が消える、というか「それ」に引きずられる。

関数の接頭語

なでしこでSQLITEを扱いやすくするためのライブラリを書いていて思ったんですが、なでしこはネームスペースを使えるんだから別に頭に「SQLITE」ってつける必要な無いなぁ、と。 でも、システム関数のSQLITE関連命令には接頭語「SQLITE」がついてますし、統一…

配列

なでしこで文字列のみからなる配列は簡単に作ることが出来る。 「あいう,ABC,XYZ」を「,」で区切る しかし、整数や実数を含む配列はちょっとめんどくさい。 Aとは配列 Aに10を配列追加 Aに3.14を配列追加 Aに「あいう」を配列追加 これをどうにかRubyみたい…