studio Odyssey



スタジオ日誌

日誌的なもの

2012.05.06

げー、二年前かぁ

Written by
しゃちょ
Category
C#
TRPG
プログラム
Tags

 ちょこ@DXをちょっと直したけど、初めてこれがこのブログに出たのって、2年も前なのね。

 もう、バージョンアップだろ。つーか、IRC周りとか、チョコアでなくて、SmartIRC.netとかで実装すればいいじゃんっていう気もする。面倒だからしないけど。

 つーか、コード汚いし、バグだらけだし。

 これって、確か、DataGridで並び替えとか、ドラッグアンドドロップとかのテストのために作ったんだよなー。仕事の技術検証のついで。フレームワークも2.0だから、Func<T>ないし。今なら、ラムダ式で書いちゃうよっていうのが散見される。まー、何も考えずに書いたしなー。

 ちょっと直したコードとexeは、ブログのどっかにある。exe持ってく時は、上書きする前に、dxdb.mdfをどっかに待避しておいてください。戻せば、データ消えないよ。

 まぁ、別に自分はこれで困らないので、困ったらその時考える。それこそ、HTML5で書いた方が、タブレットで使えていいよね。あ、IRC連動どうすんだ...普通には、socket通信できねーだろ。結局何かコンポーネント必要になるなら、作るのめんどくせぇし、いらねーや。

2011.12.31

 「C#でMix-inってできねーの?」と言われた。

 C#は、多重継承とか、Mix-inみてーな事はできねー言語なんだよ!言語作成者がそういう事やらせたくないって思ってるからな!

 なんだよ、つかえねー!と思われると嫌なので、「Mix-inっぽいことなら出来る」と答えておいた。ぽいことは出来る。C#3.0以降になっちゃうけど、そろそろ、新規でC#2.0の仕事はないだろ。

 というわけで、C#でMix-inぽいことに挑戦してみた。というのも、「できる」とは知っていても、使ったことがなかったから。だって、必要になったことないもん!

続きを読む <「C#でMix-inってできねーの?」と言われた>

 .netプログラミングの話。

 ToolStripControlHostの中に入れたButtonのアクセラレーターキーは、ToolStripに入っていると、フォーカスのあるコントロールのValidating等のイベントが起こらない。

 考えてみれば当たり前なのだが、マウスクリックだとフォーカス移動が発生するので、起こるんだよねー。なかなか気づかない。

 どうすればいいのかというと、

protected override bool ProcessMnemonic(char charCode)
{
   if (this.CausesValidation && System.Windows.Forms.Control.IsMnemonic(charCode, this.Text))
   {
      this._defaultButton.PerformClick();
      return true;
   }
   return base.ProcessMnemonic(charCode);
}

 こんな感じに、ProcessMnemonicをオーバーライドして、処理してあげればいい。_defaultButtonは、ホストされているコントロールね。

 PerformClickも同様なので、必要であればnew で再定義して、同じようにホストされている側を直接呼んであげればいい。

 なかなか気づかないよなー。普通のボタンなら、ちゃんと起こるし。

2010.07.28

 非バインドのDataGridViewで、普通にAddしていくと、すげー遅いんで、なんとか描画を止めて追加とか出来ないかなぁと思っていろいろ探していたんだが、あんまりいい方法がない。

 初心に返って、RowsのAddRangeで追加すればいいのだが、これが、params DataGridViewRow[] なんだよね。

 どうやって、DataGridViewのカラムの状態を作るのかわからなかったのだが、ちょっと調べてみると、DataGridViewRowに、CreateCellsというメソッドが。

 引数にはDataGridViewを取るんだけど、これで、カラムの状態がコピーされるのね。Alternateもちゃんと行くし、これでAddRangeで追加すれば、かなり高速。

 以下、コード。こんな書き方しないだろうけどね。

続きを読む <非バインドのDataGridViewで高速に行を追加する>

2010.07.20

ちょこ@DX

Written by
しゃちょ
Category
C#
TRPG
Tags

 フィードバック部分の修正をしました。(ChocoatDX

 以下、修正されていないです。

 

続きを読む <ちょこ@DX>

2010.07.06

ちょこ@DX3をちまちまと

Written by
しゃちょ
Category
C#
TRPG
Tags

chocoatdx3_1.gifちょこ@DX3をバージョンアップ。

これで、エフェクトのコンボ周りも使えるようになったので、だいたい、機能的に使えるかなぁ。

利用可能なexeはここ。 ChocoatDX.zip

ソースコードは、相変わらず、ブログのどっかにあるよ。(トラックバック飛ばしている先にある)

まぁ、説明はないけど、見ればだいたいわかるんじゃないかなぁと思う。

実際、これでまだセッションしてないので、実際にセッションしてみないと、使い勝手がいいのかどうかはわからないけれど。

2010.06.22

UPnPサンプル

Written by
しゃちょ
Category
C#

ごく一部から、ちょこ@DCC Sendの、UPnPの部分、まぁ、ポートを開く部分ですが、ここのコードの解説をして欲しいという話があったので、UPnPのコードの話です。

 キーワード的には、C#、ポート、開く、とかポートマッピングとかかなぁ。

 まふ、C#のプログラムに興味のない方は回れ右。とりあえずコードだけあればいいよと言う人はこちら。(UPnPSample.zip)

それ以外の方は、続きを読む。

続きを読む <UPnPサンプル>

2010.06.05

ちょこ@DX

Written by
しゃちょ
Category
C#
TRPG
Tags

chocoatdx.gifっていうかですね、そもそもちょこ@は、CHOCOAとの連動とか、UPnPのテストとか、NAT変換の実装とか、そんな事のために作ったんじゃないわけですよ。

ダブルクロス3rdで、オンラインセッションして遊ぶときに、ダイスの数を数えられない女がいるから、そのサポートツールを作りたかっただけなんですよ。

オイ、誰だ、「また、計算できない女か」とか言った奴は!そこに直れ!ごめんなさい。

続きを読む <ちょこ@DX>

2010.06.01

ちょこ@DX

Written by
しゃちょ
Category
C#
TRPG
Tags

 DX用のちょこ@拡張に機能追加というか、それっぽく動くようにしました。

 だいたいいいかな。

 あとはコンボデータとセーブと、細かい調整だけど、面倒だなぁ、この辺。セーブは、SQL Server Compactにするかも。仕事で使いそうなので、テストもかねて。

 ソースコードは上げ直したので、ブログのどっかにあるよ。

2010.05.17

ちょこ@ DCC Send

Written by
しゃちょ
Category
C#
TRPG
プログラム

ChocoatDCC.gifCHOCOAは、古いアプリケーションなので、今時代の環境だと、ファイルが送信出来なかったりするわけです。

とはいえ、CHOCOAにはNAT機能が存在するので、ファイヤーウォールに適切にポートマッピングを追加してあげて、設定すれば、送れます。

でもね、コンピューターわかんない人には、わかんない訳ですよ。

なので、ちょこ@の拡張機能の一つとして、UPnPを使ってポートマッピングを追加して、CHOCOAのNAT変換を設定してくれるアプリを作りました。

これで、今までCHOCOAでファイル転送出来なかった人も出来るようになります。メッセンジャーでファイル送れないーって人には、これでも無理なんだけど、今時のファイヤーウォールなら行けるんじゃないかなぁ。

バイナリ(exe)はここ。 Chocoat.DccSupport.zip

詳しい使い方は、

続きを読む <ちょこ@ DCC Send>

1  2